java se development kit 12.0.1
64位官方版- 软件大小:157 MB
- 更新日期:2019-05-24 09:30
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台: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中创建应用程序所需的基本资源,包括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”开始进行安装。
2、随即进入如下的欢迎使用Java SE开发工具包安装向导界面,点击【下一步】按钮。
3、选择安装目录(它要求硬盘驱动器上有420MB空间),用户可以选择默认也可以自定义,建议选择默认,自定义安装位置,部分安装目录可能会造成安装失败。
4、点击【下一步】按钮即可进行安装,用户等待安装完成。
6、弹出如下的java se development kit 12.0.1(64-bit)已成功安装的提示即可完成安装。
使用说明
客户端库/ 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。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文