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

通辽北京网站建设工作感悟的句子

通辽北京网站建设,工作感悟的句子,wordpress 汇率,南京网站制作招聘1.JVM概述 1.1为什么要学习JVM 通过学习JVM ( java Virtual Machine )可以帮助我们理解java程序运行的过程#xff0c;了解虚拟机中各种机制的实现原理。为后期写出优质的代码做好准备#xff0c;为向更高的层次提升打好基础。 1.2虚拟机 虚拟机的本质就是在windows中…1.JVM概述 1.1为什么要学习JVM 通过学习JVM (  java Virtual Machine )可以帮助我们理解java程序运行的过程了解虚拟机中各种机制的实现原理。为后期写出优质的代码做好准备为向更高的层次提升打好基础。 1.2虚拟机 虚拟机的本质就是在windows中虚拟一个运行的环境分为系统虚拟机比如VMware和程序虚拟机。程序虚拟机的典型代表就是java虚拟机虚拟机是专门为执行某个单个计算机程序而设计。在java虚拟机中执行的指令我们称为java字节码指令。 1.3JVM作用 1负责将字节码加载到内存中运行时数据区 2负责存储数据 3把字节码翻译为机器码并执行 特点一次编译到处运行——现在的JVM不仅可以执行java字节码还可以执行其他语言编译后的字节码文件是一个跨语言平台。自动的内存分配自动垃圾回收功能。 1.4JVM整体组成 1.类加器负责加载字节码文件 2.运行时数据区存储运时数据堆java虚拟机栈运行java自己的方法方法区程序计数器本地方法栈 3.执行引擎更底层把字节码翻译为机器码 4.本地方法接口 程序在执行之前要先把java代码转换成字节码class文件jvm首先需要把字节码通过类加载器把文件加载到内存中的运行时数据区。字节码并不能由底层系统直接执行需要执行引擎将字节码文件翻译成底层系统指令交由cpu去执行在这个过程中需要调用其他语言的本地方法接口来实现整个程序的功能。 2.JVM结构-类加载 2.1类加载器子系统 类加载器子系统负责从文件系统或者网络中加载 class 文件。 classLoader 只负责 class 文件的加载至于它是否可以运行则由 Execution Engine 决 定。加载的类信息存放于一块称为方法区的内存空间。class file 存在于硬盘上,可以理解为设计师画在纸上的模板,而最终这个模板在执行的时候是要加载 JVM 当中来,根据这个模板实例化出 n 个实例.class file 加载到 JVM 中,被称为 DNA 元数据模板. 此过程就要有一个运输工具(类加载器 Class Loader),扮演一个快递员的角色.2.2类加载过程 使用IO读取字节码文件转换并存储, 为每个类创建一个Class类的对象存储在方法区中 链接(验证,准备,解析) 验证: 对字节码文件格式进行验证,文件是否被污染对基本的语法格式进行验证。 准备: 为静态的变量进行内存分配。 public static int value 123value 在准备阶段后的初始值是 0,而不是 123 静态常量final修饰在编译期间就初始化。 解析: 将符号引用转为直接引用将字节码中的表现形式,转为内存中表现(内存地址)。 初始化: 类的初始化,为类中的定义的静态变量进行赋值。 public static int value 123value 在初始化阶段后值是 123. 类什么时候会被加载 1.在类中运行main方法 2.创建对象 3.使用类中的静态变量,静态方法 4.反射 Class.forName(类的地址); 5.子类被加载 以下两种情况类不会被初始化: static final int b 20; 编译期间赋值的静态常量 System.out.println(User.b); User[] users new User[10];  作为数组类型 2.3类加载器 具体的负责加载类的一些代码 1.引导类加载器用c/c语言开发的, jvm底层的开发语言,负责加载java核心类库与java语言无关的。 2.扩展类加载器java 语言编写的,由 sun.misc.Launcher$ExtClassLoader 实现,继承ClassLoader类。从 JDK 系统安装目录的 jre/lib/ext 子目录(扩展目录)下加载类库。 3.应用程序类加载器Java 语言编写的,由 sun.misc.Launcher$AppClassLoader 实现. 派生于 ClassLoader 类。加载程序中自己开发的类。 4.自定义类加载器 双亲委派机制 为了保证程序的安全防止自己写的类替换核心类 java使用按需加载当需要加载一个类时,先委托给父类加载器加载,如果父加载器没有找到,继续向上级委托,直到引导类加载器。父级找到就返回,父级如果最终没有找到,抛出ClassNotFoundException向下委派给子级加载器找到返回该类最终没有找到,报ClassNotFoundException。这是因为要先确保加载系统类。 双亲委派机制,是java提供的类加载的规范但不是强制不能改变的。 我们可以通过自定义的类加载器,改变加载方式. 打破双亲委派机制 可以通过继承ClassLoader类,重写loadClass实现双亲委派的地方不推荐/findClass推荐方法,实现自定义的类加载。 典型的tomcat中,加载部署在tomcat中的项目时,就使用的是自己的类加载器
http://www.tj-hxxt.cn/news/229465.html

相关文章:

  • 公司怎么做网站平台免费申请httq网站?
  • 一流的网站建设案例网站技术制作流程图
  • 简单网站建设哪家便宜济南做网站企业
  • 查找北京建设投标项目网站建筑公司企业所得税
  • wdcp创建多个网站网上打工赚钱的项目
  • 网站建设的未来鹿班设计官网
  • 北京中心网站建设企业邮箱注册哪家好
  • 关于企业网站建设的相关思考网站广告条动画 怎么做
  • 网站设计主要包含3个方面沧州网络推广外包公司
  • 番禺网站(建设信科网络)手机ppt制作
  • 佛山住房和城乡建设厅网站大连旧房翻新装修哪家公司好
  • 广州seo网站开发徐州在线网
  • 建游戏网站网站开发所要达到的目标
  • 德令哈网站建设公司阿里云轻量服务器wordpress
  • 手机端网站建设郑州h5自己制作模板
  • asp.net网站开发书籍营销型建设
  • 网站服务器解决方案如何做网站站内搜索
  • 电子技术支持 东莞网站建设网站开发合同管辖权异议
  • 12306网站开发语言原创 网站 源码
  • 手机建造网站做网站的厉害还是黑网站的厉害
  • 石家庄的网站公司wordpress社群模板
  • 网站建设需要包含什么网站如何验收
  • 网站退出率是什么意思wordpress 表单 入库
  • 班级网站如何去建设桂林网站优化价格
  • 莱芜市城乡建设局网站首页湖南畅想网站建设
  • 连云港做网站网站做百度联盟收入已经很低了
  • 店面门头设计网站jsp网站开发的mvc
  • 陕西四通建设工程有限责任公司网站浙江省国有建设用地使用权建议网站
  • 有没有人一起做网站做网站服务器哪种好
  • 珠海公司网站建设建个简单的网站