当前位置: 首页 > news >正文

关注济南网站建设trinseo公司

关注济南网站建设,trinseo公司,自己做网站 怎么赚钱,建立网站的步骤是什么回到2018年的抖音哈哈. 回顾下: java开发环境: java编译运行过程: 1) 编译期:.java源文件,经过编译,生成.class字节码文件 2) 运行期:JVM加载.class并运行.class(0和1) 特点: 跨平台、一次编程,处处报错 名词解释: 1…

回到2018年的抖音哈哈.

回顾下:

  1. java开发环境:

    java编译运行过程:
    • 1) 编译期:.java源文件,经过编译,生成.class字节码文件

      2) 运行期:JVM加载.class并运行.class(0和1)

      特点: 跨平台、一次编程,处处报错

    • 名词解释:

      1) JVM: java虚拟机

      加载.class并运行.class

      2) JRE: java运行环境

      除了包含JVM以外,还包含了运行java程序所必须的环境

      JRE = JVM+java系统类库(小零件)

      3) JDK: java开发工具包

      除了包含JRE以外,还包含了开发java程序所必须的命令工具

      JDK=JRE+编译、运行等命令工具

      结论:

      1) 运行java程序的最小环境为JRE

      2) 开发java程序的最小环境为JDK

Java中类加载器:

1.引导类加载器(启动类加载器):负责加载支撑JVM运行的位于JAR的lib类库.(该对象实际上是C++生成的对象)

BootstrapClassLoader

由引导类加载器负责加载创建其他类的加载器

2.扩展类加载器:负责加载支撑JVM运行的JRE的lib目录下的ext扩展目录下的jar包ExtensionClassLoader

3.应用程序类加载器:负责加载ClassPath路径下的类.主要就是自己写的类

ApplicationClassLoader

4.自定义加载器:负责加载用户自定义路径下的类

流程:

1.windows系统下,java.exe调用底层的jvm.dll文件创建java虚拟机(C++实现)

2.java虚拟机创建一个引导类加载器(C++实现)

3.引导类加载器加载sun.mis.Launcher创建其他类加载器

4.(其实加载的时候就初始化好了)通过Launcher.getLauncher()创建ExtClassLoader(扩展类加载器)和AppClassLoader(应用类加载器)

JVM启动器实例sun.mis.Launcher初始化使用单例模式,保证JVM虚拟机只有一个sun.mis.Launcher实例,在Launcher构造方法内部,创建了两个类加载器

分别是:

1.sun.misc.Launcher.ExtClassLoader(扩展类加载器)

2.sun.misc.Launcher.AppClassLoader(应用类加载器)

JVM默认使用Launcher.getClassLoader()方法返回AppClassLoader实例加载我们的应用程序

而 this.loader如下  是将ExtClassLoader做为参数给了AppClassLoader,因此也可以说ExtClassLoader是AppClassLoader生父

 大概就是这么个意思

关于双亲委派机制

 

 双亲委派机制说简单点就是,先找父亲加载,不行再由儿子自己加载

双亲委派机制的目的:

1.沙箱安全机制:防止核心 API库被随意篡改
2.避免类的重复加载:当父亲已经加载了该类时,就没有必要子ClassLoader再加载一
次,保证被加载类的唯一性

全盘负责委托机制
全盘负责:是指当一个ClassLoder装载一个类时,除非显示的使用另外一个ClassLoder,该类
所依赖及引用的类也由这个ClassLoder载入。
关于自定类加载器:百度.自定义加载器的父加载器是AppClassLoader.是父加载器....不是父类

自定义类加载器只需要继承java.lang.ClassLoader类.

ClassLoader类有两个核心方法,一个是loadClass(String str,boolean b)

上面这个方法,实现了双亲委派机制

还有一个方法是findClass 

默认是空实现

自定义类加载器主要是重写findClass方法

如果想打破双亲委派机制,那么自定义加载器重写ClassLoader里loadClass(String str,boolean b)方法,百度一堆

Tomcat打破双亲委派机制的原因在于它可能部署不同的应用,那么不同应用可能依赖于同一个第三方,但是不同版本的依赖,这样的话,不能要求这些第三方依赖只有一份,因要要保证这些依赖的独立存在,就需要打破双亲委派机制.另外就是相同依赖的类库只需要一份,不然负担太重
其实有点相互矛盾,指定需要打破双亲委派的路径即可

http://www.dinnco.com/news/59905.html

相关文章:

  • 传统网站与营销型网站济南做网站比较好的公司
  • 襄阳网站建设多少钱厦门seo百度快照优化
  • 重庆做网站changeke怎么注册百度账号
  • 建立网站需要什么技术百度网站入口
  • 炎陵做网站长沙网站制作
  • 穿衣搭配的网站如何做bt磁力种子
  • 公司网站建设建议书互联网推广话术
  • 微信crm系统软件重庆seo推广
  • wordpress置顶 自定义文章类型seo查询爱站
  • 大连建网站ciliba最佳磁力搜索引擎
  • 交互网站开发培训沈阳seo优化
  • wordpress首页聚合seo推广一个月见效
  • 汕头网站建设设计公司百度双十一活动
  • 网站过程建设营销推广方式都有哪些
  • 网站自己做服务器网络公司关键词排名
  • 网站制作职业免费网站申请注册
  • 国内重大新闻事件合肥优化排名推广
  • 如何做网站关键词优化哈尔滨seo优化软件
  • 网站建设 APP开发销售怎么做千锋教育怎么样
  • 电商购物网站模板下载常用的搜索引擎有哪些
  • 做网站设计的公司关键词com
  • 建设工程质量安全监督站官方网站长尾关键词排名系统
  • 深圳做生鲜的网站叫什么上海谷歌seo公司
  • 网络营销外包案例杭州企业seo
  • 哪个网站做外贸好做个公司网站多少钱
  • 起点网站书的封面怎们做典型的口碑营销案例
  • 中央农村工作会议在上海召开时间百度seo收录软件
  • 配音网站赚钱网络营销的应用研究论文
  • 怎么做健康咨询网站疫情最严重的三个省
  • magento网站维护什么是网络推广员