Java

オブジェクト指向プログラミング言語

Java[6]19962010Java
Java
パラダイム オブジェクト指向, コンポーネントベース, リフレクティブ, ジェネリック, 関数型, 並行プログラミング
登場時期 1995年5月23日α版
1995年秋β版
1996年1月23日ver1.0
設計者 Java Community Process
開発者 サン・マイクロシステムズオラクル ウィキデータを編集
最新リリース Java Standard Edition 22.0.1/ 2024年4月16日 (3か月前) (2024-04-16)
型付け 強い静的型付け
主な処理系 Javaプラットフォーム
影響を受けた言語 C++, Ada[1], Eiffel[2], Mesa[3], Modula-3[4], Objective-C[5]
影響を与えた言語 C#, D, Dart, Groovy, Scala, Kotlin, Ceylon
プラットフォーム Solaris, Linux, Windows,
macOS, AIX, System i
ライセンス GNU General Public LicenseJava Community Process
ウェブサイト www.oracle.com/java/ ウィキデータを編集
拡張子 java、class、jar
テンプレートを表示

カテゴリ / テンプレート


JavaC++JavaJavaJavaJava[7]write once, run anywhere[8]

2019GitHub[9]Java/Web使1[9]900[10]20239Java 2120219Java 17LTS[11]

Javaの特徴

編集

[12]

Java reduces costs, shortens developer timeframes, drives innovation, and improves application services as the programming language of choice for enterprise architecture, finance, and HR. Java is used in many industries including manufacturing, automotive, insurance, and public sector.
JavaHR Java使

3Java200Java使250Java Card[12]

Javaの構文

編集

JavaC++調CJava

JavaJDK 1.1JavaBeans/JavaRMI/CORBAAPIJ2SE 5.0/APIJava SE 7APIJava SE 8//API2014Java 8JavaJava

オブジェクト指向

編集

Java[13]Java1Java

 (private, package, protected, public) privatepackageprotectedpublic1Javapackage便

JavaObjectObject

virtualinstanceof

プラットフォーム非依存

編集

JavaWrite once, run anywhereJava

(一)JavaJavaJavaJavaJavaJavaJava

(二)JavaJavaJava

(三)JavaJavaJavaJava

JavaJava (dynamic recompilation) JavaJava

マルチスレッド

編集

JavaAPI/API

JavaJavaObjectJavasynchronizedJavasynchronizedThissynchronizedsynchronized()

API

ガベージコレクション

編集

JavaJavaJava

Java使

分散コンピューティング

編集

JavaCORBAJavaRMI

CORBAJavaRMIRMICORBARMI over IIOPCORBAIIOPRMIJRMPAPIJakarta EEEJB (Enterprise JavaBeans) 

EJBEJBEJBIIOPJRMP使JNDI

EJBWEBEJBWEB使WEBJSPJava Server PagesWEBHTTPWEBWEBWEBJSPWEBWEBEJBJBossWebSphereEJBWEBWEBApache Tomcat

セキュリティ

編集

JavaJavadistributedJavaJavaJava







調



applet


Javaの歴史

編集

誕生の経緯

編集

199012
 

Java199012

OakGreen OS1991

C++C++C++C++Green OS

MesaCC++FurtherC++C++ ++ --1991OakJava

退1992 - 19945
 
JavaDukewith BSD

1992Green OSOak (PDA)199293Star7PDAOakStar7Duke

1992113DOOak

1994619949

199463NCSA MosaicOakWebRunnerOakWebRunner

Java19941019961
 
HotJava

1994OakJavaWebRunnerHotJavaGreen OSJava Runtime EnvironmentOakJavaBeanJava

199410JavaHotJava19955523SunJavaHotJavaJavaNetscape NavigatorJava1995199619JavaJava123JDK 1.0

バージョン履歴

編集
バージョン リリース日
JDK Beta 1995年
JDK1.0 1996年1月23日[14]
JDK 1.1 1997年2月19日
J2SE 1.2 1998年12月8日
J2SE 1.3 2000年5月8日
J2SE 1.4 2002年2月6日
J2SE 5.0 2004年9月30日
Java SE 6 2006年12月11日
Java SE 7 2011年7月28日
Java SE 8 2014年3月18日
Java SE 9 2017年9月21日
Java SE 10 2018年3月20日
Java SE 11 2018年9月25日[15]
Java SE 12 2019年3月19日
Java SE 13 2019年9月17日
Java SE 14 2020年3月17日
Java SE 15 2020年9月15日[16]
Java SE 16 2021年3月16日
Java SE 17 2021年9月14日[17]
Java SE 18 2022年3月22日[18]
Java SE 19 2022年9月20日[19]
Java SE 20 2023年3月21日[20]
Java SE 21 2023年9月19日[21]
Java SE 22 2024年3月19日[22]

Javaプログラミング例

編集

Hello World

編集
// Hello.java
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

Javaclass

Javapublic static void main (String[] args)args

System.outSystemoutoutPrintStreamout.println("")outprintln

Javaプラットフォーム

編集

Javaプラットフォーム (Java Platform) は、Javaプログラムを開発または実行する為のソフトウェア群の総称である。Javaプラットフォームは対象環境に合わせて、Java実行環境およびJava開発環境の構成内容と、Javaテクノロジの追加内容を変えたエディションに編集されて公開されている。Javaテクノロジは権利元ベンダーだけでなくサードパーティー側からも提供されており、その標準化はJavaコミュニティプロセス (JCP) が管理している。Java実行環境とJava開発環境はオープンソース化されているので各企業、各団体、開発者各自が営利または非営利で様々なソフトウェアと関連技術を公開しており、巨大なITエコシステムを構築している。

エディション

編集

2019JavaJava4JavaJavaAPIJavaJDK 1.1J2SE 1.23J2SE 5.0Java Card4

Java Platform, Standard Edition (Java SE)

WEB

Java Platform, Enterprise Edition (Java EE) / Jakarta EE

WEB&API

20179Java EE[23][24]Java EEJakarta EE[25]

Java Platform, Micro Edition (Java ME)

&APIJava

Java Card

IC[?]SIMATMJava

Java実行環境 (JRE)

編集

Java (Java Runtime Environment; JRE) JavaJava''Java.exe''JavaJavaJava使JavaJavaJavaJava

Java

JavaJavaJavaJava API

(一) - Java

(二) - 

(三) - 

(四) - 

(五) - 

(六) - 

(七)GUI - 

(八) - 

(九)Java - 

(十) - SQL

(11) - 

(12) - 

Java

JavaJavaJava

Java (application)

JavaJava Web Startjnlpjava network launching protocolJavaClickOnce

Java (applet)

WEBJavaJava[?]

Java CardICJava

Java (servlet)

JavaWEBHTMLWEBPerlCGI

Java (server page)

WEBXHTML (HTML) JavaWEBWEBJavaScriptActive Server PagesPHP

Java開発キット (JDK)

編集

Java (Java Development Kit) JavaJavaJavaJava APIAPIJava

J2SE 1.2.2_004 JDK (Java Development Kit) 

J2SE 1.4 Java2 SDK (Java2 Software Development Kit) 

J2SE 5.0 JDK (Java Development Kit) 

JavaSE 7  Java SDK (Java Software Development Kit)  JDK (Java Development Kit)JDKSDKSDK

Java API

APIJavaAPI沿 (package) javajavaxorgcom

(一)java.lang - Java

(二)java.io - 

(三)java.util - 

(四)java.math - 

(五)java.text - 

(六)java.net - 

(七)java.awt - 

(八)java.applet - 

(九)java.beans - 

(十)java.sql - SQL

(11)java.rmi - 

(12)java.security - 



 (IDE)JDKJDKIDE使JavaIDE

NetBeans - IDENetBeans.org NetBeans.jp

Eclipse SDK - IBMEclipseIDEJavaIDEWebSphere StudioJBuilderIDEeclipse.org EclipseWiki

WebSphere Studio -IBMIDEEclipse[26]WebSphere

IBM Rational - (IBM) RationalIDEWebSphere Studio

JBuilder - IDEJBuilder2007EclipseJBuilder

Oracle JDeveloper - Oracle Application Server2005628JDeveloper

Oracle Workshop for WebLogic - BEAWebLogicOracle Workshop

BlueJ - IDEBlueJ

IntelliJ IDEA - (JetBrains) IDEAndroid StudioIntelliJ IDEA

JCreator - (Xinox Software) IDEJCreator

Xcode - ApplemacOSIDE



Apache Ant - JavaApachejarjavadoc///make XMLJava 使

Apache Maven - JavaApache

Gradle - Apache AntApache Maven

JUnit - JavaxUnit

Javaテクノロジの数々

編集

JavaJava Community Process (JCP) Java (standardization) JavaJCPJava (Java Specification Request) Java

JNI (Java Native Interface)



JMI (Java Metadata Interface)

Java

JML (Java Modeling Language)

 (DbC) 

JMX (Java Management Extensions)

Java

JDMK (Java Dynamic Management Kit)

JMX

JDO (Java Data Objects)



Jini



JavaSpaces

Jini

JAIN (Java API for Integrated Networks)

API

JSF (Java Server Faces)

WEB

JXTA

P2P

OSGi



Java3D

3APIJava 3D

JOGL (Java OpenGL)

OpenGL使3DAPI

JAI (Java Advanced Imaging)

API

LWJGL

APIOpenGL, OpenAL, OpenCL

JSML (Java Speech Markup Language)



Blu-ray Disc Java

 (BD) 

Javaオープンソースモデル

編集

1996JavaJavaJavaJava2004IBMJavaJavaIBM2007Java SE 6OpenJDKGNU[27]OpenJDKGNUGNU Interpreter for JavaGNUGNU Compiler for JavaGNU ClasspathWindowsGNU CompilerMinGWCygwin

WindowsLinuxOSIBMBlackdownGNUKaffe.orgJavaJavaWinExcelsior JET[28]JarWinexewrapLaunch4jNSISJSmooth

Java認定資格

編集
 
認定パス

[1]JavaJava14
現在受験可能な資格[29][30][31][32]
資格名 レベル 対象バージョン
Java Foundations Certified Junior Associate Junior Associate 不明
Oracle Certified Java Programmer, Bronze SE 7/8[注釈 2] Bronze Java SE 7/8
Oracle Certified Java Programmer, Silver SE 8[注釈 3] Associate Java SE 8
Oracle Certified Java Programmer, Gold SE 8[注釈 4] Professional Java SE 8
Oracle Certified Professional, Java EE 7 Application Developer Professional Java EE 7
Oracle Certified Master, Java EE 6 Enterprise Architect Master Java EE 6
Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer Expert Java EE 6
Oracle Certified Expert, Java EE 6 JavaServer Faces Developer Expert Java EE 6
Oracle Certified Expert, Java EE 6 Web Services Developer Expert Java EE 6
Oracle Certified Expert, Java EE 6 Java Persistence API Developer Expert Java EE 6
Oracle Certified Expert, Java EE 6 Web Component Developer Expert Java EE 6

注釈

編集


(一)^ 

(二)^ [33]

(三)^  Oracle Certified Associate, Java SE 8 Programmer 

(四)^  Oracle Certified Professional, Java SE 8 Programmer 

出典

編集


(一)^ Chaudhary, Harry H. (2014728). Cracking The Java Programming Interview :: 2000+ Java Interview Que/Ans. 2016529

(二)^ The Java Language Environment (19965). 201456201456

(三)^ The Java Language Specification, 2nd Edition. 201185200828

(四)^ The A-Z of Programming Languages: Modula-3. Computerworld.com.au. 200915201069

(五)^ Patrick Naughton cites Objective-C as a strong influence on the design of the Java programming language, stating that notable direct derivatives include Java interfaces (derived from Objective-C's protocol) and primitive wrapper classes. [1] Java Was Strongly Influenced by Objective-C - 2011713

(六)^ What is Java and why do I need it? (). 20191

(七)^ 1.2 Design Goals of the Java Programming Language.  (199911). 20131232013114

(八)^ Write once, run anywhere?. Computer Weekly (200252). 2009727

(九)^ abChan (2019122). The 10 most popular programming languages, according to the 'Facebook for programmers'. Business Insider. 20196292019629

(十)^ JavaOne 2013 Review: Java Takes on the Internet of Things. www.oracle.com. 20164192016619

(11)^ Why should I uninstall older versions of Java from my system?. . 201699

(12)^ abJava Software | . www.oracle.com. 20191019

(13)^  

(14)^ JAVASOFT SHIPS JAVA 1.0. sun.com. 2007310200825

(15)^ Chander, Sharat. Introducing Java SE 11. oracle.com. 20189262018926

(16)^ The Arrival of Java 15!. Oracle (2020915). 2020915

(17)^ Java 17. Oracle (2021917). 2021930

(18)^ Java 18. Oracle (2022322). 2022323

(19)^ Java 19. Oracle (2022921). 2022921

(20)^ Java 20. Oracle (2023322). 2022323

(21)^ Java 21. Oracle (2023919). 2023921

(22)^ Java 22. Oracle (2024321). 2024323

(23)^ Opening Up Java EE - An Update ().  (2017912). 2019310

(24)^ EE4JEclipseJava EE. InfoQ (20171116). 2019310

(25)^ Java EE  Jakarta EE . InfoQ (201835). 2019310

(26)^  BP Java (20031031). EclipseWebSphere Studio |  xTECH.  xTECH. Nikkei Business Publications, Inc.. 20191117

(27)^ Sun Microsystems, Inc (200758). Sun Fulfills Promise of Open and Free Java Technology and Releases Java SE Platform to OpenJDK Community. 2009916

(28)^ http://www.excelsior-usa.com/jet.html

(29)^  Java SE  . 201937

(30)^  Java EE and Web Services  . 201937

(31)^ Java Foundations Certified Junior Associate (novice-level certification). 2019310

(32)^ . 201937

(33)^ JavaBronzeSilverGold. 201937

参考文献

編集

関連項目

編集

外部リンク

編集

オラクル・JCP関連

技術情報