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虚拟机
》-类加载机制
虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。这里说的class文件可以是任何符合class文件格式的二进制字节流。类加载时机虚拟机严格规定了以下情况必须对类进行加载:1.遇到new关键字,读取或设置类的静态字段,调用类的静态方法2.对类进行反射调用时,如果类没有进行初始化,则先触发初始化3.初始化类时先初始化父类4
gatsby_dhn
·
2020-03-23 05:00
Java内存虚拟机总结
读过几遍周志明老师的《
深入理解Java虚拟机
:JVM高级特性与最佳实践》获益匪浅,但是关于一些问题经常忘记又需要重新翻阅。现在将其中内存虚拟机相关章节的内从自己浓缩总结一下,以供参阅。
haiyangjiajian
·
2020-03-22 20:46
jvm 《
深入理解Java虚拟机
》学习笔记之永久代和元空间
PermGen永久代说到方法区,不得不提一下“永久代”这个概念,尤其是在JDK8以前,许多Java程序员都习惯在HotSpot虚拟机上开发、部署程序,很多人都更愿意把方法区称呼为“永久代”(PermanentGeneration),或将两者混为一谈。本质上这两者并不是等价的,因为仅仅是当时的HotSpot虚拟机设计团队选择把收集器的分代设计扩展至方法区,或者说使用永久代来实现方法区而已,这样使得H
尹楷楷
·
2020-03-22 19:40
Java Class文件结构解析
本文参考了周志明所著《
深入理解java虚拟机
》一书,并结合自身实践而写。
云飞扬1
·
2020-03-22 10:37
深入理解Java虚拟机
读书笔记-类的加载
定义:Java虚拟机把描述类的数据从Class中加载到内存,并且校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是类的加载机制。与那些在编译是链接的语言不通,java的编译链接过程都是在运行期间完成的,这使得java的灵活性大大提高,java的动态扩展就是依赖于运行期加载和动态链接的机制来完成的。类的加载时机:类从被加载到内存到卸载出内存需要经历——加载、校验、准备、解析、
耳_总
·
2020-03-22 02:42
2.2 运行时数据区域
参考《
深入理解Java虚拟机
JVM高级特性与最佳实践》2.2节JVM内存模型1.线程相关区域1.1程序计数器所谓程序计数器就是存储下一条指令地址的一个地方。
小山包
·
2020-03-21 23:13
JVM 调优之 Eclipse 启动调优实战
本文是我12年在学习《
深入理解Java虚拟机
:JVM高级特性与最佳实践》时,做的一个JVM简单调优实战笔记,版本都有些过时,不过调优思路和过程还是可以分享给大家参考的。
蒋李恒
·
2020-03-21 17:00
Java内存分配与回收机制
参考的书籍是周志明老师的《
深入理解Java虚拟机
》,笔者只是基于书中的内容对其总结概括并图文化。这部分内容几乎都是理解性的,为了便于理解和记忆所以尽量以图文的或表格的形式来展现。
imflyn
·
2020-03-21 07:39
读书计划 2016-04
读书计划《SpringinAction》(第4版)《JUnitinAction》(第2版)《JavaPersistencewithHibernate》(第2版)《
深入理解Java虚拟机
:JVM高级特性与最佳实践
秋玉
·
2020-03-21 06:04
深入理解java虚拟机
读书笔记,第三章:垃圾收集器与内存分配策略
3.1概述3.2对象已死吗3.2.1引用计数法实现简单、判定效率高无法解决循环引用的问题主流虚拟机没有采用3.2.2可达性分析算法通过一系列称作“GCRoots”的对象作为起始点,向下搜索,搜索走过的路径成为引用链,当一个对象到GCRoots没有任何引用链相连,则证明不可用可作为GCRoots的对象虚拟机栈(栈帧中的本地变量表)中引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象本地方法
cremin
·
2020-03-21 03:40
jvm基础——垃圾回收
本文主要参考《
深入理解java虚拟机
》进行简化总结,希望能够让读者快速入门jvm垃圾回收相关机制。1.为什么了解GC需要排查内存泄露、内存溢出问题,当垃圾收集成为系统达到高并发的瓶颈时。
陈晨_Fly
·
2020-03-21 00:03
深入理解Java虚拟机
(二)GC算法与垃圾收集器
概述说起垃圾收集(GrabageCollection,GC),我们需要考虑GC需要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?为什么我们要求了解GC呢和内存分配呢?答案很简单:当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到更大并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。前面到我们已经介绍了Java内存运行时区域的各个部分,其中程序计数器,虚拟
张胖胖的大王
·
2020-03-20 21:14
深入理解Java虚拟机
(2)
1.运行时数据区域程序计数器(ProgramCounterRegister)【共享】虚拟机栈(VMStack)【私有】本地方法栈(NativeMethodStack)堆(Heap)【共享】方法区(MethodArea)【私有】1.1程序计数器(当前线程所执行的字节码的行号指示器)线程私有,各线程互相不影响如果执行的是java方法,这个表示虚拟机字节码指令地址如果执行的是native方法,则为nul
ChenyuMa
·
2020-03-19 22:31
《
深入理解Java虚拟机
》(一)--Java内存区域与内存溢出异常(1)
-1运行时数据区域图片发自AppJVM在执行的过程中会把它所管理的内存划分为若干个不同的数据区域。根JVM规范,Java虚拟机包括以下几个运行时数据区->-1.1程序计数器程序计数器是当前线程所执行的字节码文件的行号指示器,字节码解释器是通过改变这个计数器的值来选取下一条要执行的指令,程序计数器是线程私有的。如果线程正在执行一个java方法,这个计数器所记录的是正在执行的虚拟机字节码指令地址;如果
蓝色_fea0
·
2020-03-19 20:35
HotSpot虚拟机对象探秘
文本来自:《
深入理解Java虚拟机
》部分修改对象生成我们知道在Java代码中,通过Objecto=newObject();这样的语句就可以创建对象及其引用,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢
做梦枯岛醒
·
2020-03-19 18:15
5.JVM垃圾收集算法
标记-清除算法(摘自《
深入理解Java虚拟机
》).png评价效率低,无论是标记过程还是清除过程。标记后直接清除,没有对内存空间进行整理,会产生大量不连续的内存碎片。当程序运行需要分配较大对象时,
幽游不想吃饭
·
2020-03-18 23:40
终于有人把Java内存模型(JMM)说清楚了
网上有很多关于Java内存模型的文章,在《
深入理解Java虚拟机
》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。
消失er
·
2020-03-18 12:31
我也来谈一谈Java GC
最近在看《
深入理解Java虚拟机
-Jvm高级特性与最佳实践》,里面对java垃圾收集讲的挺不错的。然后再将书中没有讲透的知识在网上搜索
嘉伟咯
·
2020-03-17 17:05
Java内存区域
本文来自《
深入理解Java虚拟机
》一·前言对java程序员来讲,在虚拟机自动内存管理的帮助下,不在需要为每一个new操作去配对delete/free代码。
siyanGo
·
2020-03-17 15:53
Android性能优化-内存泄漏
深入的JVM内存管理知识,推荐《
深入理解Java虚拟机
》。关于内存泄漏我们要知道,JVM内存分配的几种策略。
酷酷_明
·
2020-03-17 13:52
深入理解java虚拟机
(五)--虚拟机字节码执行引擎
一、概述执行引擎是Java虚拟机最核心的组成部分之一。在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型成为各种虚拟机执行引擎的统一外观(Facade)。所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出是执行结果。二、运行时栈帧结构栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数
做一只快乐的码农1990
·
2020-03-17 06:51
Java中的垃圾回收算法详解
一、前言 前段时间大致看了一下《
深入理解Java虚拟机
》这本书,对相关的基础知识有了一定的了解,准备写一写JVM的系列博客,这是第二篇。这篇博客就来谈一谈JVM中使用到的垃圾回收算法。
特务依昂
·
2020-03-17 00:00
JVM内存区域介绍以及内存溢出示例
JVM内存区域介绍首先需要弄明白JVM的内存区域,JVM的内存区域如图:来自《
深入理解Java虚拟机
》下面分别对各个区域的功能做个
wangmin
·
2020-03-16 02:08
《
深入理解Java虚拟机
》读书笔记(第二章)
JVM运行时数据区域程序计数器每个线程独立,可以看作是当前县城所执行的字节码的行号指示器。Java虚拟机栈每个线程独立,生命周期余线程相同。每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态连接、方法出口。一个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。线程请求的栈深度大于虚拟机允许的深度,抛出StackOverflowError。可动态扩展的虚
迦若莹
·
2020-03-15 21:05
jvm学习
本系列文章主要是对学习《
深入理解java虚拟机
》的记录,以加深自己的理解,也方便自己后续复习回顾前言之前学习java,只是会用常用的语法、框架,但在开发过程中,总会遇到一些奇怪的现象和疑惑的地方。
范小闫
·
2020-03-14 08:47
深入理解Java虚拟机
读书笔记-垃圾回收
垃圾回收器执行垃圾回收主要做三个事情1、哪些内存需要回收2、什么时候回收3、如何回收哪些内存需要回收1.引用计数器法:一个对象有一个引用指向他引用计数器就加一;引用失效时就减一。为零时,就认为可以被回收。但是这里存在一个问题就是对象的相互引用的时候,导致对象无法回收。2.可达性分析:通过一系列的GCRoots来作为引用链的起点,如果没有任何的一个引用链相连的话,被视为可回收的对象3.png可以作为
耳_总
·
2020-03-14 01:54
我的2016年书单
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第2版)》这本书是2013年购买的,2016年是第三次阅读,每次看完的收获都不一样。
JavaQ
·
2020-03-12 14:20
2018-05-11
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结本节常见面试题(推荐带着问题阅读,问题答案在文中都有提到):JVM调优的常见命令行工具有哪些?
玲小喵
·
2020-03-12 09:15
JVM解析——内存结构
本系列主要记录笔者在学习[
深入理解Java虚拟机
]一书时的理解我们都知道在Java中,我们并不需要过多的在意内存的管理,这一切都交给了虚拟机自动管理,我们并不需要操心何时需要去释放一个对象的内存。
Robin_Lrange
·
2020-03-11 17:28
深入理解Java虚拟机
(一)
自动内存管理机智1.Java内存区域与内存溢出异常运行时的数据区域根据《Java虚拟机规范(JavaSE7)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图Java虚拟机运行时数据区程序计数器程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过
NoSuchElementEx
·
2020-03-11 09:20
深入理解Java虚拟机
第三版,总结笔记【随时更新】
最近一直在看《
深入理解Java虚拟机
》第三版,无意中发现了第三版是最近才发行的,听说讲解的JDK版本升级,新增了近50%的内容。
耶low
·
2020-03-10 21:00
java虚拟机
深入理解java虚拟机
关于Dalvik虚拟机能不能执行class文件,我当时的回答是不能,但是它执行的是class转换的dex文件。
zcwfeng
·
2020-03-08 23:57
并发编程网Java并发面试题
部分答案参考了网络上的回答,具体可以参考书籍:《Java并发编程实战》《
深入理解Java虚拟机
》及JDK源码多线程1.java中有几种方法可以实现一个线程?
叫我西门
·
2020-03-07 21:22
Java 垃圾回收(Garbage Collection,GC)
Java垃圾回收(GarbageCollection,GC)最近看周志明老师的《
深入理解Java虚拟机
》一书,关于Java垃圾回收这一章节做了些读书笔记加上自己的理解。
uzip柚子皮
·
2020-03-06 11:44
《
深入理解Java虚拟机
》读书笔记4--类加载机制
所谓类加载机制,就是虚拟机将Class文件加载到内存,对数据进行校验、解析、初始化,然后转化为可被虚拟机使用的数据类型的过程与静态连接的语言不通,Java采用动态连接方式,这种策略在运行时虽然会增加一些性能开销,但是却给程序提供了高度的灵活性。比如我们可以通过自定义类加载器的方式,在运行时通过网络进行类加载;也可以在运行时为一个接口指定其实现类类加载时机类的整个生命周期包括:加载、验证、准备、解析
虾_米_
·
2020-03-06 07:46
[016]JVM如何分配内存及其回收策略01
背景以前看了周志明的《
深入理解Java虚拟机
》,今天突然想谈起它来。所以今天这篇文章会说说java的内存分配策略和垃圾收集器。
shawnxjf
·
2020-03-05 09:11
Java虚拟机内存模型及分区
主要为《
深入理解java虚拟机
》读书笔记内容,仅作记录及分享。Java虚拟机在执行Java程序的过程中会把他管理的内存分为不同的数据区域。
柠檬师傅
·
2020-03-04 08:59
书单
技术书单Java编程思想
深入理解Java虚拟机
:JVM高级特性与最佳实践HotSpot实战Spring实战第四版Java并发编程实战java多线程编程核心技术EffectiveJava中文版深入分析JavaWeb
橙小张
·
2020-03-04 01:22
Java类文件结构解析
本文是《
深入理解Java虚拟机
》中类文件结构一章的读书笔记。另外,推荐阅读Java字节码结构解析来加深理解。
tianbin
·
2020-03-02 18:16
一篇关于Java内存的探究
摘要:本博客为《
深入理解java虚拟机
》的学习笔记,如有写的不妥之处,欢迎fadeback。有关Java内存的误解初学java好多人都会误以为Java内存分为三块:方法区、堆内存、栈内存。
Albert_zheng
·
2020-03-02 09:28
深入理解java虚拟机
(二)-对象存活判定、引用与方法区回收
本文基于周志明的《
深入理解java虚拟机
JVM高级特性与最佳实践》所写。特此推荐。对象存活判定算法引用计数算法给对象添加一个引用计数器,当有其他对象引用它时,计数器加1;当引用失效时,计数器减1。
阳光的技术小栈
·
2020-03-01 22:24
Java内存结构和内存模型
[toc]参考:Java虚拟机详解02----JVM内存结构
深入理解java虚拟机
精华总结(面试)深入理解JVM(一)——JVM内存模型JIT与JVM的三种执行模式:解释模式、编译模式、混合模式内存结构
小小少年Boy
·
2020-02-28 19:25
那些买了却一还直没有读的书
基本算法》《现代操作系统》《计算机程序的构造和解释》《设计模式·可复用面向对象软件设计的基础》《人月神话》《Wireshark网络分析就这么简单》《Wireshark网络分析的艺术》《精通正则表达式》《
深入理解
Cuinidaye
·
2020-02-28 18:21
方法调用
深入理解Java虚拟机
总结
方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程。在程序运行时,进行方法调用是最普遍、最频繁的操作,但前面已经讲过,Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址(相当于之前说的直接引用)。这个特性给Java带来了
好好学习Sun
·
2020-02-28 02:54
深入理解java虚拟机
之内存管理机制
周志明老师的《
深入理解Java虚拟机
》著作的学习JVM有自动内存管理机制,不需要人为地给每一个new操作写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题。
_Rice_
·
2020-02-27 19:14
Java 引用类型
本文为阅读周志明老师《
深入理解Java虚拟机
》一书时的读书笔记,如果你想了解关于虚拟机的点点滴滴,推荐阅读该书。该节主要介绍Java中对象的四中不同引用关系。关于引用如下,是一个简单的Java代码。
大侠咕咚
·
2020-02-27 16:37
深入理解java虚拟机
(一)
1.什么是java虚拟机?虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。看下面一段java代码publicclassHelloWorld{
karlsu
·
2020-02-27 07:39
java内存模型
深入理解java虚拟机
--第12章:1.JMM主要用来屏蔽掉各种硬件与操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。
Kee丶
·
2020-02-27 06:39
《
深入理解Java虚拟机
》笔记01:走近Java
1、Java相关概念1.1Java的技术体系Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式JavaAPI类库来自商业机构和开源社区的第三方Java类库Java程序设计语言、Java虚拟机、JavaAPI类库这三部分统称为JDK(JavaDevelopmentKit),JDK是用于Java程序开发的最小环境1.2Java技
taony
·
2020-02-26 10:58
《
深入理解Java虚拟机
》笔记一
大部分内容都是《
深入理解Java虚拟机
上的内容》的总结,少部分内容是来自于网上或者自己的理解。读完应该会把没笔记的markdown文件放在github上。
fish
·
2020-02-26 08:19
java
jvm
上一页
33
34
35
36
37
38
39
40
下一页
按字母分类:
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
其他