E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【深入JAVA虚拟机】
深入Java虚拟机
文章来自:http://www.qqread.com/java/w872354600.htmlJava技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。它们的关系如下图所示:图1Java四个方面的关系运行期环境代表着Java平台,开发人员编
yang_best
·
2014-10-24 17:00
java
虚拟机
Thinking In JAVA
深入JAVA虚拟机
1. java虚拟机体系结构 2. 运行时内存区域中的程序计数器:就是当前线程所执行的字节码的行号指示器。字节码解释器通过改变这个计数器的值来选取下一条语句。
jiaomingliang
·
2014-10-19 21:00
谈谈java虚拟机
本文可作为北京圣思元
深入java虚拟机
的课堂笔记。
程序员小董
·
2014-10-10 09:48
虚拟机
谈谈java虚拟机
本文可作为北京圣思元
深入java虚拟机
的课堂笔记。
dlf123321
·
2014-10-10 09:00
虚拟机
操作系统
Class
类加载器
JVM深入探索与实践,谈谈我的理解
今天拿到复印到75页概述,估计很少讲解细节的,准备在网上订的《
深入JAVA虚拟机
原书第二版》,看来需要2天时间,京东和亚马逊还没有,嗨,毕竟是2000年的书籍,基于jdk1.4的。
superMarss
·
2014-09-11 23:00
jvm
虚拟机
JVM常量池理解
《
深入JAVA虚拟机
》书中是这样描述的:JVM运行时数据区的内存模型由五部分组成:【1】方法区【2】堆【3】JAVA栈【4】PC寄存器【5】本地方法栈对于Strings="haha",它的虚拟机指令:0
村长kylin
·
2014-09-09 11:00
Java虚拟机ClassLoader入门
最近有强烈的欲望看《
深入Java虚拟机
》,无奈图书馆一直不开门。偶然间看到网上流传的张龙老师的JVM视频教程,就下载下来准备看看。这一看简直停不下来了,张龙讲得非常好。
cqu20093154
·
2014-09-03 13:15
Java
源码阅读
说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《
深入Java虚拟机
》这类书,别人觉得好,
sonchus
·
2014-08-27 23:00
源码
深入Java虚拟机
在JVM中,静态属性保存在Stack指令内存区,动态属性保存在Heap数据内存区。本文将从JVM的角度来讲解Java虚拟机的这一机制。AD:在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。一般,JVM的内存分为两部分:Stack和Heap。Stack(栈)是JVM
LEON_SHI
·
2014-08-19 10:00
jvm
stack
heap
理解Java常量池
本地方法栈对于Strings="haha",它的虚拟机指令:0: ldc #16;//Stringhaha 2: astore_1 3: return对于上面虚拟机指令,其各自的指令流程在《
深入
cyp331203
·
2014-08-13 09:00
【
深入Java虚拟机
】之八:Java垃圾收集机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,
zhb8015
·
2014-06-15 22:00
垃圾收集器
【
深入Java虚拟机
】之八:Java垃圾收集机制
阅读更多转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173对象引用Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就
zhb8015
·
2014-06-15 22:00
垃圾收集器
【
深入Java虚拟机
】之八:Java垃圾收集机制
阅读更多转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173对象引用Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就
zhb8015
·
2014-06-15 22:00
垃圾收集器
java虚拟机内存的各个区域以及各个区域的作用
我会根据
深入java虚拟机
总结一下各个分区。1.程序计数器程序计数器是一块较小的内存空间,作用为当前线程所执行的字节码的行号指示器。
又丑又萌的八戒
·
2014-05-21 22:53
java虚拟机
《
深入Java虚拟机
学习笔记》- 第18章 finally子句
本章主要介绍字节码实现的finally子句。包括相关指令以及这些指令的使用方式。此外,本章还介绍了Java源代码中finally子句所展示的一些令人惊讶的特性,并从字节码角度对这些特征进行了解释。 1、微型子例程 字节码中的finally子句表现的很像“微型子例程”。Java虚拟机在每个try语句块和与其相关的catch子句的结尾处都会
·
2014-05-14 21:00
JAVA虚拟机
《
深入Java虚拟机
学习笔记》- 第15章 对象和数组
1、针对对象的操作码 实例化一个新对象需要通过new操作码来实现。 对象的创建 操作码 操作数 说明 new index 在堆中创建一个新的对象,将其引用压入栈 new操作码后面紧跟一个无符号16位数,表示常量池中的一个索引。在特定偏移量位置处的常量池入口给出了新对象所属类的信息。如果还没有这些信息,那么虚拟机会解析这个常量池入口
·
2014-05-14 21:00
JAVA虚拟机
《
深入Java虚拟机
学习笔记》- 第11章 类型转换
Java虚拟机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶断获得。Java虚拟机从栈顶端弹出一个值,对它进行转换,然后再把转换结果压入栈。 int、long、float、double 类型之间的相互转换 操作码 操作数 说明 i2l (无) 将int类型的值转换为long类类型
·
2014-05-14 21:00
JAVA虚拟机
《
深入Java虚拟机
学习笔记》- 第12章 整数运算
Java虚拟机提供几种进行整数算术运算的操作码,他们执行基于int和long类型的运算。当byte、short和char类型值参与算术运算时,首先会将它们转换为int类型。这些操作码都不会抛出异常,溢出在这里通常可以被忽略。 整数加法 操作码 操作数 说明 iadd (无) 从栈中弹出两个int类型数,相加,然后将所得int类型结果压回栈
·
2014-05-14 21:00
JAVA虚拟机
《
深入Java虚拟机
学习笔记》- 第10章 栈和局部变量操作
Java栈和局部变量操作 Java虚拟机是基于栈的机器,几乎所有Java虚拟机的指令都与操作数栈相关。栈操作包括把常量压入操作数栈、执行通用的栈操作、在操作数栈和局部变量之间往返传输值。 1常量入栈操作: 操作码在执行常量入栈操作之前,使用三种方式指明常量的值:常量值隐含包含在操作码内部、常量值在字节码中如同操作数一样跟随在操作码之后,或者从常量池中取出常量。 1.1常量值隐含包含在操作码
·
2014-05-14 21:00
JAVA虚拟机
JVM的内存管理和垃圾回收
本文主要是基于SunJDK1.6GarbageCollector(作者:毕玄)的整理与总结,ppt下载地址:to-do 1、Java虚拟机运行时的数据区 (图片来自
深入
小天120
·
2014-05-13 13:00
jvm
垃圾收集器
JVM优化
深入Java虚拟机
JVM类加载初始化学习笔记
1. Classloader的作用,概括来说就是将编译后的class装载、加载到机器内存中,为了以后的程序的执行提供前提条件。2. 一段程序引发的思考:风中叶老师在他的视频中给了我们一段程序,号称是世界上所有的Java程序员都会犯的错误。诡异代码如下:package test01; class Singleton { public static Singleton singleton = new
myhadoop
·
2014-05-08 17:00
JAVA虚拟机
【
深入Java虚拟机
】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶
HuanYue
·
2014-05-08 15:00
JAVA虚拟机
【
深入Java虚拟机
】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶
HuanYue
·
2014-05-08 15:00
JAVA虚拟机
《
深入Java虚拟机
》——Java虚拟机读书笔记
1、Java虚拟机的生命周期 如果在同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。 在Java虚拟机内部有两种线程,守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。但是,Java程序也可以把它创建的任何线程标记为守护线程。而Java程序中的初始线程——就是开始于main()的那个,是非守护线程。 只要还有任何非守护线程在运行,那么这
亭子happy
·
2014-04-11 21:00
Effective Java(〇)之说在前面的话
这次一次性购买了《Effective Java中文版(第2版)》、《
深入java虚拟机
》、《鸟哥linux
weizhilizhiwei
·
2014-04-09 13:00
Effective Java
java类的生命周期
请参考《
深入java虚拟机
第二版》。java虚拟机通过装载、连接和初始化一个java类型,使该类型可以被正在运行的java程序所使用。
feier7501
·
2014-03-25 21:00
JVM的class文件结构
请参考《
深入java虚拟机
第二版》和《java虚拟机规范》。
feier7501
·
2014-03-25 21:00
深入java虚拟机
- 垃圾收集 - 火车算法
主要看《
深入java虚拟机
第二版》这本书。
feier7501
·
2014-03-21 22:00
深入java虚拟机
- 垃圾收集 - 按代收集的收集器
主要看《
深入java虚拟机
第二版》这本书。
feier7501
·
2014-03-21 22:00
深入java虚拟机
- 垃圾收集 - 跟踪收集器
主要看《
深入java虚拟机
第二版》这本书。
feier7501
·
2014-03-21 22:00
深入java虚拟机
- 垃圾收集 - 引用计数收集器
引用计数是垃圾收集的早期策略。在这种方法中,堆中每一个对象都有一个引用计数。一个对象被创建了,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1。当任何其他变量被赋值为对这个对象的引用时,计数加1。当一个对象的引用超过了生存期或者被设置一个新的值时,对象的引用计数减1。任何引用计数为0的对象可以被当作垃圾收集。当一个对象被垃圾收集的时候,它引用的任何对象计数值减1。在这种方
feier7501
·
2014-03-21 22:00
深入java虚拟机
第二版阅读笔记(不断整理中)
深入探讨Java类加载器:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/
深入Java虚拟机
JVM类加载初始化学习笔记http:/
ajian005
·
2014-03-05 11:00
Java技术丛书
那些读过的感觉不错的技术书主要是java方面的《
深入JAVA虚拟机
第二版》从中可以了解到JVM工作原理,字节码执行过程等,虽然出版日期有些久远,部分内容或许有些过时,但仍然值得一读。
u012358984
·
2014-03-04 14:00
【
深入Java虚拟机
】之七:Javac编译与JIT编译
http://blog.csdn.net/ns_code/article/details/18009455目录(?)[+]转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:
maijian
·
2014-01-30 11:00
【
深入Java虚拟机
】之八:Java垃圾收集机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例。谈到Java堆中的垃圾回收,自然要谈到引用。在JDK1.2之前,Java中的引用定义很很纯粹:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这
mmc_maodun
·
2014-01-18 08:00
java
GC
堆
性能调优
垃圾收集
【
深入Java虚拟机
】之七:Java编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如J
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之六:Java语法糖
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18011009 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之五:多态性实现机制——静态分派与动态分派
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之三:类初始化
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17845821 类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类还没有进行过初始化,则需
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之二:Class类文件结构
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17675609 平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可以把程序代码编译成Clas
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之一:Java内存区域与内存溢出
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数
mlj1668956679
·
2014-01-17 11:00
java
【
深入Java虚拟机
】之七:Javac编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455编译过程不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScri
兰亭风雨
·
2014-01-15 00:23
深入Java虚拟机
深入Java虚拟机
【
深入Java虚拟机
】之七:Javac编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如J
mmc_maodun
·
2014-01-15 00:00
javac
编译
解释
JIT
即时编译
【
深入Java虚拟机
】之六:Java语法糖
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18011009 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变长参数、条件编译、自动拆装箱、内
mmc_maodun
·
2014-01-13 07:00
java
泛型
类型擦除
编译
语法糖
【
深入Java虚拟机
】之五:多态性实现机制——静态分派与动态分派
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17965867方法解析Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一
兰亭风雨
·
2014-01-10 08:58
深入Java虚拟机
深入Java虚拟机
【
深入Java虚拟机
】之五:多态性实现机制——静态分派与动态分派
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也
mmc_maodun
·
2014-01-10 08:00
单分派
多态性
动态分派
多分派
静态分派
【
深入Java虚拟机
】之类加载机制
原文链接:http://www.cnblogs.com/jiangye/p/3510807.html类加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段
weixin_30627341
·
2014-01-08 15:00
【
深入Java虚拟机
】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示:其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺
兰亭风雨
·
2014-01-08 00:27
深入Java虚拟机
深入Java虚拟机
【
深入Java虚拟机
】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶
mmc_maodun
·
2014-01-08 00:00
java
虚拟机
Class
初始化
类加载
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他