Oracle对Jdk7与Jre7的关系的经典图解。(关于Java开发工具包与Java运行环境)

时间:2023-01-20 17:42:49

Title:Java Platform Standard Edition 7 Documentation
Site:http://download.oracle.com/javase/7/docs/
Content:

Oracle has two products that implement Java Platform Standard Edition(Java SE)7:Java SE

Development Kit(JDK)7 and Java SE Runtime Environment(JRE)7.

JDK 7 is a superset of JRE 7,and contains everything that is in JRE 7,plus tools such as

the compilers and debuggers necessary for developing applets and applications.JRE 7

provides the libraries,the Java Virtual Machine(JVM),and other components to run applets

and applications written in the java programming language.

 

总结一下子,就是Java平台分为三个,java se标准平台。java ee企业平台。java me移动平台。。

Oracle甲骨文公司提供了两个工具来实现java se平台。分别是JDK 7 和JRE 7。 一台机子,要想运行Java程序,只需要有JRE (即java runtime environment,Java运行环境)就可以了。但是,如果要进行开发,就得用JDK啦。因为,JDK 是不仅包含了JRE所有的东西。而且,还包含了开发工具,调试工具等等。。。那么,具体内容就是等看下面那个图表了。非常详细的描述了JDK与JRE的结构性质上的差别与联系。是Java SE的框架之图片呀。 

那么,这里主要就是介绍基础性的东东。所以,这里是java se的就是基础平台的啦。生活实际中,用的更多的是java ee平台。去做企业开发的了啊。java se平台是学好java的重中之重,是基本的了,故得掌握之。

 


The following conceptual diagram illustrates Java component techonologies:

 

 
 
JDK   Java Language
Java Language
  Tools &
Tool APIs
java javac javadoc jar javap JPDA JConsole Java VisualVM Java DB
Security Int'l RMI IDL Deploy Monitoring Troubleshoot Scripting JVM TI
JRE RIAs
  Java Web Start Applet / Java Plug-in
User Interface
Toolkits
AWT Swing Java 2D
Accessibility Drag n Drop Input Methods Image I/O Print Service Sound
  Java SE
API
Integration
Libraries
IDL JDBC JNDI RMI RMI-IIOP Scripting
Other Base
Libraries
Beans Int'l Support Input/Output JMX JNI Math
Networking Override Mechanism Security Serialization Extension Mechanism XML JAXP
lang and util
Base Libraries
lang and util Collections Concurrency Utilities JAR Logging Management
Preferences API Ref Objects Reflection Regular Expressions Versioning Zip Instrumentation
Java Virtual
Machine
Java HotSpot Client and Server VM

观察这个图片:

 

 

What's New  in Documentation

   Documentation is regularly  updated to provide developers with in-depth information about new features in the java platform.Some recent updates include:

 Swing

1)The JLayer class has been added,which is a flexible and powerful decorator for Swing components;see How to Decorate Components with JLayer.

 2)The Nimbus Look and Feel has been moved from the com.sun.java.swing package to the javax.swing package;see the javax.swing.plaf.nimbus package.

3)Mixing Heavyweight and Lightweight Components is easier to accomplish.

4)Windows with transparency and nonrectangular shape  are supported;see How to Create Translucent and Shaped Windows

5)An HSV tab has been added to the JColorChooser class.

 Java I/O

1)The java.nio.file package and its related package, java.nio.file.attribute ,provide comprehensive

support for file I/O and for accessing the file system;see File I/O(featuring NIO.2).NIO stands for non-blocking I/0.

      A)The directory <Java home>/sample/nio/chatserver/  contains samples that demonstrate the new APIs contained  in the java.nio.file package.

      B)The directory <Java home> /demo/nio/zipfs/ contains samples that demonstrate the NIO.2 NFS(Network File System) file system.

Networking

1)The URLClassLoader.close method has been added;see Closing a URL ClassLoader

2)The Sockets Direct Protocol(SDP) provides access to high performance network connections;see Understanding the Sockets Direct Protocol.

 

Security

1)A new native provider has been added that provides several ECC-based algorithms(ECDSA/ECDH); see Sun PKCS#11 Provider's Supported Algorithms in Java PKCS#11 Reference Guide.

2)Weak cryptographic algorithms can now be disabled; see Appendix D:Disabling Cryptographic Algorithms in Java PKI Programmer's Guide and Disabled Cryptographic Algorithms in Java Secure Socket Extension(JSSE) Reference Guide.

3)Various enhancements related to SSL/TLS have been added to Java Secure Socket Extension.

 

Collections

1)The TransferQueue interface has been added,which is a refinement of the BlockingQueue interface.The class LinkedTransferQueue implements the TransferQueue interface.

 

Concurrency

1)The fork/join framework ,which is based on the ForkJoinPool class,is an implementation  of the   Executor interface.It is designed to efficiently run a large number of tasks using a pool of worker threads.A work-stealing technique is used to keep all the worker threads busy,to take full advantage of multiple processors.See Fork/Join in the Java Tutorials. 

    a)The directory <Java home>/sample/forkjoin/ contains samples that demonstrate the frok/join framework.

2) The ThreadLocalRandom class eliminates contention among threads using pseudo-random numbers;see Concurrent Random Numbers.

3)The Phaser class is a new synchronization barrier , similar to CyclicBarrier.

 

Rich Internet Application(RIA) and Deployment

1)The window of a dragged applet can be decorated with a default or custom title;

see Requesting and Customizing Applet Decoration in Draggable Applets.

2)The following enhancements have been made to the syntax of JNLP files;see JNLP File Syntax:

    a)The os attribute in the information and  resources elements can now contain specific versions  of Windows,such as Windows Vista or Windows 7.

    b)Applications can use the install attribute in the shortcut element to specify their their desire to be installed.Installed applications are not removed when the Java Web Start cache is cleared,but can be explicitly removed  using the Java Control Panel.

     c)Java Web Start applications can be deployed without specifying the codebase attribute;see  Deploying Without Codebase

     d)A JNLP file can be embedded into an HTML page;see Embedding JNLP File in Applet Tag.

    e)You can check the status variable of the applet while it is loading to determine if the applet is ready to handle requests from JavaScript code;see  Handling Initialization Status With Event Handlers.

     f)You now have control of the window decoration style and title of an applet launched from a shortcut  or dragged out of  the browser;see Requesting and  Customizing Applet Decoration  in Developing Draggable Applets.

 

Java 2D

1)A new XRender-based Java 2D rendering pipeline is supported for modern X11-based desktops,offering improved graphics performance;see the xrender flag in System Properties for Java 2D Technology.

2)The JDK now enumerates and displays installed OpenType/CFF fonts through methods such as

GraphicsEnvironment.getAvailableFontFamilyNames;

these fonts are also recognized by the Font.createFont method.See Selecting a Font.

3)The Textlayout class supports * script

4)libfontconfig ,a font configuration API,is used to select fonts  to  use for the logical fonts for some implementations of Linux;see FontConfig.

 

Java XML

1)This release contains Java API for XML Processing (JAXP) 1.4.5 ,supports Java Architecture for XML Binding(JAXB)2.2.3,and supports Java API for XML Web Services(JAX-WS)2.2.4

 

Internationalization

1)Unicode 6.0.0 is supported;see Unicode in The Java Tutorials.

     a)The directory <Java home>/demo/jfc/Font2DTest/  contains samples that demonstrate Java support for Unicode 6.0

     b)Java SE 7 can accommodate new currencies that are identified  by their ISO 4217 codes;see the Currency class.

 

java.lang Package

Potential deadlocks were eliminated for multithreaded ,non-hierarchically delegating custom class  loaders;see Multithreaded  Custom Class Loaders in Java SE7.

 

Java Programming Language

 1)The following enhancements have been added to the Java language:

       a)Binary Literals

       b)Underscores in Numeric Literals

       c)Strings in switch Statement

       d)Type Inference for Generic Instance Creation

       e)Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods.

        f)The try-with-resources Statement

        g)Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking

 

Java Virtual Machine

  1)Java  Virtual Machine Support for Non-Java Languages:Java SE 7 introduces a new JVM instruction that simplifies the implementation  of dynamically typed programming  languages on the JVM.

2)Garbage-First Collector is a server-style garbage collector that replaces the Concurrent Mark-Sweep Collector (CMS)

3)Java HotSpot Virtual Machine Performance Enhancements 

 

JDBC 4.1

1)JDBC 4.1 introduces the following features:

  a) The ability to use a try-with-resources statement to automatically close resources of type Connection,ResultSet,and Statement;see Closing Connections in Processing SQL Statements.

  b)RowSet 1.1:The introduction of the RowSetFactory interface and the RowSetProvider class,which enable you to create all types of row sets supported by your JDBC driver; see Using the RowSetFactory Interface in Using JdbcRowSet objects.