一读小说 » 都市言情 » 蓝星文娱:从微末崛起的娱乐大亨 » 第五章:Java基础与配置中的五个问题(5-9小章)

第五章:Java基础与配置中的五个问题(5-9小章)

    答:截止2024年3月,JDK21是Oracle所发布的JDK最新版。

    2023年9月19日,Oracle发布了JDK21,是自JDK17之后最新的LTS版本(long-termsupport,长期支持版)。

    LTS版本,一般每两年发布一个,JDK目前的LTS版本有:JDK8、JDK11、JDK17、JDK21。

    Java21新特性:(oraclejdk、openjdk文档)

    1、字符串模板(预览版)

    2、虚拟线程

    (在JDK19中是预览版,在JDK21中是正式版,会大大改变多线程的编程风格,以及解决问题的方式)

    3、顺序集合

    (JDK21引入了SequencedCollection、SequencedSet、SequencedMap接口,这些接口提供了在集合开头或结尾处添加、修改或删除元素的方法,以及反转集合的功能)

    4、分代ZGC(属于JVM层面的功能)

    5、记录模式

    6、Switch的模式匹配

    7、未命名模式和变量(预览版)

    8、未命名类和实例的main方法(预览版)

    9、作用域值(预览版)

    10、矢量API(第六个孵化器)

    11、弃用Windows32位x86端口

    12、禁止代理的动态加载

    13、密钥封装机制的API

    (引入密钥封装机制(KEM)的API,是一种使用公钥加密来保护对称密钥的加密技术)

    14、结构化并发(预览版,简化并发编程)

    15、外部函数与内存API(第三次预览版)

    答:是,JDK1.8,就是JDK8,或者JDK8.0,它们是同一个版本的不同命名方式。

    JavaDevelopmentKit(JDK)是SunMicrosystems针对Java开发员的产品,自从被Oracle收购后,其更新和发布由Oracle负责。

    在版本的迭代过程中,最初的版本命名为JDK1、JDK2等,后来逐渐变为使用小数点分隔的形式如JDK1.7、JDK1.8。

    因此,无论是JDK8还是JDK1.8或JDK8.0都指的是同一个Java开发工具包版本。

    答:JDK9及以后版本,不再需要手动配置CLASSPATH环境变量,JAVA_HOME还是需要看情况配置的。

    从JDK9开始,Java平台引入了模块化系统,这解决了早期版本中,需要配置CLASSPATH的问题。

    因此,从JDK9及以后版本开始,包括JDK11、JDK17等,不再需要手动配置CLASSPATH环境变量。

    然而,虽然JDK的某些版本可能自动配置了部分环境变量,如PATH,但JAVA_HOME环境变量通常仍需要手动设置。

    特别是当需要在多个Java版本之间切换,或需要使用特定的Java配置时。

    JAVA_HOME变量,通常指向JDK的安装目录,它帮助其他Java工具或应用,去定位JDK的位置。

    值得注意的是,如果采用特定的安装程序(如某些集成开发环境IDE自带的JDK安装程序),可能在安装过程中,就已经自动配置了所需的环境变量,若是在这种情况下,就无需再手动配置。

    总的来说,是否需要配置环境变量,取决于具体的JDK版本、安装方式和使用的操作系统。

    在安装新的JDK版本时,最好检查并确认环境变量是否已正确配置,以确保Java程序能够正常运行。

    如果需要手动配置,可以根据操作系统的不同,在相应的环境变量设置中进行配置。

    JDK与JRE,在用法与区别上,主要体现在以下几个方面:

    一、用法

    1、JDK

    JDK是Java开发工具包,它包含了编写和运行Java程序所必需的编译器和解释器等工具。

    程序员可以使用JDK编写Java代码,并将其编译成“.class”字节码文件。

    此外,JDK还包含了一些用于开发Java应用程序的辅助工具,如调试器和性能分析工具。

    2、JRE

    JRE是Java运行时环境(JavaRuntimeEnvironment),它包含了运行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程序了。

    答:常见的Java编程问题有七个,即空指针异常、类型转换异常、并发问题、内存泄漏、代码重复、数据库连接问题、性能问题

    下面就是一些常见的JAVA编程问题:

    1、空指针异常:

    这是JAVA开发中最让人头疼的问题之一。

    当你试图访问或操作一个为null的对象时,就会抛出这个异常。

    为了避免这个问题,一定要在使用对象之前进行非空判断。

    2、类型转换异常:

    当你尝试将一个对象转换为不兼容的类型时,就会发生这种异常。

    例如,将一个整数转换为字符串是合法的,但将一个字符串转换为整数(如果字符串不是有效的数字)就会导致异常。

    为了避免这种情况,你可以在转换之前使用instanceof来检查对象的类型。

    3、并发问题:

    在多线程环境中,如果多个线程试图同时访问和修改共享资源,就可能出现并发问题,如数据不一致或死锁。

    为了解决这个问题,你可以使用同步机制,如Synchronized关键字或Lock接口。

    4、内存泄漏:

    如果你的程序长时间持有不再需要的对象,不释放其占用的内存,就可能导致内存泄漏。

    这会使程序运行变慢,甚至导致系统崩溃。

    为了避免内存泄漏,你可以使用垃圾回收器,并确保在不再需要对象时及时释放其占用的资源。

    5、代码重复:

    重复的代码,不仅增加了维护的复杂性,还可能导致逻辑错误。

    你应该尽量遵循“DRY”(Don'tRepeatYourself)原则,将重复的代码封装成方法或类,并在需要的地方,调用或实例化它们。

    6、数据库连接问题:

    在进行数据库操作时,可能会遇到连接超时、SQL注入、数据库崩溃等问题。

    为了确保数据的安全和稳定,你应该使用连接池来管理数据库连接,并对用户输入,进行验证和过滤,防止SQL注入攻击。

    7、性能问题:

    Java程序在运行时,可能会出现性能瓶颈,如响应时间过长、资源消耗过多等。

    为了优化性能,你可以使用性能分析工具,来找出瓶颈所在,并进行针对性的优化,如改进算法、减少不必要的对象创建等。

    以上,就是JAVA编程中常见的一些开发问题了。

    当然,具体问题可能因项目的需求和复杂性而有所不同。

    所以,作为一名优秀的JAVA开发者,你应该具备解决问题的能力,能够迅速定位,并修复这些问题,以确保程序的稳定运行。

    好了,今天的分享就到这里了,你学到%多少啦?

    ————题外话————

    如有疑问,或倾诉,请留言告诉我哟~~~

    每天一点点,十年亿点点!

    从今天开始,你永远不晚。