
jdk16学习
文章平均质量分 80
码农包工头
硕士
java开发11年
大数据开发6年
深度网络开发2年
研发总监
人工智能高级开发工程师
展开
-
jdk16全面学习之jls的第十章Arrays
jdk16全面学习之jls的第十章Arrays1 数组的元素类型同样遵循上溯规则2 数组的类型是运行时接口表示3 小结 这一章是关于数组的部分介绍,相对简单一些.主要是数组的类型判断,至于多维数组和数组的初始化,由于比较简单,这里不再详述.1 数组的元素类型同样遵循上溯规则 调试如下简单的代码package com.company;// 定义了point类class Point { int x, y; }//定义了point的子类class ColoredPoint extends原创 2021-09-15 13:37:45 · 231 阅读 · 0 评论 -
jdk16全面学习之jls的第九章Interfaces
jdk16全面学习之jls的第九章Interfaces1 接口的继承没有传递性1.1 方法的重写1.2 继承不可传递1.3 default方法的调用1.4 静态方法无法继承2 注解3 总结 这一章是就是针对接口学习的.之前有过接口的初步学习,这里将深入展开.1 接口的继承没有传递性1.1 方法的重写 与抽象类不同,接口的方法可以任意的重写和改写.编辑如下代码MethodRewrite.javainterface PointInterface { int v = 2; sta原创 2021-04-18 11:23:32 · 327 阅读 · 1 评论 -
jdk16全面学习之jls的第八章Classes[下]
jdk16全面学习之jls的第八章Classes[下]1 构造方法的初始化1.1 默认的初始化方法1.2 内部类的初始化2 实例方法必须在实例化后调用的原则3 属性的初始化4 总结 这是关于classes的最后一部分,主要学习一下类成员的初始化.不同于cpp,java在语言层面并不是任何变量都有默认的初始值,有些可能会报错,同时各类型的成员也要按照一定的顺序完成初始化.1 构造方法的初始化 首先是类的实例构造方法.构造方法本事属于一类方法,如同其它方法一样,也有方法签名.普通的初始化方法较简单,原创 2021-04-17 15:34:07 · 143 阅读 · 0 评论 -
jdk16全面学习之jls的第八章Classes[中]
jdk16全面学习之jls的第八章Classes[中]1 接口的继承深入2 类成员屏蔽深入2.1 属性的屏蔽深入2.2 方法的屏蔽深入3 小节 关于classes的第二部分主要介绍类的成员,但是首先还是介绍一下接口在继承中的更深入的部分,其次是成员的屏蔽的深入学习.1 接口的继承深入 之前已经有了接口的初步学习,这里再延伸一下.编辑如下代码InterfaceMore.javapublic class InterfaceMore{}interface Frob { float v = 2.原创 2021-04-17 11:48:15 · 140 阅读 · 0 评论 -
jdk16全面学习之jls的第八章Classes(上)
jdk16全面学习之jls的第八章Classes[上]1 主要内容2 类的划分2.1 abstract2.1 strictfp2.3 final2.4 static3 增强的内部类初步4 接口的使用初步5 小节 这一章是关于类的,内容会很多,主要由是类的不同修饰符所划分的不同的种类,其次是类的成员,最后就是与继承等相关的一些规则.这里首先学习一下类的种类及接口相关的内容.1 主要内容 首先是类的修饰符,包括abstract,final,strictfp和static,由这些修饰符修饰的类也就分成原创 2021-04-16 12:08:54 · 169 阅读 · 0 评论 -
jdk16全面学习之jls的第七章Packages and Modules
jdk16全面学习之jls的第七章Packages and Modules1 模块系统1.1 模块出现的由来1.2 模块的使用限制1.3 对包进行安全限制1.4 模块的一些使用语法2 总结 这一章主要讲述了包和模块的概念及定义,关于包的东西应该都熟悉,所以这里主要介绍一下模块的概念,相关的用途会在后续章节中给出.1 模块系统1.1 模块出现的由来 和包的作用类似,模块也是容纳文件的一种手段.包作为目录,包含了各种文件,包括java源文件.同样,模块作为容纳文件的容器,也包含包括包在内的各种文件原创 2021-04-14 14:36:21 · 176 阅读 · 0 评论 -
jdk16全面学习之jls的第六章Names
jdk16全面学习之jls的第六章Names1 主要内容概述2 变量的重名演示3 方法调用规则初步4 总结 这一章与命名空间有关,虽然在java语言层面没有命名空间的概念,但是却有着类似的功能.1 主要内容概述 与类,方法等语句块相关的都会涉及访问权限等问题,这其实就是命名空间的一个子功能. 首先是命名规则,这个一般都知道,没有什特殊的,其次是本地变量和实例变量(其实就是栈和堆的变量)的重名问题,最后就是方法调用的权限与规则. 无论是在cpp还是在jvm中,方法调用都要且必须经过权限的核原创 2021-04-14 10:21:02 · 140 阅读 · 0 评论 -
jdk16全面学习之jls的第五章Conversions and Contexts
jdk16全面学习之jls的第五章Conversions and Contexts1 转换中的精度丢失2 jvm类型转换规则详述2.1 规则一: 类型和指针分离2.2 规则二: 左值屏蔽右值2.3 规则总结3 总结 这一章其实是对第四章类型变量值的进一步补充,包括了类型转换过程中的精度丢失等.主要分为两部分,一是在转换过程中的精度问题,二是jvm本质的类型转换规则.1 转换中的精度丢失 这里的转换主要针对数值而言,比如float转为int时发生的精度丢失.运行如下代码Float2Int.java原创 2021-04-13 12:41:58 · 285 阅读 · 0 评论 -
jdk16全面学习之jls的第四章Types, Values, and Variables
jdk16全面学习之jls的第四章Types, Values, and Variables1 主要内容2 数值溢出3 栈上的引用4 泛型5 类型转换初步6 总结 这里首先把intellij的版本升级为2021.1,该版本支持jdk16,之前使用的预览版本可以舍弃了.1 主要内容 关于java的类型,值和变量,之前在cpp的介绍中有介绍,因为jvm是使用cpp编写的,所以在这些方面也是一脉相承的.主要内容有: 1 数值类型的溢出 2 栈上的引用 3 泛型 4 类型转换初步2 数值原创 2021-04-13 11:13:40 · 159 阅读 · 0 评论 -
jdk16全面学习之jls的第三章lexical Structure
jdk16全面学习之jls的第三章lexical Structure1 核心内容2 代码演示2.1 string literals2.2 text blocks3 总结 此部分为Jls的第三章词法结构的解析.1 核心内容 本章的核心内容是介绍了基于unicode的jvm内部的编码及语法词的读入和解析. 在jvm层面,字符的unicode是按照utf-16来编码的,也是内存存储和执行的基础.输出可以是任何编码形式,没有什么特殊的限制. 源文件通过utf-16的编码后,被不同的分隔符或编译令原创 2021-03-31 10:54:49 · 178 阅读 · 0 评论 -
Jdk16全面学习之JLS章节说明
Jdk16全面学习之JLS章节说明1 各章节概述1.1 introduction1.2 grammars1.3 lexical structure1.4 types,values and variables1.5 conversions and contexts1.6 names1.7 packages and modules1.8 classes1.9 interfaces1.10 arrays1.11 exceptions1.12 execution1.13 binary compatibility1.原创 2021-03-30 15:12:12 · 639 阅读 · 0 评论 -
jdk16全面学习说明
jdk16全面学习说明1 代码示例1.1 jdk16下载1.2 intellij学习工程2 学习路线3 总结 开这个系列我也是思考了许久.从2014年3月jdk8出来之后,到现在已经过去了7年,继jdk11这个lts之后,jdk17的lts在今年9月份就要到来.目前广泛使用的jdk8就会逐步进入淘汰的节奏. 在这个节骨眼上,本人还是觉得有必要把jdk16彻底搞明白,作为迎接使用jdk17的前奏,是非常必要的.本人作为一线开发人员,也会从开发的角度全面解析jdk16. 这里全面学习的路线就是严格原创 2021-03-30 13:27:32 · 1752 阅读 · 0 评论