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

html做游戏网站江苏省建设工程信息网官网

html做游戏网站,江苏省建设工程信息网官网,深圳建网站seo,电商网站维护费用参考链接#xff1a; JDK JRE和JVM之间的区别 首先是JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 在JDK的安装目录下有一个jre目录#xff0c;里面有两个文件夹bin和lib#xff0c;在这里可以认为bin里的就是jvm#xff0c;lib中则是jvm工作所需要…参考链接 JDK JRE和JVM之间的区别 首先是JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 在JDK的安装目录下有一个jre目录里面有两个文件夹bin和lib在这里可以认为bin里的就是jvmlib中则是jvm工作所需要的类库而jvm和 lib合起来就称为jre。 然后我们来看JRE JREJava Runtime EnvironmentJava运行环境包含JVM标准实现及Java核心类库。JRE是Java运行环境并不是一个开发环境所以没有包含任何开发工具如编译器和调试器  最后JVM也一目了然了 JVM是Java Virtual MachineJava虚拟机的缩写JVM是一种用于计算设备的规范它是一个虚构出来的计算机是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 由上图一目了然 JDK是整个Java的核心包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分能够运行以Java语言写的程序。  JVM体系结构与运行原理 Java语言写的源程序通过Java编译器编译成与平台无关的‘字节码程序’(.class文件也就是01二进制程序)然后在OS之上的Java解释器中解释执行。  JVM整个类加载过程的步骤  1.       装载  装载过程负责找到二进制字节码并加载至JVM中JVM通过类名、类所在的包名通过ClassLoader来完成类的加载同样也采用以上三个元素来标识一个被加载了的类类名包名ClassLoader实例ID。  2.       链接  链接过程负责对二进制字节码的格式进行校验、初始化装载类中的静态变量以及解析类中调用的接口、类。  完成校验后JVM初始化类中的静态变量并将其值赋为默认值。  最后对类中的所有属性、方法进行验证以确保其需要调用的属性、方法存在以及具备应的权限例如public、private域权限等会造成NoSuchMethodError、NoSuchFieldError等错误信息。  3.       初始化  初始化过程即为执行类中的静态初始化代码、构造器代码以及静态属性的初始化在四种情况下初始化过程会被触发执行  调用了new  反射调用了类中的方法  子类调用了初始化  JVM启动过程中指定的初始化类。  ClassLoader抽象类的几个关键方法  1       loadClass  此方法负责加载指定名字的类ClassLoader的实现方法为先从已经加载的类中寻找如没有则继续从parent ClassLoader中寻找如仍然没找到则从System ClassLoader中寻找最后再调用findClass方法来寻找如要改变类的加载顺序则可覆盖此方法  2       findLoadedClass  此方法负责从当前ClassLoader实例对象的缓存中寻找已加载的类调用的为native的方法。  3       findClass  此方法直接抛出ClassNotFoundException因此需要通过覆盖loadClass或此方法来以自定义的方式加载相应的类。  4       findSystemClass  此方法负责从System ClassLoader中寻找类如未找到则继续从Bootstrap ClassLoader中寻找如仍然为找到则返回null。  5       defineClass  此方法负责将二进制的字节码转换为Class对象  6       resolveClass  此方法负责完成Class对象的链接如已链接过则会直接返回。  JVM 运行时数据区   第一块PC寄存器  PC寄存器是用于存储每个线程下一步将执行的JVM指令如该方法为native的则PC寄存器中不存储任何信息。  第二块JVM栈  JVM栈是线程私有的每个线程创建的同时都会创建JVM栈JVM栈中存放的为当前线程中局部基本类型的变量java中定义的八种基本类型boolean、char、byte、short、int、long、float、double、部分的返回结果以及Stack Frame非基本类型的对象在JVM栈上仅存放一个指向堆上的地址  第三块堆Heap  它是JVM用来存储对象实例以及数组值的区域可以认为Java中所有通过new创建的对象的内存都在此分配Heap中的对象的内存需要等待GC进行回收。  第四块方法区域Method Area  1在Sun JDK中这块区域对应的为PermanetGeneration又称为持久代。  2方法区域存放了所加载的类的信息名称、修饰符等、类中的静态变量、类中定义为final类型的常量、类中的Field信息、类中的方法信息当开发人员在程序中通过Class对象中的getName、isInterface等方法来获取信息时这些数据都来源于方法区域同时方法区域也是全局共享的在一定的条件下它也会被GC当方法区域需要使用的内存超过其允许的大小时会抛出OutOfMemory的错误信息。  第五块运行时常量池Runtime Constant Pool  存放的为类中的固定的常量信息、方法和Field的引用信息等其空间从方法区域中分配。  第六块本地方法堆栈Native Method Stacks  JVM采用本地方法堆栈来支持native方法的执行此区域用于存储每个native方法调用的状态。 参考资料  http://www.open-open.com/lib/view/open1408453806147.html
http://www.huolong8.cn/news/352737/

相关文章:

  • 网站开发团队需要几个人网页设计和网站设计
  • 5118网站是免费的吗网上服务旗舰店
  • 谷歌网站收录提交深圳做网站需要多少费用
  • 厦门市建设协会网站网站建设服务费的摊销期限
  • 企业网站开发价格wordpress页脚底部代码
  • 网站怎么设计wordpress 架构
  • 宁波制作网站哪个好写轮眼python代码
  • 甘肃省交通建设集团有限公司网站企业网站用什么系统好
  • 关于营销的网站有哪些wordpress建站页面
  • 网站数据库问题软文推广平台排名
  • 做静态网站怎样让图片自己切换可以看qq空间的网站
  • 黄冈市建设银行网站c 网站模板
  • 社群网站建设如何看网站是否正常
  • 怎么做专门卖二手衣服的网站南通网络科技的公司网站
  • 个人网站设计开题报告网站软文推广网站
  • 百度免费建立网站吗网站没备案怎么做淘宝客
  • 网站建设公司-信科网络在线文档网站源码
  • 建微网站需要购买官网主机吗城乡建设部网官方网站
  • 国企网站建设的意义用什么网站做问卷
  • 在公司平台做网站竞拍网站制作 北京网站建设公司
  • 广州开发区建设局网站黄埔数据分析培训
  • 有没有学做零食的网站网站建设网络营销平台: 云搜系统
  • 云南省建设厅网站四川做网站的
  • 宿州网站建设时间网站开发需要学php吗
  • 城乡建设学校网站南京怎样优化关键词排名
  • 重庆网站建设优化排名学计算机网络技术的就业方向
  • 做海报在哪个网站可以找素材品牌策划公司招聘
  • 一个旅游网站建设需求分析江门制作手机网站
  • 企业网站seo诊断工具企业所得税规避50种
  • 怎么做网站代理商物流公司招聘信息