第5章【JDK21是最新版吗?】
答:截止2024年3月,JDK21是Oracle所发布的JDK最新版。
2023年9月19日,Oracle?发布了?JDK21,是自?JDK17?之后最新的 LTS版本(long-term support,长期支持版)。
LTS版本,一般每两年发布一个,JDK目前的LTS版本有:JDK8、JDK11、JDK17、JDK21。
Java21新特性:(?oracle jdk、openjdk文档)
1、字符串模板(预览版)
2、虚拟线程
(在JDK19中是预览版,在JDK21中是正式版,会大大改变多线程的编程风格,以及解决问题的方式)
3、顺序集合
(JDK21引入了SequencedColle、Seque、SequencedMap接口,这些接口提供了在集合开头或结尾处添加、修改或删除元素的方法,以及反转集合的功能)
4、分代ZGC(属于JVM层面的功能)
5、记录模式
6、Switch的模式匹配
7、未命名模式和变量(预览版)
8、未命名类和实例的main方法(预览版)
9、作用域值(预览版)
10、矢量API(第六个孵化器)
11、弃用Windows32位x86端口
12、禁止代理的动态加载
13、密钥封装机制的API
(引入密钥封装机制(KEM)的 API,是一种使用公钥加密来保护对称密钥的加密技术)
14、结构化并发(预览版,简化并发编程)
15、外部函数与内存API(第三次预览版)
——————————
第6章【JDK1.8、JDK8、JDK8.0,是同一个JDK吗?】
答:是,JDK1.8,就是JDK8,或者JDK8.0,它们是同一个版本的不同命名方式。
Java Development Kit(JDK)是Sun Microsystems针对Java开发员的产品,自从被Oracle收购后,其更新和发布由Oracle负责。
在版本的迭代过程中,最初的版本命名为JDK 1、JDK 2等,后来逐渐变为使用小数点分隔的形式如JDK 1.7、JDK 1.8。
因此,无论是JDK8还是JDK1.8或JDK8.0都指的是同一个Java开发工具包版本。
——————————
第7章【在2024年,Java哪个版本的JDK,不需要配置环境变量了?】
答:JDK 9及以后版本,不再需要手动配置CLASSPATH环境变量,JAVA_HOME还是需要看情况配置的。
从JDK 9开始,Java平台引入了模块化系统,这解决了早期版本中,需要配置CLASSPATH的问题。
因此,从JDK 9及以后版本开始,包括JDK 11、JDK 17等,不再需要手动配置CLASSPATH环境变量。
然而,虽然JDK的某些版本可能自动配置了部分环境变量,如PATH,但JAVA_HOME环境变量通常仍需要手动设置。
特别是当需要在多个Java版本之间切换,或需要使用特定的Java配置时。
JAVA_HOME变量,通常指向JDK的安装目录,它帮助其他Java工具或应用,去定位JDK的位置。
值得注意的是,如果采用特定的安装程序(如某些集成开发环境IDE自带的JDK安装程序),可能在安装过程中,就已经自动配置了所需的环境变量,若是在这种情况下,就无需再手动配置。
总的来说,是否需要配置环境变量,取决于具体的JDK版本、安装方式和使用的操作系统。
在安装新的JDK版本时,最好检查并确认环境变量是否已正确配置,以确保Java程序能够正常运行。
如果需要手动配置,可以根据操作系统的不同,在相应的环境变量设置中进行配置。
——————————
第8章【JDK与JRE用法与区别,是什么?】
JDK与JRE,在用法与区别上,主要体现在以下几个方面:
一、用法
1、JDK
JDK是Java开发工具包,它包含了编写和运行Java程序所必需的编译器和解释器等工具。
程序员可以使用JDK编写Java代码,并将其编译成“.class”字节码文件。
此外,JDK还包含了一些用于开发Java应用程序的辅助工具,如调试器和性能分析工具。
2、JRE
JRE是Java运行时环境(Java Runtime Enviro),它包含了运行Java程序所必需的Java虚拟机(JVM)、Java核心类库和支持文件,但不包含开发工具(JDK)。
JRE是Java应用程序所运行的环境,只有安装JRE,才能运行编译好的Java程序。
因此,用户可以只使用JRE,就可以运行已经编译好的Java程序,而无需安装JDK。
二、区别
1、面向人群
(1)JDK主要面向程序员和Java开发人员,为他们提供了编写、编译和运行Java程序所需的全部工具。
(2)JRE则主要面向普通用户,他们只需要运行已经编译好的Java程序,而不需要编写或修改代码。
2、功能与重要性
(1)JDK包含了JRE,因此其功能更加全面,如果你需要编写Java程序,那么必须安装JDK。
(2)如果你只需要运行Java程序,那么只需要安装JRE即可。
3、安装目录
在安装JDK时,电脑会同时安装两套JRE。
一套是JDK自带的JRE,位于JDK安装目录下的“jre”子目录中。
另一套是独立的JRE安装,其默认安装位置通常在系统的程序文件目录下。
综上所述,JDK和JRE在用法和区别,主要体现在其面向的人群、功能与重要性,以及安装目录上。
JDK更侧重于开发,而JRE更侧重于运行。
对于Java开发人员来说,JDK是必不可少的工具,而对于普通用户来说,只需要安装JRE就可以运行Java程序了。
——————————
第9章【常见的Java编程问题,有哪七点?】
答:常见的Java编程问题有七个,即空指针异常、类型转换异常、并发问题、内存泄漏、代码重复、数据库连接问题、性能问题、、
下面就是一些常见的JAVA编程问题:
1、空指针异常:
这是JAVA开发中最让人头疼的问题之一。
当你试图访问或操作一个为null的对象时,就会抛出这个异常。
为了避免这个问题,一定要在使用对象之前进行非空判断。
2、类型转换异常:
当你尝试将一个对象转换为不兼容的类型时,就会发生这种异常。
例如,将一个整数转换为字符串是合法的,但将一个字符串转换为整数(如果字符串不是有效的数字)就会导致异常。
为了避免这种情况,你可以在转换之前使用instanceof来检查对象的类型。
3、并发问题:
在多线程环境中,如果多个线程试图同时访问和修改共享资源,就可能出现并发问题,如数据不一致或死锁。
为了解决这个问题,你可以使用同步机制,如Synized关键字或Lock接口。
4、内存泄漏:
如果你的程序长时间持有不再需要的对象,不释放其占用的内存,就可能导致内存泄漏。
这会使程序运行变慢,甚至导致系统崩溃。
为了避免内存泄漏,你可以使用垃圾回收器,并确保在不再需要对象时及时释放其占用的资源。
5、代码重复:
重复的代码,不仅增加了维护的复杂性,还可能导致逻辑错误。
你应该尽量遵循“DRY”(Don't Repeat Yourself)原则,将重复的代码封装成方法或类,并在需要的地方,调用或实例化它们。
6、数据库连接问题:
在进行数据库操作时,可能会遇到连接超时、SQL注入、数据库崩溃等问题。
为了确保数据的安全和稳定,你应该使用连接池来管理数据库连接,并对用户输入,进行验证和过滤,防止SQL注入攻击。
7、性能问题:
Java程序在运行时,可能会出现性能瓶颈,如响应时间过长、资源消耗过多等。
为了优化性能,你可以使用性能分析工具,来找出瓶颈所在,并进行针对性的优化,如改进算法、减少不必要的对象创建等。
以上,就是JAVA编程中常见的一些开发问题了。
当然,具体问题可能因项目的需求和复杂性而有所不同。
所以,作为一名优秀的JAVA开发者,你应该具备解决问题的能力,能够迅速定位,并修复这些问题,以确保程序的稳定运行。
好了,今天的分享就到这里了,你学到%多少啦?
(本章完)
————题外话————
如有疑问,或倾诉,请留言告诉我哟~~~
每天一点点,十年亿点点!
从今天开始,你永远不晚。