java: вчера, сегодня, завтра
Post on 11-Apr-2017
86 Views
Preview:
TRANSCRIPT
Java
, ,
- -
27 2017
monday
Java
,
Java
Java, , -
Sun Microsystems, 1991
Greentalk Oak Java
.
: 1995-
: 1996-
C++,
, ? ,
== +1 JVM
C++
, , ,
Pascal, UNIX
Web HotJava
Java Netscape
Write Once, Run Anywhere
Java (.java)JAVAC- (.class)
JVMJVM
WindowsLinuxMac
JVM
:- . Windows Linux.
, .
: . - , JIT-.
,
JVM 20 : Groovy, Clojure, Scala, Kotlin, JRuby, Jython, ...
JVM: Windows, Linux, Mac OS, 7- Solaris
2000-, Symbian
Blue-ray
, Android - Dalvik - Android Runtime
.
, -, , .
, .
Java
-
Java
, , goto, struct union.
,
, C++
. , .
- . . , Java main() . .
- Java 8.
,
Java :
Java . Internet, .
Java . , .
:
, = ==, & &&,
Java JVM .
:. .
:
90-
Java (.java)JAVAC- (.class)
JVMJVM
WindowsLinuxMac
JVM
Java : Windows, Linux, Mac OS . .1 == 1 JVM
Java .
- ,
, , , , .
,
* ,
JVM.,
Java - .
, .
Java , -, JVM.
Java .
- Java , . , JIT
.
.
Java - .
Java , , - .
Java : 23 1996- , Oak JDK 1.0.2 == Java 1
Oak Java?
(+ Java 5)
assert (+ Java 1.4)
: C++
. private
notnull
JDK 1.119.02.1997 AWT
JavaBeans
JDBC
( )
JIT (Just In Time) Windows
SQL
J2SE 1.2 (Playground)08.12.1998
Java 3 . :Java 2 Platform, Standard Edition
AWT Swing
Java 2D
Drag-and-Drop
Unicode
strictfp
J2SE 1.3 (Kestrel)08.05.2000
HotSpot
JavaSound
Java Naming and Directory Interface (JNDI)
StrictMath
Timer API
J2SE 1.4 (Merlin)06.02.2002
assert
IPv6
NIO
Logging API
Image I/O API
XML XSLT
: JCE, JSSE, JAAS
Java Web Start
Preferences API (java.util.prefs)
: Collections, RandomAccess, LinkedHashMap IdentityHashMap
J2SE 5.0 (Tiger)30.09.2004
(enum)
foreach
javadoc
ProcessBuilder
-
Formatter, Scanner
: Queue, BlockingQueue, ConcurrentMap , CopyOnWriteArrayList, CopyOnWriteArraySet, EnumSet, EnumMap, Collections
Java SE 6 (Mustang)11.12.2006
(JSR 223)
Swing Java . 70%, - .
Swing OpenGL DirectX, GIF
JAX-WS - Java API for XML Web Services
Java Compiler API
Java HTTP Server
JAXB 2.0 StAX
: Deque, BlockingDeque, NavigableSet, NavigableMap, ConcurrentNavigableMap , Collections
Java SE 7 (Dolphin)28.07.2011
JVM
switch
(try--)
, Fork/Join Framework
NIO 2.0
JavaFX
XRender Java 2D
JVM Solaris
: TransferQueue, -
Java SE 818.03.2014
-
JavaScript
Date and Time API
/ Base64
JavaFX
JVM: Permanent Generation
, .
Java SE 9 2017
JSR 376: JDK ( Jigsaw)
JEP 222: jshell: Java REPL
JEP 295: Graal
JEP 268: XML-
HTTP- HTTP 2.0, -
Process API -Java
JEP 266: -
OpenCL
Java SE 10
, 64- .
JSR 354: Money and Currency API
( Java 9)
Java
J2SE Java .
Java SE Java: , API, JRE; .
Java EE .
Java ME , , ,
Java Card , - .
Java
PYPL Google . Java , Python.
GitHub
- GitHub , 2008- . JavaScript Java.
Code Eval
Code Eval , 2016- , Python Java.
TIOBE
, . TIOBE , (+" programming"). , 2001- . Java C , , .
Indeed.com
, , Java :
Indeed.com
:
: Java, JavaScript, C#
, : Java, C#, JavaScript
, .
Java , , . , Desktop , , : Eclipse, IntelliJ Idea, NetBeans, , - Minecraft. , , .
Java?
: -, back-end, , , Desktop-. , , Big Data, , , Android'. . , Java , , , , Oracle , .
Oracle
, , , Java ! Java 97%
Java 89%
9 Java
1
1
Java 3
Java 100% Blu-ray
5 Java Card
Java 125 -
5 5 Java ME
Java
, , Java - . , , - . :
Java -
() , Java 5 , .
public class Box { private Object object; public void set(Object object) { this.object = object; } public Object get() { return object; }}
:
public class Box { private T t; public void set(T t) { this.t = t; } public T get() { return t; }}
Java -
, . . . , , :
public void set(T t) { if (item instanceof E) { ... } E item2 = new E(); E[] iArray = new E[10];}
. , , Java C# .
Java -
, , , .
Java , , . Java 8 - - ( ), , . , .
Java - JVM
, .
JVM . , , .
Java - JVM
. , , , , . Java , .
Java
, byte, . byte 0 255, Java.
HEX-, , , , , - int, 4 , , , -128 127. Java 8 , - . :
Byte.toUnsignedInt()Integer.compareUnsigned()Integer.parseUnsignedInt()
, . Java - .
Java
strictfp IEEE 754 - .
, . , , C# .
Java
- , , .
. , , .
.
Java
C++ C# -, , , . , , , . , .
HashMap, HashMap.Entry. Java Entry, , , . - , .
Java
. Java int .
2
2
. 2 .
2 .
Java
. Java , , . # .
. -, -, , . 64 "Error: code too large". Java 64 .
.
Java
Java , . . , . -, .
Java
Java , , 100% .
, .
Java
Java , , , . JVM, .
Java , , 1.3 Just in Time , , Java - .
Java
Java , - , .
, , , , JVM .
Java
- Java JVM. , , , , , .
2010, . , , Java, , Java , . Flash . , .
Java
Java . , Java 7 Java 6, .
, Java , .
Java
, , , , , .
, :
Java Jar Hell
JVM ( + ).
, , , . , , , , . , . , Java 9 Jigsaw, , .
Java
Java . , 100%. , , , , . , .
Swing PRESSED/RELEASED
Java
Java, . , , , Java .
, , , . , . try-catch, RuntimeException. , , :
InputStream in = null; OutputStream out = null; try { in = new FileInputStream(inputFileName); out = new FileOutputStream(outputFileName); copy(in, out); } catch (IOException e) { e.printStackTrace(); } finally { close(in); close(out); }
public static void close(Closeable c) { if (c == null) return; try { c.close(); } catch (IOException e) { //log the exception } }
Java
. .
Java , . Streams API Java 8 .
Java Java , , 20 Java, . , , Java .
Maven.
JUnit JUnit. ( ) . , . Java . 1.4 assert, , . : Mockito 11- ,
TestNG 21-. : EasyMock, Hamcrest,
FindBugs, AssertJ PowerMock.
: SLF4J, Log4j Logback. Java java.util.logging, . Commons Logging .
Google Guava Apache Commons - , Java . , Google , , , . , . Java . Plexus.
, .
Java , , , - Joda Time. Oracle , Java 8 Date Time API Joda Time, . 2016- , Java 8 60% , , , Joda Time, , .
JSON . Jackson, , , Google Gson. , Google , .
org.json .
Java EE 7 javax.json, , , .
Spring Framework - CV Java. Enterprise Sun, , Enterprise JavaBeans. , Sun/Oracle , EJB . , Spring. , , , - , , , MVC, , , , , -.
Spring -, Spring MVC Spring Boot
:
, Spring :
Google GuiceGoogle Guice .
, , Spring, , .
, Dagger, , Google. .
OSGiOSGi (Open Services Gateway Initiative) - Java-. , . .
Java , JDBC, SQL . , , , . Hibernate.
Hibernate - . POJO ( Java-).
NoSQL , .
Java, , .
Java . , .
Java ME Embedded
Google Android Java Go Dart, OpenJDK.
? - , ? - Java- . - , JS C#.
, , - .
, .
http://pypl.github.io/PYPL.html
http://githut.info/
https://github.com/blog/2047-language-trends-on-github
http://blog.codeeval.com/codeevalblog/2016/2/2/most-popular-coding-languages-of-2016
https://www.indeed.com/jobtrends/q-java-q-python-q-javascript-q-ruby-q-php-q-android-q-C.html
https://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/
https://mvnrepository.com/popular
https://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/
!! :)
top related