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对象创建、分配、布局、访问小析(HotSpot虚拟机)(一)
本文内容总结自周志明先生所编著的《
深入理解Java虚拟机
-JVM高级特性与最佳实践》此书的经典不必多说。本节内容是对象的创建.、分配的内容。
zknxx
·
2017-05-09 00:00
java
虚拟机
创建对象
zknxx
木叶之荣
《
深入理解Java虚拟机
》个人读书总结——JAVA虚拟机内存
《
深入理解Java虚拟机
》个人读书总结——JAVA虚拟机内存最近在读《
深入理解Java虚拟机
》,网上对Java虚拟机的总结有很多,自己觉得自己也应该记录一点个人的读书总结,以便日后复习方便。
GrayHJX
·
2017-05-06 17:23
Java
Java虚拟机
JVM内存区域划分详解
拿午休时间来发了这篇博客,希望对大家有帮助本文吸取《
深入理解java虚拟机
》与多篇博客精华详细解说了JVM中内存划分的情况。
补刀小次郎
·
2017-05-05 13:45
JVM
Java虚拟机学习笔记(1)——Java虚拟机内存模型
本文为学习笔记,参考《
深入理解Java虚拟机
:JVM高级特性与最佳实践》一书。该书内容是基于JDK1.7的,会具有一定的滞后性,与现在Java虚拟机的状况不一定完全吻合。
wjljsbk
·
2017-05-05 00:22
学习笔记
Java虚拟机学习笔记(1)——Java虚拟机内存模型
本文为学习笔记,参考《
深入理解Java虚拟机
:JVM高级特性与最佳实践》一书。该书内容是基于JDK1.7的,会具有一定的滞后性,与现在Java虚拟机的状况不一定完全吻合。
wjljsbk
·
2017-05-05 00:22
学习笔记
读书笔记-《
深入理解Java虚拟机
》-JVM内存模型
版权声明:本文来自Crocutax的博客,转载请注明出处http://crocutax.comJava虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自不同的用途:JVM内存模型图.png程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,属于线程私有区域,此区域是唯一一个在Java虚拟机规范中没有规定任何OutOf
王西文
·
2017-05-02 23:33
这些年看过的技术书
《
深入理解Java虚拟机
》这是周志明写的一本书,我看的是第二版。里面对于Java虚拟机的讲解很透彻,看完此书对于JVM会有很深入的理解。建议多读,细读。3.《深入分析JavaWeb技
benjaminlee1
·
2017-05-02 13:10
杂谈
JVM 调优实战之优化 eclipse 启动时间
本篇文章来自《
深入理解Java虚拟机
》的学习理解。Java语言之所以强大是因为有着JVM的垃圾回收机制,但是这并不意味着我们将垃圾回收交给JVM之后就可以不用操心了。
Geek-Yan
·
2017-05-01 14:45
jvm
《
深入理解Java虚拟机
》Java内存区域与内存溢出异常
注:“蓝色加粗字体”为书本原语先来一张JVM运行时数据区域图,再接下来一一分析各区域功能:程序计数器程序计数器(programCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。Java虚拟机栈虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行
coffee801
·
2017-04-23 07:30
java
JVM学习笔记(二) 实战OutOfMemoryError异常
本博客代码部分摘自《
深入理解Java虚拟机
第二版》1.Java堆溢出Java堆用来存储对象,因此只要不断创建对象,
Geek-Yan
·
2017-04-17 21:50
jvm
JAVA 空间分配担保
本内容节选自《
深入理解java虚拟机
》链接地址在发生MinorGC之前,虚拟机会先检查老年代最大可用的连续空间是否大于新生代所有对象总空间,如果这个条件成立,那么MinorGC可以确保是安全的。
Jarvan_Song
·
2017-04-16 17:54
java语言
《
深入理解Java虚拟机
》读书笔记:第三章垃圾收集器与内存分配策略
垃圾收集(GarbageCollection,GC)程序计数器、虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭判断对象是否存活:引用计数(ReferenceCounting)算法判断对象是否存活,但是很难解决对象之间相互循环引用的问题.可达性分析(ReachabilityAnalysis),判断对象是否存活,通过一系列的称为"GCRoots"的对象作为起始点,从节点开始向下搜索,搜索所走过的路
timestatic
·
2017-04-16 13:22
JVM
虚拟机性能监控之JDK命令行工具
摘抄至《
深入理解JAVA虚拟机
》第2版,记录在此,方便查阅。
wolf犭良
·
2017-04-15 23:24
jvm
深入理解Java虚拟机
学习笔记——四、Java内存模型与多线程
一、Java内存模型Java内存模型的意义:屏蔽掉各种硬件和操作系统的内存访问差异,以实现Java程序在各种平台上一致的内存访问效果。1、主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中把变量存储到内存和从内存中取出变量。此处的变量是指实例字段、静态字段和构成数组对象的元素,但不包括局部变量和方法参数(局部变量和方法参数是线程私有的,所以不存在竞争问题)。Ja
隔壁老王来也
·
2017-04-14 23:41
《
深入理解java虚拟机
》学习笔记四/垃圾收集器GC学习/一
GrabageCollectionGCGC要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?内存运行时区域的各个部分中:程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此,这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需过多考虑回收
fan510988896
·
2017-04-13 14:43
深入理解JAVA虚拟机
Java java 程序员 计划表 工作三年以内
+maven+git+svn.6个月到一年内–写博客,读透彻java编程基础一年到2年–造轮子–设计模式熟练手写–重构–effectiveJava,研读源代码jdk,并发,spring,等框架2-3年
深入理解
小言246
·
2017-04-12 17:20
java
《
深入理解Java虚拟机
》学习整理——内存篇
HostSpot虚拟机运行时内存程序计数器——当前线程执行字节码的行号指示器,如果执行Native方法,则计数器值为空,是唯一一个在Java虚拟机规范没有规定OOM情况的区域。Java虚拟机栈——Java方法执行的内存模型,每个方法以栈帧为单位,栈帧存储方法的局部变量表、动态链接、方法出口。每个方法调用到执行完毕对应一个栈帧在Java虚拟机栈入栈到出栈。局部变量表除了基本类型外还存有对象引用类型,
Mars_M
·
2017-04-12 11:41
《
深入理解Java虚拟机
——JVM高级特性与最佳实践》学习笔记——Java内存模型与线程
Java内存模型与线程多任务处理目的:1.充分利用计算机处理器的能力(磁盘I/O、网络通信、数据库访问相比计算机的运算速度要慢的多)2.同时应对多个客户端的请求,衡量一个服务性能的高低好坏,每秒事务处理数(TPS)是最重要的指标之一,它代表着一秒内服务端平均能响应的请求总数,而TPS值与程序的并发能力又有非常密切的关系。对于计算量相同的任务,程序线程并发协调得越有条不紊,效率自然就会越高,反之,线
benhuo931115
·
2017-04-10 14:27
jvm学习
读书计划
=====Java=====Java编程思想Java核心技术I、IIJava8函数式编程EffectiveJava
深入理解Java虚拟机
Java并发编程实践重构:改善既有代码的设计=====Spring
LuckyBug
·
2017-04-10 10:36
读书
Java内存区域划分、内存分配原理(基于jdk1.7 源自 《
深入理解java虚拟机
》)
运行时数据区域Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动和结束而创建和销毁。Java虚拟机包括下面几个运行时数据区域:程序计数器程序计数器是一块较小的区域,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的模型里,字节码指示器就是通过改变程序计
风泊月
·
2017-04-09 17:38
javaSe
深入理解Java虚拟机
--读书笔记3/3
Chap10早期(编译期)优化1.编译过程:A.解析与填充符号表。B.插入式注解处理器的注解处理过程。C.分析与字节码生成过程。2.解析包括词法分析(将代码中的字符流转变为标记的集合Token)和语法分析(将Token序列构造成抽象语法树AST的过程)。3.注解处理器用于实现对注解Annotation的支持。4.clinit类初始化和linit实例初始化就是在字节码生成过程中生成的。5.Java与
Gunner
·
2017-04-07 20:13
Java
JVM内存结构分析
6665199.html对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的《
深入理解
weixin_30762087
·
2017-04-04 15:00
JVM-String常量池与运行时常量池
StartwithJVM周志明先生著-《
深入理解Java虚拟机
》,书买回来好几天了,但是最近才准备开始搞一搞了(哭瞎…..)。
Nuub
·
2017-03-29 21:51
jvm
常量池
String常量池
JVM
常量池
String常量池
深入理解java虚拟机
_05高效并发
1、高速缓存:由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一个读写速度尽可能接近处理器运算速度的高速缓存来作为内存与处理器之间的缓存:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存中.2、指令重排序:为了使得处理器内部的运算单元能尽量被充分利用,处理器可能会对输入代码进行乱序执行优化,处理器会在计算之后将乱序执行的结
245123774
·
2017-03-28 22:38
深入理解java虚拟机
JVM类加载机制—结合代码分析
《
深入理解Java虚拟机
》学习笔记首先看下面的两个类/***CreatedbyAdminon2017/3/27.
Juses_331
·
2017-03-27 21:34
JVM
《
深入理解java虚拟机
》读书笔记:java内存区域
书本简介书名:《
深入理解java虚拟机
JVM高级特性与最佳实践》作者:周志明版本:第二版pdf下载链接:csdn下载该电子书运行时数据区域关键词:运行时即在从java虚拟机(JVM)启动到其停止的一段时间内
paul_wenwen
·
2017-03-25 18:17
java
python虚拟机运行原理
近期为了面试想要了解下python的运行原理方面的东西,奈何关于python没有找到一本类似于
深入理解Java虚拟机
方面的书籍,找到了一本《python源码剖析》电子书,但是觉得相对来说最近还是不打算用大布头时间研究这本书
liuming9283
·
2017-03-21 22:00
偏向锁,轻量级锁与重量级锁的区别与膨胀
先依然描述这三个锁是什么:这里直接从《
深入理解Java虚拟机
》粘贴过来。偏向锁Hotspot的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,
暗黑BALL
·
2017-03-19 20:01
Java
多线程
《
深入理解Java虚拟机
》读书笔记5:类加载机制与字节码执行引擎
国内JVM相关书籍NO.1,Java程序员必读。读书笔记第五部分对应原书的第七章至第九章,主要介绍虚拟机的类加载机制、字节码执行引擎,并通过实例和实战加深对虚拟机执行子系统这一部分的理解。第七章虚拟机类加载机制7.1概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里面,类型的
ginobefun
·
2017-03-19 16:31
《
深入理解Java虚拟机
》读书笔记1:Java技术体系、Java内存区域和内存溢出异常
国内JVM相关书籍NO.1,Java程序员必读。读书笔记第一部分对应原书的前两章,主要介绍了Java的技术体系、Java虚拟机的发展历史、Java运行时区域的划分、对象的创建和访问以及内存溢出的实战。Part1:走进Java第一章走进Java概述Java的优点结构严谨、面向对象摆脱平台的束缚,一次编写到处运行提供了相对安全的内存管理和访问机制实现了热点代码检测和运行时编译及优化一套完善的应用程序接
ginobefun
·
2017-03-19 16:23
Java方面的好书
《Java多线程编程核心技术》《
深入理解Java虚拟机
:JVM高级特性与最佳实践》《EffectiveJava中文版》《深入分析JavaWeb技术内幕》许令波《大型网站技术架构核心原理与案例分析》李智慧
心静菩提现
·
2017-03-18 00:00
深入理解Java虚拟机
学习笔记——二、垃圾收集器与内存分配策略
1、对象存活判定算法引用计数算法给对象添加一个引用计数器,当有其他对象引用它时,计数器加1;当引用失效时,计数器减1。任何时刻计数器为0的对象就是不可能在被使用的。引用计数算法实现简单,判定效率也很高,但是很难解决对象间相互循环引用的问题。可达性分析算法通过一系列被称为“GCRoots”的对象作为起点,从这些节点向下搜索,搜索所走过的路径被称为引用链,当一个对象到GCRoots没有任何引用链相连时
隔壁老王来也
·
2017-03-17 21:55
jvm
虚拟机
深入理解java虚拟机
读后总结(个人总结记录)
一、声明:此文章属于个人阅读
深入理解java虚拟机
的总结记录,如有错误望提出。文章目的:一方面回顾学习内容加深理解,另一方面为以后重新阅读《
深入理解java虚拟机
》打个审批和问题标记记录。
琥珀龙
·
2017-03-17 17:34
jdk+jvm
[笔记]对于关键字volatile的理解
在《
深入理解Java虚拟机
》第2版(周志明著)一书中,作者认为volatile有两个语义/特性:一是:保证此变量对于所有线程的可见性;二是:禁止指令重排序优化下面将分别来解读。
chwnpp2
·
2017-03-17 16:28
Java
[笔记]Java虚拟机垃圾回收的原理是“引用计数”吗?
2017年2月7日-2017年3月16日,读完《
深入理解Java虚拟机
》第2版(周志明著)。接下来这几篇,我将会把印象深刻的几个知识点总结下来,权当用做日后复习。
chwnpp2
·
2017-03-16 16:53
Java
idea配置jvm启动参数
个人博客地址http://dandanlove.com/最近在看《
深入理解Java虚拟机
》一书,上面有好多例子都需要设置JVM的一些参数信息,再次记录下来,以后备用!!
静默加载
·
2017-03-13 10:50
Java问题详解
在《
深入理解Java虚拟机
(第2版)》中,将线程安全分为了不可变、绝对线程安全、相对线程安全、线程兼容和线程对立五种:不可变不可变的对象一定是线程安全的在Java语言里,如果共享数据是一个基本数据类型,
为梦码一生
·
2017-03-12 20:13
《
深入理解Java虚拟机
》学习笔记(十)(线程安全与锁优化)
线程安全与锁优化线程安全当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的Java语言中的线程安全Java语言中各种操作共享的数据分为以下5类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。1.不可变不可变(Immutable)的对象一定是
为梦码一生
·
2017-03-11 17:16
《
深入理解Java虚拟机
》学习笔记(九)(Java内存模型与线程)
Java内存模型与线程Java内存模型主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。变量(Variables)与Java编程中所说的变量有所区别,它包括了实例字段、静态字段和构成数组对象的元素,但不包括局部变量与方法参数,因为后者是线程私有的,不会被共享,自然就不会存在竞争问题。Java内存模型规定了所有的变
为梦码一生
·
2017-03-11 15:46
《
深入理解Java虚拟机
》学习笔记(八)(晚期(运行期)优化(JIT编译器))
晚期(运行期)优化热点代码(HotSpotCode):运行得特别频繁的某个方法或代码块被多次调用的方法。被多次执行的循环体。即时编译器(JustInTimeCompiler,简称JIT编译器):为了提高热点代码的效率,在运行时,把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化的编译器HotSpot虚拟机内的即时编译器解释器与编译器当程序需要迅速启动和执行的时候,解释器可以首先发挥作用,
为梦码一生
·
2017-03-10 16:02
深入理解Java虚拟机
(笔记)
1、JVM管理的内存被分为方法区,虚拟机栈,本地方法栈,堆,程序计数器;程序计数器(线程私有)1.1、程序计数器是当前线程执行的字节码的行号指示器(通过改变这个计数器的值来实现取指令,分支,循环,跳转,异常恢复,线程恢复);1.2、JVM多线程通过线程轮流切换实现,每条线程都需要一个独立的程序计数器,独立存储互不影响,为“线程私有”的内存;虚拟机栈(线程私有)1.3、描述Java方法执行的内存模型
cdpac
·
2017-03-10 10:56
java
Tomcat中Spring如何管理应用程序类的问题
《
深入理解java虚拟机
》一书中,作者在235页(老版),即介绍tomcat服务器类加载器时抛出一个问题:如果有10个web应用程序都用Spring来进行组织和管理的话,可以把Spring放到Common
EthenKim
·
2017-03-09 20:46
JVM
一、JVM内存结构
首先来看一下两张图,分别是JVM内存结构图和运行时数据区域:JVM内存结构图:JVM运行时数据区域图:注意:以下大部分内容摘自《
深入理解Java虚拟机
JVM高级特性与
liyf155
·
2017-03-08 23:24
深入理解Java虚拟机
《
深入理解Java虚拟机
》学习笔记(三)(垃圾收集器及内存分配策略)
前言本文章部分引用自知乎胖胖的回答可文分身的垃圾收集器及内存分配策略判断对象存活判断对象存活算法两种:引用计数算法和可达性分析算法引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。图1引用计数算法示意图可达性分析算法通过一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜
为梦码一生
·
2017-03-08 17:22
深入理解java虚拟机
---类文件结构
1.Class类文件的结构Class文件格式采用一张类似于C语言结构体的伪结构来存储数据,这种伪数据结构中只有两种数据类型:无符号数和表:无符号数属于基本的数据类型,以u1,u2,u4,u8来分别代表1个字节,2个字节,4个字节和8个字节的无符号数。表是由多个无符号数或者其他表作为数据项构成的复合数据类型。整个Class文件本质上就是一张表。如下图所示1.1魔数和Class文件的版本每个Class
cq_pf
·
2017-02-27 11:14
深入理解java虚拟机学习笔记
深入理解Java虚拟机
精华总结(面试)
一.运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、堆、本地方法栈、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。1.1程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖
Mayny
·
2017-02-24 13:29
Java
深入理解JVM-虚拟机加载机制-类加载过程
本文是基于周志明的《
深入理解Java虚拟机
》虚拟机把描述类的数据从Class文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
编程者联盟
·
2017-02-23 08:21
Java
深入理解Java虚拟机
(1) - JAVA内存区域
这个系列文章是对《
深入理解Java虚拟机
》一书的笔记及个人理解Java是简单的,相对于C和C++,Java因为拥有自动内存管理机制而显示更加简单。
死牛胖子
·
2017-02-21 19:53
JVM
《
深入理解Java虚拟机
》学习笔记(二)(Java对象的创建、内存布局和访问定位)
对象对象创建CreatedwithRaphaël2.1.0Start虚拟机遇到一条new指令指令的参数是否能在常量池中定位到一个类的引用符号?这个符号引用代表的类是否已被加载、解析和初始化过?为新生对象分配内存Java堆中的内存是否是绝对规整(所采用的垃圾收集器是否带有压缩整理功能)?通过“指针碰撞”分配内存选择并发处理方式①:对分配内存空间的动作进行同步处理②:采用本地线程分配缓冲(TLAB)内
TringBtb
·
2017-02-21 16:12
Java虚拟机
《
深入理解Java虚拟机
》学习笔记(一)(Java内存区域的划分)
Java内存区域![Java虚拟机运行时数据区](https://img-blog.csdn.net/20170221161015435?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVHJpbmdCdGI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEas
TringBtb
·
2017-02-21 16:32
Java虚拟机
上一页
55
56
57
58
59
60
61
62
下一页
按字母分类:
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
其他