![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jdk8之后的新特性
文章平均质量分 63
nanshaws
Java,喜欢c,会一点c#,kotlin和c加加,欢迎大家和我做朋友,一起学习,共同进步,祈求面试和内推
展开
-
jdk17出现错误无法初始化主类 和NoClassDefFoundError:Vector的解决方法
jdk17出现错误无法初始化主类 和NoClassDefFoundError:Vector的解决方法原创 2024-03-11 10:01:25 · 690 阅读 · 0 评论 -
C++矢量运算与java矢量运算
矢量运算概述:矢量运算是一种基于向量的数学运算,它遵循特定的法则。以下是矢量运算的一些基本原理:矢量加法:可以使用平行四边形法则或三角形法则来执行。当两个矢量相加时,可以将它们的起点放在同一个点上,然后根据平行四边形法则,从这两个矢量的尾部画两条线,使其首尾相连,形成一个平行四边形。这个平行四边形的对角线即表示两矢量之和。如果使用三角形法则,则是将一个矢量的尾部与另一个矢量的头部相连,形成三角形,再从第一个矢量的起点到第二个矢量的尾部画一条线,这条线代表两矢量之和。矢量减法:被视作矢量加法的逆运原创 2024-03-08 23:44:52 · 662 阅读 · 9 评论 -
java操作内存,简单讲解varhandle的使用
按理说jdk8的unsafe类就够用了,估计是因为不安全的原因,到jdk9出了个varhandle类,到jdk21的时候出了Arena和MemorySegment,基本就可以取代unsafe类的使用了。这里我主要讲varhandle类,因为大部分人升级jdk顶多升到jdk17。原创 2024-03-08 10:57:50 · 349 阅读 · 0 评论 -
jdk10的var局部变量类型推理
允许在声明隐式类型 lambda 表达式的形式参数时使用var ,通过在枚举(泛型枚举)中允许类型变量,并对枚举常量执行更清晰的类型检查,增强 Java 语言中构造的表达能力enum。2、jdk10提出这个方案的原因:也是因为开发人员认为本地方法里面的类型声明通常被认为是不必要的,并且几乎所有其他流行的静态类型“大括号”语言,无论是在JVM上还是在JVM上,都已经支持某种形式的局部变量类型推断:C++(auto),C#(var),Scala(var/val),Go(声明)。原创 2023-10-29 12:36:19 · 118 阅读 · 0 评论 -
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
因此,Java 开发人员有时会将数据平展为单个对象(例如,字节数组或直接字节缓冲区),但更常见的是,由于通过 JNI 传递 Java 对象很慢,他们使用 API 分配堆外内存并将其地址作为方法传递给方法 - 这使得 Java 代码非常不安全!更严重的是,仅当缓冲区对象被垃圾回收时,才会释放支持直接字节缓冲区的内存,这是开发人员无法控制的。这里要注意一点,我是在0号位置set 3d占了8个字节,取的时候,就是在0号位置,取8个字节,这个JAVA_DOUBLE是所占的单位,因为double一般是8个字节。原创 2023-10-21 10:28:56 · 751 阅读 · 0 评论 -
jvm的jshell,学生的工具
在学习编程语言时,即时反馈很重要,并且 它的 API。读取-评估-打印循环 (REPL) 是一个交互式编程工具,它循环,不断读取用户输入, 评估输入,并打印输入的值或描述 状态更改导致的输入。Scala, Ruby, JavaScript, Haskell,Clojure和Python都有REPL,并且都允许小的首字母 程序。二、则是在我看来,也就是引起别人学习java的小玩意。在我看来,很鸡肋,一、是因为其终端输入和编写的不便。没有仪式,学习和探索是精简的。可以看出,能够执行片段代码。原创 2023-10-20 22:21:29 · 216 阅读 · 0 评论 -
jdk9模块化
在传统的Java应用程序中,类库和依赖项必须手动设置,并在启动时加载。模块化系统解决了这个问题,因为每个模块的依赖项都是明确的,因此运行时加载和启动时间将更快,并且不会发生冲突。模块化系统提出了一种新的代码组织方式,它可以帮助开发人员更好地组织和管理代码,从而使Java应用程序更加可维护、可扩展和安全。Java 9的模块化系统基于模块概念,即Java开发人员现在可以将他们的代码组织成一个个小的、相互依赖的模块。每个模块都有明确的接口和实现,因此即使在代码的修改和维护时,也可以避免出现问题。原创 2023-10-20 21:56:55 · 212 阅读 · 0 评论 -
jdk11的HttpClient
这个例子很简单,就是现在HttpRequest里面构造一下uri ,timeout,Get请求,通过build方法进行构造,不得不说,现在私有化构造器的同时一般都采用建造者模式,又或者为了单一对象考虑,比如说自己类里面new了一个对象,然后搞一个方法return出去,我们还可以通过反射来new 这种类的对象。上面的截图来自openjdk的官网,注:openjdk是个开源项目,不存在侵权现象。具体出在jdk11 稳定版里面,可以说11版本成型,接下来我举个小例子。其实早在jdk9的时候这个方案就在孵化中。原创 2023-10-20 13:32:47 · 184 阅读 · 0 评论