精华内容
下载资源
问答
  • JDK 15 JAVA 15的新特性展望

    万次阅读 2020-04-27 07:27:11
    伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 14。自从2017年JAVA 9发布之后,JAVA的发布版本跟上了敏捷开发的步伐,小步快跑,Java平台发布节奏已...今天本文将会展望一下JAVA 15中会带给我们的新特性


    JDK 15 JAVA 15的新特性展望

    伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 14。自从2017年JAVA 9发布之后,JAVA的发布版本跟上了敏捷开发的步伐,小步快跑,Java平台发布节奏已从每3年以上的主要版本转变为每6个月发布一次功能。现在,每年的3月和9月都会发布新的版本功能。

    三月已过,九月还远吗?

    在JAVA 14中,推出了swith的最终版本,并且支持了NVM。

    今天本文将会展望一下JAVA 15中会带给我们的新特性。

    总体来说有5个JEP将会提交到JAVA 15。

    什么?你问我JEP是什么?

    JEP的全称就是JDK Enhancement Proposals,简单点讲就像是一个个对JAVA进行改进提案,这些提案会在合适的时间合适的地点被加入JDK的特定版本。

    下面看下5大提案都有些什么内容:

    JEP 371: Hidden Classes

    通常我们在使用大型的框架或者lambda表达式的时候,会动态生成很多类。但是不幸的是标准的定义类的API:ClassLoader::defineClass 和 Lookup::defineClass不能够区分出这些类是动态生成(运行时生成)的还是静态
    生成(编译生成)的。

    一般来说动态生成的类生命周期更短,并且其可见性要更低。但是现有的JDK并没有这个功能。

    所有有了Hidden Classes的提案,通过Hidden Classes,不管是JDK还是JDK外部的框架,在生成动态类的时候都可以定义为Hidden Classes,这样可以更加有效的控制这些动态生成类的生命周期和可见性。

    JEP 372: 删除 Nashorn JavaScript Engine

    实际上jdk.scripting.nashorn和jdk.scripting.nashorn.shell这两个在JDK11的时候已经被标记为deprecated。在JDK15中只是把他们删除而已。

    JEP 377: 新的垃圾回收器ZGC正式上线了

    Z Garbage Collector(ZGC)是在JAVA 11中引入的垃圾回收器,但一直都是实验版本,在JDK 15中,终于要上线了。

    ZGC是一个重新设计的并发的垃圾回收器,可以极大的提升GC的性能。

    JEP 378: Text Blocks 标准化

    Text Blocks第一次是在JDK 13中以预览功能出现的JEP 355。然后在JDK 14中又出现了第二个版本JEP 368。终于在JDK 15中可以有最终版本了。

    文本块是一种多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式。

    HTML example

    传统方式:

    String html = "<html>\n" +
                  "    <body>\n" +
                  "        <p>Hello, world</p>\n" +
                  "    </body>\n" +
                  "</html>\n";
    

    文本块方式:

    String html = """
                  <html>
                      <body>
                          <p>Hello, world</p>
                      </body>
                  </html>
                  """;
    

    SQL example

    传统方式:

    String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
                   "WHERE `CITY` = 'INDIANAPOLIS'\n" +
                   "ORDER BY `EMP_ID`, `LAST_NAME`;\n";
    

    文本块方式:

    String query = """
                   SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
                   WHERE `CITY` = 'INDIANAPOLIS'
                   ORDER BY `EMP_ID`, `LAST_NAME`;
                   """;
    

    JEP 379: 新的垃圾回收器Shenandoah上线

    Shenandoah和ZGC一样,是以实验特性在JAVA 12中引入的JEP 189。现在终于要在JAVA 15中转正了。

    总结

    上述就是5大很可能在JAVA 15中实现的新特性,希望大家能够喜欢。

    欢迎关注我的公众号:程序那些事,更多精彩等着您!

    更多内容请访问 www.flydean.com

    展开全文
  • Java15了,你还在Java8?!

    千次阅读 2020-10-12 16:59:29
    9月15号,Java15它依旧如期而至。 新特性 339:Edwards-Curve Digital Signature Algorithm (EdDSA) Edwards-Curve 数据签名算法(EdDSA),一种根据 RFC 8032 规范所描述的 Edwards-Curve 数字签名算法(EdDSA...

    9月15号,Java15它依旧如期而至。

    新特性

    339:Edwards-Curve Digital Signature Algorithm (EdDSA)

    Edwards-Curve 数据签名算法(EdDSA),一种根据 RFC 8032 规范所描述的 Edwards-Curve 数字签名算法(EdDSA)实现加密签名,实现了一种 RFC 8032 标准化方案,但它不能代替 ECDSA。

    360:Sealed Classes (Preview)

    封闭类(预览特性),可以是封闭类和或者封闭接口,用来增强 Java 编程语言,防止其他类或接口扩展或实现它们。

    371:Hidden Classes

    隐藏类,这一看也是个很有意思的特性。

    隐藏类是为框架(frameworks)所设计的,隐藏类不能直接被其他类的字节码使用,只能在运行时生成类并通过反射间接使用它们。

    372:Remove the Nashorn JavaScript Engine

    移除了 Nashorn JavaScript 脚本引擎、APIs,以及 jjs 工具。这些早在 JDK 11 中就已经被标记为 deprecated 了,JDK 15 被移除就很正常了。

    373:Reimplement the Legacy DatagramSocket API

    重新实现了老的 DatagramSocket API 接口,更改了 java.net.DatagramSocket 和 java.net.MulticastSocket 为更加简单、现代化的底层实现,更易于维护和调试。

    新的底层实现将很容易使用虚拟线程,目前正在 Loom 项目中进行探索。这也是 JEP 353 的后续更新版本,JEP 353 已经重新实现了 Socket API。

    374:Disable and Deprecate Biased Locking

    准备禁用和废除偏向锁,在 JDK 15 中,默认情况下禁用偏向锁,并弃用所有相关的命令行选项。

    后面再确定是否需要继续支持偏向锁,国为维护这种锁同步优化的成本太高了。

    375:Pattern Matching for instanceof (Second Preview)

    模式匹配(第二次预览),第一次预览是 JDK 14 中提出来的,点击这里查看栈长之前写的详细教程。

    377:ZGC: A Scalable Low-Latency Garbage Collector

    ZGC:一个可伸缩、低延迟的垃圾回收器。

    ZGC 最早是在 JDK 11 中集成进来的,JDK 15 只是将 ZGC 垃圾收集器从预览特性变更为正式特性而已,没错,转正了。

    这个 JEP 不会更改默认的 GC,默认仍然是 G1。

    378:Text Blocks

    文本块,是一个多行字符串,它可以避免使用大多数转义符号,自动以可预测的方式格式化字符串,并让开发人员在需要时可以控制格式。

    379:Shenandoah: A Low-Pause-Time Garbage Collector

    Shenandoah:一个低停顿时间的垃圾回收器。

    Shenandoah 最早是在 JDK 12 中集成进来的,JDK 15 只是将 Shenandoah 垃圾收集器从预览特性变更为正式特性而已,没错,又是转正了。

    381:Remove the Solaris and SPARC Ports

    移除了 Solaris 和 SPARC 端口。

    移除了 Solaris/SPARC、Solaris/x64 和 Linux/SPARC 端口的源代码及构建支持。这些端口在 JDK 14 中就已经被标记为 deprecated 了,JDK 15 被移除也不奇怪。

    383:Foreign-Memory Access API (Second Incubator)

    外存访问 API(二次孵化),可以允许 Java 应用程序安全有效地访问 Java 堆之外的外部内存。

    这个最早在 JDK 14 中成为孵化特性,JDK 15 继续二次孵化并对其 API 有了一些更新。

    384:Records (Second Preview)

    Records 最早在 JDK 14 中成为预览特性,JDK 15 继续二次预览。

    Records 在某些场合可以干掉 Lombok 的存在,能自动生成了类构造器、toString()、hashCode()、equals(),以及类似 getter 的变量访问方法。

    385:Deprecate RMI Activation for Removal

    废除 RMI 激活,以便在将来进行删除。

    JDK15是非长期支持版本,切勿将15投入到生产。

    OracleJDK 15 发布地址:

    https://www.oracle.com/java/technologies/javase/15all-relnotes.html

    上述只是简单描述了15的新特性,详细可以去官网查看(英文)。

    https://www.oracle.com/java/technologies/javase/15-relnote-issues.html#NewFeature

    源码下载地址:

    https://www.oracle.com/java/technologies/javase-jdk15-doc-downloads.html

    Chrome老是下源码下不来了,可以用IE。

    展开全文
  • Burp的最新版采用了蓝色底色,很是好看,于是搞来试试,然而之前一直使用的是burp1.7.26版本,这个版本java8支持,新版本burp需要java11以上版本才能支持,为了使用新版本的burp,于是果断去管网下了java15,然而...

    【渗透测试】解决BurpSuite2020.12支持Java版本和其他软件不兼容的问题

    问题来源:

    Burp的最新版采用了蓝色底色,很是好看,于是搞来试试,然而之前一直使用的是burp1.7.26版本,这个版本java8支持,新版本burp需要java11以上版本才能支持,为了使用新版本的burp,于是果断去管网下了java15,然而java15的版本过高,其他很多软件不支持,于是各种踩坑,试了很多办法,最终找到一种双版本java共存的方式。
    【主要矛盾:支持Bp的java不支持冰蝎3.0,支持冰蝎3.0的Java不支持新版Bp】

    解决办法

    前提:你手中有可以使用的burp2020.12和冰蝎3.0,排除软件本身的问题
    准备jdk-8u271-windows-x64.exejdk-15.0.1_windows-x64_bin.exe,没有的官网上下载,就是注册比较烦人,但是除了官网的又不敢下其他的。。。。。
    【以下步骤安顺序完成,否则不成功不怨我】(我反反复复好多遍试出来的血的教训啊)

    1、先安装java15

    保证电脑里面没有其他的java版本,没有配置什么java的环境变量,下载java15,一直默认安装即可,我为了节省C盘空间,修改了安装位置为D盘(安装在哪里不影响使用)
    在这里插入图片描述安装完成之后不要配环境变量!不要配环境变量!不要配环境变量!,就用他自动生成的就行

    C:\Program Files\Common Files\Oracle\Java\javapath
    

    你安装完成后在环境变量的Path中因该能看到和上面一样,这时你用cmd输入

    java -version
    

    应该能看到java15安装成功的回显(我的不一样因为我改过)
    在这里插入图片描述这一步没问题我下面教你怎么改

    • 1、把环境变量里面的javapath改成javapath15
    C:\Program Files\Common Files\Oracle\Java\javapath15  【改完之后是这样的】
    

    在这里插入图片描述

    • 2、到C:\Program Files\Common Files\Oracle\Java文件下,把原来的javapath文件名改成javapath15和环境变量里面的路径一致

    在这里插入图片描述

    • 3、然后进到javapath15文件夹下,把里面所有的.exe文件全部改成*15.exe,同时另外一个文件内的会自动改变,不用担心。
      在这里插入图片描述在这里插入图片描述经过踩坑,java8的如果这么改的话,已经可以使用java8 -version使用java了,但是java15不可以,此时你cmd里面输入java15 -version不出意外是没有效果的。我怎么知道的?我是试过来的。。。

    • 4、到java15的安装目录下,到bin目录里面,把java.exe,javac.exe,和javaw.exe全部改成*15.exe的格式。(只改这几个就行,其他的不要动,jar.exe千万不要改!)
      在这里插入图片描述改完之后你cmd,输入java15 -version和我一样你就可以了

    java15 -version   【可以看到回显,就说明你成功了】
    

    在这里插入图片描述这个时候你的burp2020.12其实就可以打开了,但是激活bp的工具也是java写的,那玩意打不开,就没法激活就没法用。。。。(或者你打开了,但是冰蝎和其他软件都用不了)

    2、安装java8

    java8的安装不需要修改什么,自己选定好安装位置之后,一直下一步就行,安装完成之后不要配环境变量!不要配环境变量!jdk-8u271-windows-x64.exe安装好了之后会自动生成一个环境变量

    C:\Program Files (x86)\Common Files\Oracle\Java\javapath   【或者是】
    C:\Program Files\Common Files\Oracle\Java\javapath  【会和你的java15不在同一个文件夹内】
    

    这时候你直接cmd输入

    java -version   【会出来java1.8的回显】
    

    在这里插入图片描述和我一样就说明成功了,到此为止两个版本的java共存了,而且我没有自己设置任何环境变量,网上写了很多设置环境变量了,可能我太笨了,捣鼓好久都没成功。。。。。
    到了这一步,你应该cmd出现这样就对了
    在这里插入图片描述

    3、修改注册表

    因为安装了两个java,jar后缀的文件不知道使用哪一个java运行,所以需要修改一下注册表
    这里参考一位博主写的文章很受用
    https://blog.csdn.net/qq_33096883/article/details/55193854
    简单叙述一下就是在
    计算机\HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command下修改默认值
    在这里插入图片描述加个 -jar 注意两头都有空格,不然会报错,处理完成之后,右键jar后缀的软件,使用默认的打开方式为java1.8(java8就是java1.8)底下的javaw.exe文件,切记选择java8的,因为大部分软件支持java8 ,只有bp需要java15,
    具体路径,java1.8–>jre–>bin–>javaw.exe
    选中之后顺便勾选以后都用它打开jar文件
    在这里插入图片描述

    4、编写打开BurpSuite2020.12的脚本文件

    为什么还有第四步???因为你昨晚这些之后,系统默认使用java8的jar打开*.jar文件,而我们的新版burp需要使用java15打开,所以没有这一步你还是用不了新版的bp
    在burp文件夹下创建一个BurpSatrt.txt文档,写入:

    CreateObject("WScript.Shell").Run "java15.exe -Dfile.encoding=utf-8 -javaagent:Burploader2020_x.jar -noverify -jar burpsuite_pro_v2020.12.1.jar",0
    

    注意java15.exe和你的burp的名称要一致,我的bp名字有点长,就没改。。。。。
    写完之后把BurpSatrt.txt改成BurpStart.vbs文件,然后双击BurpSatrt.vbs就可以打开burp正常使用了(当然你得先使用激活工具激活,没关系,激活工具默认使用java8可以运行的)
    在这里插入图片描述两大软件顺利会师。。。。。步骤都是我的血泪啊。。。。

    好奢侈,为了用个burp202012,专门给他安装了java15,还捣鼓那么久,我都被自己菜哭
    这个方法只是提供一个方案,不排除有其他的方法(我写的时候还没看到有其他的解决办法!-!),这个方法只适合不对java开发有要求的人尝试,因为没有配置环境变量,使用的默认设置,从事Java开发的朋友来说肯定是不行,哎,先这样,后面遇到问题了在一步一解决好了,办法总比问题多不是。
    (主要是网上很多设置环境变量的,相互切换的我没尝试成功。。。。。淦)

    久违
    2021.1.14

    展开全文
  • Java15新特性一览

    千次阅读 2020-09-17 14:55:23
    https://www.oracle.com/java/technologies/javase/15all-relnotes.html OpenJDK 15 发布地址: https://openjdk.java.net/projects/jdk/15/ OracleJDK 和 OpenJDK 两者的区别这里不撰述了,不清楚的请点击...

    作者:Java技术栈

    JDK 15 2020/09/15 如期而至!

    这个时间牛逼啊,和苹果发布会同天?

    OracleJDK 15 发布地址:

    https://www.oracle.com/java/technologies/javase/15all-relnotes.html

    OpenJDK 15 发布地址:

    https://openjdk.java.net/projects/jdk/15/

    OracleJDK 和 OpenJDK 两者的区别这里不撰述了,不清楚的请点击这里进行查看。

    现在的 JDK 真变成了“版本帝”,无力吐槽啊,版本发到 15,大部分人却都还在用着 JDK 7/8,甚至 6。不过没关系,多了解一下,多掌握一点新东西,对你来说没有坏处。

    新特性

    JDK 15 新特性一览表:

    IDJEPFeature
    1339Edwards-Curve Digital Signature Algorithm (EdDSA)
    2360Sealed Classes (Preview)
    3371Hidden Classes
    4372Remove the Nashorn JavaScript Engine
    5373Reimplement the Legacy DatagramSocket API
    6374Disable and Deprecate Biased Locking
    7375Pattern Matching for instanceof (Second Preview)
    8377ZGC: A Scalable Low-Latency Garbage Collector
    9378Text Blocks
    10379Shenandoah: A Low-Pause-Time Garbage Collector
    11381Remove the Solaris and SPARC Ports
    12383Foreign-Memory Access API (Second Incubator)
    13384Records (Second Preview)
    14385Deprecate RMI Activation for Removal

    JDK 15 一次发布了 14 个新特性,下面栈长带大家来解读下这些新特性!

    339:Edwards-Curve Digital Signature Algorithm (EdDSA)

    Edwards-Curve 数据签名算法(EdDSA),一种根据 RFC 8032 规范所描述的 Edwards-Curve 数字签名算法(EdDSA)实现加密签名,实现了一种 RFC 8032 标准化方案,但它不能代替 ECDSA。

    EdDSA 是一种现代的椭圆曲线签名方案,与 JDK 中现有的签名方案相比,它有很多优势。

    360:Sealed Classes (Preview)

    封闭类(预览特性),可以是封闭类和或者封闭接口,用来增强 Java 编程语言,防止其他类或接口扩展或实现它们。

    这个牛逼啊,有了这个特性,意味着以后不是你想继承就继承,想实现就实现了,你得经过允许才行。

    来看这个示例:

    public abstract sealed class Student
        permits ZhangSan, LiSi, ZhaoLiu {
        ...
            
    }
    

    类 Student 被 sealed 修饰,说明它是一个封闭类,并且只允许指定的 3 个子类继承。

    371:Hidden Classes

    隐藏类,这一看也是个很有意思的特性。

    隐藏类是为框架(frameworks)所设计的,隐藏类不能直接被其他类的字节码使用,只能在运行时生成类并通过反射间接使用它们。

    372:Remove the Nashorn JavaScript Engine

    移除了 Nashorn JavaScript 脚本引擎、APIs,以及 jjs 工具。这些早在 JDK 11 中就已经被标记为 deprecated 了,JDK 15 被移除就很正常了。

    Nashorn 是 JDK 1.8 引入的一个 JavaScript 脚本引擎,用来取代 Rhino 脚本引擎。Nashorn 是 ECMAScript-262 5.1 的完整实现,增强了 Java 和 JavaScript 的兼容性,并且大大提升了性能。

    为什么要移除?

    官方的描述是,随着 ECMAScript 脚本语言的结构、API 的改编速度越来越快,维护Nashorn 太有挑战性了,所以……。

    373:Reimplement the Legacy DatagramSocket API

    重新实现了老的 DatagramSocket API 接口,更改了 java.net.DatagramSocket 和 java.net.MulticastSocket 为更加简单、现代化的底层实现,更易于维护和调试。

    新的底层实现将很容易使用虚拟线程,目前正在 Loom 项目中进行探索。这也是 JEP 353 的后续更新版本,JEP 353 已经重新实现了 Socket API。

    374:Disable and Deprecate Biased Locking

    准备禁用和废除偏向锁,在 JDK 15 中,默认情况下禁用偏向锁,并弃用所有相关的命令行选项。

    后面再确定是否需要继续支持偏向锁,国为维护这种锁同步优化的成本太高了。

    375:Pattern Matching for instanceof (Second Preview)

    模式匹配(第二次预览),第一次预览是 JDK 14 中提出来的,点击这里查看栈长之前写的详细教程。

    Java 14 之前:

    if (object instanceof Kid) {
        Kid kid = (Kid) object;
        // ...
    } else if (object instanceof Kiddle) {
        Kid kid = (Kid) object;
        // ...
    }
    

    Java 14+:

    if (object instanceof Kid kid) {
        // ...
    } else if (object instanceof Kiddle kiddle) {
        // ...
    }
    

    Java 15 并没有对此特性进行调整,继续预览特性,只是为了收集更多的用户反馈,可能还不成熟吧。

    377:ZGC: A Scalable Low-Latency Garbage Collector

    ZGC:一个可伸缩、低延迟的垃圾回收器。

    ZGC 最早是在 JDK 11 中集成进来的,JDK 15 只是将 ZGC 垃圾收集器从预览特性变更为正式特性而已,没错,转正了。

    这个 JEP 不会更改默认的 GC,默认仍然是 G1

    378:Text Blocks

    文本块,是一个多行字符串,它可以避免使用大多数转义符号,自动以可预测的方式格式化字符串,并让开发人员在需要时可以控制格式。

    文本块最早准备在 JDK 12 添加的,但最终撤消了,然后在 JDK 13 中作为预览特性进行了添加,然后又在 JDK 14 中再次预览,在 JDK 15 中,文本块终于转正,暂不再做进一步的更改。

    来看下这个示例你就懂了:

    Java 13 之前:

    String html = "<html>\n" +
                  "    <body>\n" +
                  "        <p>Hi, Java技术栈</p>\n" +
                  "        <p>欢迎关注,分享更多干货</p>\n" +
                  "    </body>\n" +
                  "</html>\n";
    

    Java 13+:

    String html = """
                  <html>
                      <body>
                          <p>Hi, Java技术栈</p>
                          <p>欢迎关注,分享更多干货</p>
                      </body>
                  </html>
                  """;
    

    去掉那些无用的换行和拼接,是不是太爽了。。这个详细教程计划再出一篇,关注公众号Java技术栈第一时间推送。

    379:Shenandoah: A Low-Pause-Time Garbage Collector

    Shenandoah:一个低停顿时间的垃圾回收器。

    Shenandoah 最早是在 JDK 12 中集成进来的,JDK 15 只是将 Shenandoah 垃圾收集器从预览特性变更为正式特性而已,没错,又是转正了。

    381:Remove the Solaris and SPARC Ports

    移除了 Solaris 和 SPARC 端口。

    移除了 Solaris/SPARCSolaris/x64 和 Linux/SPARC 端口的源代码及构建支持。这些端口在 JDK 14 中就已经被标记为 deprecated 了,JDK 15 被移除也不奇怪。

    383:Foreign-Memory Access API (Second Incubator)

    外存访问 API(二次孵化),可以允许 Java 应用程序安全有效地访问 Java 堆之外的外部内存。

    这个最早在 JDK 14 中成为孵化特性,JDK 15 继续二次孵化并对其 API 有了一些更新。

    384:Records (Second Preview)

    Records 最早在 JDK 14 中成为预览特性,JDK 15 继续二次预览。

    Records 在某些场合可以干掉 Lombok 的存在,能自动生成了类构造器、toString()、hashCode()、equals(),以及类似 getter 的变量访问方法。

    使用方式:

    public record Student(String name, int id, int age) {}
    

    实际生成:

    看完是不是有点 Lombok 的感觉?具体可以点击这里查看栈长之前写的详细教程。

    385:Deprecate RMI Activation for Removal

    废除 RMI 激活,以便在将来进行删除。

    需要说明的是,RMI 激活是 RMI 中一个过时的组件,自 Java 8 以来一直是可选的。

    总结

    本文主要介绍了 JDK/Java 15 的 14 个新特性,后面栈长有时间也会继续出一些 JDK 15 详细教程,关注公众号Java技术栈第一时间推送哦。如果你想看历史 Java 8 - 14 新特性教程,也可以在公众号菜单中进行阅读。

    最后,来看下 Oracle Java 支持路线图:

    JDK 15 并不是一个长期支持的版本,只支持 6 个月到 2021 年 3 月,上一个长期支持版本还是 JDK 11,所以千万不要把非长期支持版本用在生产。

    JDK 15 下载地址:

    https://www.oracle.com/java/technologies/javase-downloads.html

    有兴趣的可以下载尝鲜了!!

    如果觉得本文对你有帮助,可以点赞关注支持一下,也可以关注我公众号,上面有更多技术干货文章以及相关资料共享,大家一起学习进步!

     

    展开全文
  • 新版本体验地址:https://jdk.java.net/15 该版本更新的功能有: 339: Edwards-Curve Digital Signature Algorithm (EdDSA) 360: Sealed Classes (Preview) 371: Hidden Classes 372: Remove the Nashorn ...
  • java环境配置--JDK15

    千次阅读 2020-09-20 13:50:58
    此处位置改为D:\Java\jdk-15 三、配置环境变量:电脑->属性->高级系统设置->环境变量->系统环境变量->Path(编辑) 点击编辑后,进入Path变量,点击添加,添加JDK15的安装路径,此处为:D:\Java\...
  • IDEA出现java: 错误: 不支持发行版本 15

    万次阅读 多人点赞 2020-11-02 09:55:25
    java: 错误: 不支持发行版本 15解决方法(英文版的道理也一样) 首先不要慌 打开文件—>项目结构–>项目一定要一致 接着打开模块和刚才项目里的要一致,按确定 注意这个位置很多人忘记自己正在进行的项目,...
  • java输入语句

    万次阅读 多人点赞 2019-10-02 17:09:54
    java输入语句 import java.util.Scanner;//导入 java.util 包下的 Scanner 类,用来构建Scanner对象 public class TestScanner{ public static void main(String[] args) { Scanner scanner = new Scanner...
  • [java 虚拟机(jvm)-15-JVM GC 概览

    万次阅读 2019-01-03 20:18:13
    从桌面上的小型applet到大型服务器上的Web服务,各种各样的应用程序都使用Java平台标准版(Java SE)。 为了支持这种多样化的部署,Java HotSpot VM提供了多个垃圾收集器,每个垃圾收集器都旨在满足不同的需求。 ...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件 4个目标文件 内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 ...
  • import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; 公共类 ValidateIdCardUtil { 最终静态 Map &lt;Integer,...
  • JAVA基础

    千次阅读 多人点赞 2019-09-25 15:56:49
    最近看了Github上一个巨良心的java项目。准备跟着这个项目对java基础进行一下夯实。 首先对JAVA基础做一下回顾 1. 面向对象和面向过程的区别 面向过程 面向对象 2. Java 语言有哪些特点? 3. 关于 JVM JDK 和 JRE ...
  • java 校验15位或18位身份证号码

    千次阅读 2016-09-01 17:26:03
    package com.first.common.utility.idcard; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; import com.s
  • Java 学习路线

    万次阅读 多人点赞 2018-01-06 13:21:35
    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根据个人实际的...
  • 想要了解有关常见的Java相关面试问题的更多信息?查看这篇文章可以了解有关投资银行最佳面试问题的更多信息。 多线程和并发问题是任何Java面试的重要组成部分。如果你要去投资银行面试,例如巴克莱,花旗银行,摩根...
  • java代码获取近15天日期

    千次阅读 2017-08-08 15:00:01
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");...String startTime = df.format(new Date().getTime()-15*24*60*60*1000); String endTime = df.format(new Date()); System.out.println(startTime); Syst
  • 发布版本说明根据发布的规划,这次发布的 JDK 15 将是一个短期的过度版,只会被 Oracle 支持(维护)6 个月,直到明年 3 月的 JDK 16 发布此版本将停止维护。而 Ora...
  • java实现开根号

    万次阅读 2017-08-22 20:46:51
    java开根号
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件 4个目标文件 内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理 ...
  • Java最新JDK和API下载(持续同步更新于官网)

    万次阅读 多人点赞 2021-02-26 12:09:30
    Java最新JDK和API下载(持续同步更新于官网) 提供涵盖所有主流操作系统(包括Windows、Linux、MacOS等)的Java最新稳定版JDK和对应API的下载 以下所有Java JDK的安装包、压缩包(免安装版)以及对应的API,均直接...
  • JDK15的下载安装+环境变量配置

    万次阅读 多人点赞 2020-10-28 10:59:29
    JDK15的下载安装+环境变量配置 文章目录1. JDK的下载2. JDK的安装3. 环境变量的配置4. 测试 1. JDK的下载 首先我们需要先点击此处进入JDK15的下载地址。 滑倒最下方,就可以开始选择JDK安装的类型,这里根据你自己...
  • java工程师15本必读书籍推荐

    千次下载 热门讨论 2013-04-08 07:37:10
    java工程师15本必读书籍推荐
  • Java面试题(11) 整理Java面试题及参考答案

    千次阅读 多人点赞 2019-02-23 21:50:32
    下面是最近收集的一些Java面试题: Java面试题(01) Java面试题(02) Java面试题(03) Java面试题(04) Java面试题(05) Java面试题(06) Java面试题(07) Java面试题(08) ...Java面试题(15) J...
  • 解决安装jdk15.0.1版本之后没有jre文件夹的方法: 第一步: ... 之后执行以下命令:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre 执行之后就会看到文件夹下面有jr...
  • JAVA获取随机数

    万次阅读 2018-04-15 16:01:42
    JAVA获取随机数 java中一般是通过Random类来获取随机数,构造函数一般有两种形式 - Random(long seed); - Random(); 第一种是利用seed作为随机发生器的种子 而第二种省略了seed,则则利用系统时间作为...
  • 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外, 还必须有其它几个依赖包: commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar  这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,258,995
精华内容 503,598
关键字:

java15

java 订阅