安下载编程开发

分类分类

java se development kit 12.0.1

java se development kit 12.0.1

64位官方版

大小:157 MB 更新:2019/05/24

类别:编程工具系统:WinXP, Win7, Win8, Win10, WinAll

立即下载

  java se development kit 12.0.1称之为jdk12,这款是一款Java SE开发工具包,软件在基于jdk11的基础上添加与更新了664个新角色、11个新区块、648个新字符、7个脚本,于此同时,还具备了switch扩展该语句、支持Unicode 11.0等多种新功能,为Java开发人员提供一个更好的环境以及工具包,值得注意的是,目前只提供64位系统,有需要的用户赶紧下载吧!

java se development kit 12.0.1

软件功能

  用于在Java中创建应用程序所需的基本资源,包括Java运行时环境,库,代码示例和演示应用程序。

  在Java的编程语言,根据TIOBE编程社区指数,软件开发者的最佳选择之一,争夺与C和基于C的语言优势。其功能在全球大多数电子设备上使用,从PC,移动终端或媒体播放器到更复杂的医疗设备。

  Java平台提供了一个环境来为多个操作系统(如Microsoft Windows,Mac OS X或Linux发行版)开发软件。虽然Java Runtime Environment(JRE)允许您执行Java应用程序,组件和applet,但Java Development Kit(JDK)为程序员提供了一套全面的工具,用于构建,运行,调试甚至记录Java代码。

  您还可以访问JRE的Java虚拟机(JVM)组件以及类库和支持文件,以便实现您的应用程序。JDK使用Java基础类(包括Swing以及Java平台调试器架构)来打包演示源代码和特定API。它还以各种Java核心API源文件的形式为Java编程语言初学者提供体育学习材料。

  作为最常用的Java软件开发工具包(SDK),JDK的第一手组件包括Java应用程序的加载器(简称为`java`) - 由编译器(javac)创建的类文件的解释器,编译器本身采用源代码从原始形式到Java字节码的代码和用于执行和调试java小程序的`appletviewer`。

  除了这些工具之外,JDK还带有注释处理工具,用于JAR文件冲突检测的`extcheck`,用于Java编译器的`idlj` IDL,使用源代码注释的`javadoc`文档生成器或` jar`defiver,用于汇总单个JAR文件中的相关类库。其他工具包括反汇编程序,启动程序,调试程序,Java命令行脚本shell或策略创建和管理实用程序。

  底线是Java Development Kit集成了一套功能强大的工具,以及帮助程序员无论在知识水平上如何实现Java应用程序。

软件特色

  引入JVM Constants API来模拟关键类文件和运行时工件的名义描述,特别是可从常量池加载的常量。请参阅JVM Constant API。

  switch扩展该语句,以便它可以用作语句或表达式。这是一种预览语言功能。请参阅JEP 325:切换表达式(预览)和JEP 12:预览语言和VM功能。

  支持Unicode 11.0。

  在NumberFormat增加了其紧凑的形式设置数字格式的支持。

  在JDK-8223567之后构建失败(将ShenandoahBrooksPointer重命名为ShenandoahForwarding)

  将CLDR升级到版本35.1

  添加测试库支持以确定平台IP支持

  在JDK-8223534之后构建失败(添加回固定的test_markOop.cpp)

  编译器/ graalunit / HotspotTest.java hotspot.test.CheckGraalIntrinsics AssertionError:找到内在函数的插件

  [Graal]编译器/ c2 / Test8062950.java因超时而失败。

  Solaris / SPARC上的Sun / security / tools / keytool / PSS.java超时

  为变更集6ccc7cd7931e添加了标签jdk-13 + 20

  8223441:HeapMonitorStatArrayCorrectnessTest由于采样确定性而失败

  [TESTBUG]启用Graal时禁用JTReg Shenandoah测试

  完成“java.io.File.path”时崩溃

  8042215:javax / management / remote / mandatory / connection / ReconnectTest.java NoSuchObjectException表中没有这样的对象

  将压缩的oops函数移动到CompressedOops类

  将VerifyOption移出Universe

  将IsGCActiveMark实现移出标头

  将Universe使用移出oopRecorder.hpp

  将Universe用法移出memAllocator.hpp

  将oopFactory函数定义移出oopFactory.hpp

  清理包括universe.hpp

  在测试中用环回或本地主机替换通配符地址 - 第4部分

  Preflow访问者不访问lambda表达式

  Jdk-13 + 20包名称包含null而不是ea

  在AIX上为JDK二进制文件启用Stack Execution Disable标志

  通过将initialLengthCoder折叠到最后一个混音器来减少字符串连接形状

  Xerces 2.12.0:验证

  AArch64版本因修复8223136而损坏

  Merge Cleanup古代参数处理代码

  CRL的可配置读取超时

  JDK-8185525之后,最小构建失败

  使用--with-jvm-features = -jfr和--disable-precompiled-headers进行构建失败

  [JVMCI] jvmciCompiler.cpp需要包含“oops / objArrayOop.inline.hpp”“

  运行时/ exceptionMsgs / ArrayIndexOutOfBoundsException / ArrayIndexOutOfBoundsExceptionTest.java超时但测试通过

  Testlibrary_tests / ctw / ClassesListTest.java经常失败,代理超时

  限制Sasl机制

  cacerts测试中的清理

  Code_size2需要调整

  8223136之后的最小VM构建失败(将压缩的oops函数移动到CompressedOops类)

  8223136之后Arm32构建失败(将压缩的oops函数移动到CompressedOops类)

  将print()函数移动到cpp文件

  在测试中用环回或本地主机替换通配符地址 - 第3部分

  HotSpot编译来自GCC 9的警告

  将IPSupport.skipIfCurrentConfigurationIsInvalid()重命名为IPSupport.throwSkippedExceptionIfNonOperational()

  [Graal] assert(type()== T_INT)失败:类型检查

  [TESTBUG]在修复JDK-8219562后,TestCgroupMetrics.java失败

  在SLES12.3 linux ppc64le机器上jtreg测试jdk / internal / platform / cgroup / TestCgroupMetrics.java失败

  当指定了--categories和--events时,JFR工具会产生错误的输出

  TLSv1.3可能生成长度超过2 ^ 14 + 1个字节的TLSInnerPlainText

  清理com.sun.source中的@jls引用

  添加AsyncGetCallTrace测试

  ASAN构建破碎

  小型VM.metaspace改进

  Linksource打破了模块

  在测试中用环回或本地主机替换通配符地址 - 第5部分

  MappedByteBuffer.force方法指定范围

  创建一个jlink插件,用于从本机库中删除调试信息符号

  修复8223136之后的构建破损

  [Graal]编译器/ jsr292 / NonInlinedCall / InvokeTest.java失败超时

  支持CNG RSA密钥

  URLClassLoader.findClass()可以抛出IndexOutOfBoundsException

  8223040之后构建失败(添加AsyncGetCallTrace测试)

  在AIX上向hs_error文件添加更多与线程相关的系统设置信息

  默认情况下,在AIX上使用捆绑的zlib

  Shenandoah应该允许任意低的初始堆大小

  Shenandoah:涉及堆容量的计算溢出

  实施:JEP 351:ZGC:取消使用未使用的内存

  82jdk / nio / zipfs / ZipFSTester.java RuntimeException:CHECK_FAILED!(getAttribute.crc 失败6af4413c vs 0 ...)

  研究将JVMTI规范版本与JDK版本同步

  将RuleBasedCollatorTest迁移到JDK Repo

  默认情况下禁用VerifySharedSpaces

  与类卸载不正确的静态调用存根交互

  在gc验证日志中添加gc ID

  在测试中用环回或本地主机替换通配符地址 - 第6部分

  OopDesc :: is_valid()已损坏

  改进排队延期卡的过滤器

  重命名G1RemSet :: * oops_into_collection_set_do方法

  ErrorFile选项不处理同名的预先存在的错误文件

  在lambdas中声明的类的Bad EnclosingMethod属性

  从SymbolTable函数中删除未使用的THREAD参数

  Shenandoah无法在Solaris x86_64上构建

  Problemlist compiler / ciReplay / TestServerVM.java

  更新SocketReadWrite基准

  HotSpot编译来自VS2017的警告

  在linux / windows x86_64上的hs_error文件中提供扩展的VMWare / vSphere虚拟化相关信息

  在修复之前禁用错误节点预算验证

  覆盖现有文件时,Hs_err和重播文件可能包含垃圾

  Shenandoah:支持验证根的子集

  修复IPv6文字地址的HostsFileNameService

  JDWP支持IPv6

  Sun / net / www / http / HttpClient / MultiThreadTest.java应该对意外流量更具弹性

  更新sun / net / ftp / FtpURL.java和sun / net / ftp / FtpURLConnectionLeak.java以使用IPv6地址

  在测试中用环回或本地主机替换通配符地址 - 第7部分

  删除两个即将过期的Comodo根CA证书

  如果不支持IPv4,请不要尝试在NetworkInterface.c中创建IPv4套接字

  Shenandoah:重构并修复ObjArrayChunkedTask verificationjdk-13 + 21

安装方法

  1、下载并解压软件,双击安装程序“jdk-12.0.1_windows-x64_bin.exe”开始进行安装。

java se development kit 12.0.1

  2、随即进入如下的欢迎使用Java SE开发工具包安装向导界面,点击【下一步】按钮。

java se development kit 12.0.1

  3、选择安装目录(它要求硬盘驱动器上有420MB空间),用户可以选择默认也可以自定义,建议选择默认,自定义安装位置,部分安装目录可能会造成安装失败。

java se development kit 12.0.1

  4、点击【下一步】按钮即可进行安装,用户等待安装完成。

java se development kit 12.0.1

  6、弹出如下的java se development kit 12.0.1(64-bit)已成功安装的提示即可完成安装。

java se development kit 12.0.1

使用说明

  客户端库/ javax.swing中

  GKK + 3.20及更高版本不受Swing支持

  由于GTK + 3库版本3.20及更高版本中的不兼容更改,Swing GTK外观在使用此库时不会呈现某些UI组件。因此,在此版本中,Swing GTK外观不支持使用版本为GTK + 3.20及更高版本的Linux。此类配置上受影响的应用程序应指定系统属性-Djdk.gtk.version = 2.2,以请求基于GTK2 +的渲染。

  核心库/ java.lang中

  user.timezone系统属性的初始值改变

  user.timezone除非使用命令行参数进行设置,否则系统属性的初始值是未定义的-Duser.timezone="America/New_York"。第一次需要默认时区时,如果user.timezone未定义或为空,则使用操作系统提供的时区。以前,初始值是空字符串。在JDK 12中,System.getProperty("user.timezone")可能返回null。

  核心库/ java.net

  更好的HTTP重定向支持

  在此版本中,应用程序代码用于设置请求属性的方法的行为java.net.HttpURLConnection已更改。当重定向从原始目标服务器自动发生到另一台服务器上的资源时,将清除所有此类属性以用于重定向和任何后续重定向。如果需要在重定向的请求上设置这些属性,则应用程序应通过调用HttpURLConnection.setInstanceFollowRedirects(false)原始请求来处理重定向响应。

  JDK-8196902(非公开)

  核心库/ java.net

  使用URL字符串中的查询或片段更改URLPermission行为

  行为java.net.URLPermission略有改变。之前指定忽略提供的URL字符串中的查询和片段组件。但是,未执行此行为,并且任何查询或片段都包含在内部权限URL字符串中。这里的更改是实现指定的行为。URLPermissionJDK中的内部用法不包括查询或片段。所以,这不会改变。如果用户代码URLPermission明确地创建了对象,那么可能会看到行为更改,并且之前错误检查的权限检查现在将按预期传递。

  核心库/ java.time

  在java.time.chrono.JapaneseEra中支持新的日语时代

  日语Era类及其of(int),, valueOf(String)和values()方法被阐明以适应未来日本时代的添加,例如如何定义单例实例,相关的整数时代值是什么,等等。

  核心库/ java.util中

  更改了Properties.loadFromXML以符合规范

  该java.util.Properties loadFromXML方法的实现已经改变以符合其规范。具体来说,底层的XML解析器实现现在通过抛出方法InvalidPropertiesFormatException指定的loadFromXML方法来拒绝不符合的XML文档。

  变化的影响如下:

  创建的文件Properties.storeToXML:没有变化。Properties.loadFromXML读取此类文件没有问题。

  未创建的Properties.storeToXML文档:包含不符合指定格式的DTD的任何文档Properties.loadFromXML将被拒绝。这意味着DTD应完全如下(由Properties.storeToXML方法生成):

  核心库/ javax.naming中

  LDAPS通信故障

  使用LDAPS且套接字连接超时<= 0(默认值)的应用程序代码在建立连接时可能会遇到异常。

  来自Exception堆栈的最顶层框架遇到此类问题的应用程序可能类似于以下内容:

  javax.naming.ServiceUnavailableException: ; socket closed

  at com.sun.jndi.ldap.Connection.readReply(Unknown Source)

  at com.sun.jndi.ldap.LdapClient.ldapBind(Unknown Source)

  ...

  见JDK-8211107

  热点/ GC

  G1 可能会在标记周期内取消内存

  默认情况下,G1现在可以在任何并发标记周期内将Java堆内存返回给操作系统。G1将遵循当时的默认Java堆大小策略。

  如果应用程序不需要所有内存,则此更改可提高Java进程的内存使用量。

  通过使用该-Xms选项将最小Java堆大小设置为最大Java堆大小,可以根据默认堆大小策略禁用此行为。

  热点/ JVMTI

  如果使用JVMCI编译器,则禁用can_pop_frame和can_force_early_return功能

  如果使用JVMCI编译器(如Graal),则会禁用JVMTI can_pop_frame和can_force_early_return功能。因此,JVMTI代理无法使用相应的功能(PopFrame和ForceEarlyReturnXXX功能)。JDK-8218885 [https://bugs.openjdk.java.net/browse/ JDK-8218885 ] 正在跟踪此问题。

  基础设施/编译

  Linux本 机代码检查

  Linux上已启用其他安全措施来防止本机代码中的缓冲区溢出。如果遇到缓冲区溢出,系统将写入“stack smashing detected”消息,程序将退出。应向您的供应商报告此类问题。

  JDK-8199552(非公开)

  安全库/ java.security

  添加了额外的TeliaSonera根证书

  以下根证书已添加到OpenJDK cacerts信任库:

  TeliaSonera公司

  teliasonerarootcav1

  DN:CN = TeliaSonera Root CA v1,O = TeliaSonera

  安全库/ java.security

  删除AOL和Swisscom根证书

  已从cacerts信任库中删除以下根证书:

  AOL

  aolrootca1

  DN:CN = America Online Root Certification Authority 1,O = America Online Inc.,C = US

  aolrootca2

  DN:CN = America Online Root Certification Authority 2,O = America Online Inc.,C = US

  瑞士电信

  swisscomrootca2

  DN:CN = Swisscom Root CA 2,OU =数字证书服务,O = Swisscom,C = ch

  安全库/ javax.crypto中

  更改为X25519和X448编码私钥格式

  X25519和X448私钥的编码格式已更正为使用RFC 8410中描述的标准格式。此更改会影响SunEC提供程序中由“X25519”,“X448”或“XDH”服务生成的任何私钥。正确的格式与以前的JDK版本中使用的格式不兼容。建议将存储中的现有不兼容密钥替换为新生成的私钥。

  见JDK-8213363

  安全库/ javax.net.ssl中

  从SSLContext必需算法中删除了TLS v1和v1.1

  已从javax.net.ssl.SSLContextAPI和Java安全标准算法名称规范中删除了所有SE实现必须支持TLSv1和TLSv1.1的要求。

  见JDK-8214140

  安全库/ javax.net.ssl中

  禁用TLS匿名和NULL密码套件

  TLS匿名(匿名)和NULL密码套件已添加到jdk.tls.disabledAlgorithms安全属性中,现在默认情况下已禁用。

  见JDK-8211883

  安全库/ javax.net.ssl中

  禁用所有DES TLS密码套件

  基于DES的TLS密码套件被认为已过时,不应再使用。默认情况下,在SunJSSE实现中,通过向jdk.tls.disabledAlgorithms安全属性添加“DES”标识符,已停用基于DES的密码套件。可以通过从文件中的jdk.tls.disabledAlgorithms安全属性中删除“DES” java.security或通过动态调用该Security.setProperty()方法来重新激活这些密码套件。在这两种情况下,必须重新启用DES,然后使用SSLSocket.setEnabledCipherSuites()或SSLEngine.setEnabledCipherSuites()方法将基于DES的密码套件添加到启用的密码套件列表中。

  请注意,在此更改之前,DES40_CBC(但不是所有DES)套件已通过jdk.tls.disabledAlgorithms安全属性禁用。

  安全库/ javax.net.ssl中

  不信任Symantec Root CA锚定的TLS服务器证书

  根据谷歌,Mozilla,Apple和微软最近公布的类似计划,JDK将停止信任赛门铁克发布的TLS服务器证书。受影响的证书列表包括由Symantec管理的标记为GeoTrust,Thawte和VeriSign的证书。

  在2019年4月16日当天或之前签发的TLS服务器证书将继续受到信任,直到它们过期。在该日期之后颁发的证书将被拒绝。有关如何使用DigiCert证书替换Symantec证书的信息,请参阅DigiCert支持页面(DigiCert于2017年12月1日接管了所有Symantec Website Security SSL / TLS证书的验证和颁发)。

  此策略的一个例外是,通过Apple管理的两个从属证书颁发机构颁发的TLS服务器证书,如果在2019年12月31日或之前签发,将继续受到信任。

  这些限制SunJSSE在Java安全套接字扩展(JSSE)API 的JDK实现(提供程序)中实施。如果服务器的证书链由下表中的任何证书颁发机构锚定,则不会协商TLS会话。

  应用程序将收到一个Exception,其中包含一条消息,指出信任锚不受信任,例如:

  "TLS Server certificate issued after 2019-04-16 and anchored by a distrusted legacy Symantec root CA: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US"

  如有必要,您可以自行承担风险,可以通过从配置文件中的jdk.security.caDistrustPolicies安全属性中删除“SYMANTEC_TLS”来解决这些限制java.security。

精品推荐
同类推荐
相关下载
  • 最新排行
  • 最热排行
  • 评分最高
编程开发排行榜
实时热词