java语言的工作原理是什么?java培训机构来讲解

更新时间: 2019-10-08 15:43:40来源: 粤嵌教育浏览量:10100

       java作为一门很受欢迎的开发语言,一直以它简单、运用广泛被IT行业所重视着。那么JAVA语言的工作原理是什么呢?对于很多想要学习java语言的学员来说说,在学习的时候弄清楚java语言的工作原理是非常的重要的。只有整理清楚了才可以快速的进入到学习java语言的状态,下面就跟着java培训机构的小编来学习下java语言的工作原理吧。
  1、java类加载器的分类

  Java中的类加载器主要分为以下四类:

  (1)根类加载器(BootStrapClassLoader), 主要负责加载jre/lib/rt.jar相关的字节码文件的。

  (2)扩展类加载器(ExtensionClassLoader), 主要负载加载 jre/lib/ext/*.jar 这些jar包的。 该类加载器在JDK1。9的时候更名为: Platform Class Loader, 其父类加载器为: null。

  (3)应用程序类加载器(ApplicationClassLoader), 主要负责加载用户自定义的类以及classpath环境变量所配置的jar包的。 该类加载器在JDK1.9的时候更名为: System ClassLoader, 其父类加载器为: ExtensionClassLoader。

  (4)自定义类加载器(UserClassLoader), 负责加载程序员指定的特殊目录下的字节码文件的。大多数情况下,自定义类加载器只需要继承ClassLoader这个抽象类,重写findClass()和loadClass()两个方法即可。

  2、java类加载器的类加载机制

  ,我们再来聊一聊”类加载机制”,在JVM中类加载机制主要有3种:

  (1)全盘加载。顾名思义,就是当某一个类加载器加载某个.class文件时, 默认也会连同该文件所依赖的.class一起加载(除非显示声明通过某个指定的类加载器加载)。

  (2) 缓存机制。即所有类加载器已经加载过的.class文件都会被保存到缓存中,下次使用该.class文件时,JVM会优先从缓存中查找,如果没有,才会去加载指定的字节码文件,这也是为什么当字节码文件变化后, 需要重启JVM后才能看到修改效果的原因。

  (3)双亲委派。大白话解释,儿子(App)要星星,他自己实现不了,就找他老爹(Ext)要,他老爹能实现的话就给他了,实现不了,就找他爷爷(BootStrap)要,说: 你孙子要天上的星星。他爷爷如果能实现就给了,如果也实现不了,就会告诉他爹(Ext),让你儿子(App)自己实现吧。这种情况有点极端,属于谁都没有加载,则程序报错,会抛出异常。

  (4)总结: 类加载器自上而下检查(App --> Ext --> BootStrap),自下而上加载(BootStrap --> Ext --> App)。


  3、java类加载器的概述

  类加载器(ClassLoader)是负责加载类的对象的,也就是将.class字节码文件加载到JVM内存中的。那它什么时候才会去加载.class字节码文件呢? 答案是: 当Java程序次使用某个类中的内容,而该类的字节码文件在内存中不存在时,类加载器就会去加载该类的字节码文件。

  俗话说”渡人先渡己”,要想成为别人的榜样,帮助别人。首先要做好自己。生活中如此, 类加载器也一样。要想加载我们自定义的类,类加载器必须先完成”自加载”的过程。聊到这,不得不提的就是”类加载器的分类”了。

  以上就是粤嵌科技的小编给大家整理的关于java语言的工作原理的内容,希望大家在开始学习java技术的时候可以有用。如果说你想要学习java技术的话,那么粤嵌科技欢迎大家来我们公司进行实地考察,也可以点击我们文章下面的获取试听资格按钮来获取我们的java培训免费试听资格,来体验我们的java课程并和我们的java讲师进行面对面的交流和沟通,粤嵌科技的java培训班欢迎每位想要学习java技术的学员来我们的班级进行免费体验学习。

免费预约试听课