jvm
文章平均质量分 74
油头小兄妹
风雨砥砺,前行不止
展开
-
Java 面试题问与答:编译时与运行时
原文链接::http://www.importnew.com/1796.html在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?转载 2015-03-31 23:06:09 · 429 阅读 · 0 评论 -
JVM学习笔记(三):类的连接
前篇文章说了一下类加载器加载类,这篇文章说一下类的连接过程。类被加载后,就进入连接阶段。连接就是将已经读入到内存的类的二进制数据合并到虚拟机的运行时环境中去。连接过程有三部分组成:1 . 验证类的验证的内容一共有四点:类文件的结构检查:确保类文件遵循Java的固定格式语义检查:确保类文件遵循Java的语法要求,如一个类只能有一个父类等字节码验证:确保字节码流能够原创 2015-04-03 16:13:17 · 587 阅读 · 0 评论 -
JVM学习笔记(二):类加载器
类加载器就是传说中的ClassLoader。他所做的工作就是在类加载阶段将硬盘上的二进制文件加载到内存,转化为存储在方法区中运行时的数据结构。并产生一个位于对中的Class对象:封装了类在方法区的数据结构,为程序员提供了访问方法区数据结构的接口。下面来说说ClassLoader具体的一些细节。ClassLoader分类:首先是JVM自带的集中ClassLoader原创 2015-04-01 16:57:31 · 603 阅读 · 0 评论 -
JVM学习笔记(一):类加载流程
我们都知道java是一个可以跨平台的语言,可以放荡于任何操作系统,这是为什么呢?原因就在于,java其实不是跑在我们的操作系统上的,而是跑在他自己的“操作系统之上”--java虚拟机(JVM)。所以JVM是我们跑java的一个重要前提。搞懂他,很重要!JVM也有自己的生命周期:当程序运行时开始,程序结束时为止。每个Java程序都运行于它自己的Java虚拟机JVM结束生命周期有以下几个情况:原创 2015-04-01 15:39:08 · 734 阅读 · 0 评论 -
JVM学习笔记(四):类的初始化
首先要明确这个标题,是类的初始化,而不是对象的初始化,他们千差万别不要搞混。类初始化:就是按照程序员的意愿执行类的初始化(clinit)方法,给静态变量等赋初值(之前提到准备阶段是给类的的静态变量分配内存,赋null或0值等)。类的初始化语句:静态变量声明语句,以及静态代码块。类的主动使用:创建类的实例、访问类或接口的静态变量,或者对静态变量赋值的,或者调用类的静态方法使用反射初始化类的子类JVM...原创 2015-04-22 21:56:37 · 1114 阅读 · 0 评论 -
jvm参数
一、java 虚拟机一些参数-Dosgi.requiredJavaVersion=1.5 // -D表示设置property 参数,在java代码里面就可以使用System.getProperties("osgi.requiredJavaVersion")获取这个值-Xverify:none //加载代码的时候不进行验证,信任代码的情况下使用,如eclipse启动转载 2015-05-21 17:38:21 · 448 阅读 · 0 评论 -
Java中守护线程的总结
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应转载 2016-03-17 18:32:35 · 362 阅读 · 0 评论