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虚拟机》
python虚拟机运行原理
近期为了面试想要了解下python的运行原理方面的东西,奈何关于python没有找到一本类似于
深入理解Java虚拟机
方面的书籍,找到了一本《python源码剖析》电子书,但是觉得相对来说最近还是不打算用大布头时间研究这本书
weixin_33946605
·
2020-08-25 09:13
运维
深入理解Java虚拟机
之.class文件的数据结构一
Class类文件的结构无关性的基石上图是Java虚拟机实现语言无关性的生动描述。可以看出,Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件“这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。基于安全性方面的考虑,Java虚拟机规范要求在Class文件中使用许多强制性的语法和结构化约束,但任一门功能性语言都可以表示为一个能
weixin_30677073
·
2020-08-25 09:07
JVM解析——类文件结构
本系列主要记录笔者在学习[
深入理解Java虚拟机
]一书时的理解我们都知道在Java中,我们并不需要过多的在意内存的管理,这一切都交给了虚拟机自动管理,我们并不需要操心何时需要去释放一个对象的内存。
Robin_Lrange
·
2020-08-25 07:02
JVM(垃圾回收)CMS G1
类加载器可以实现热部署深入理解Java类加载器(ClassLoader)https://blog.csdn.net/javazejian/article/details/73413292优秀参考文章《
深入理解
一壶自由
·
2020-08-25 05:05
2.
深入理解java虚拟机
--垃圾收集算法
常见的一些算法引用计数算法过程:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器就减一;任何时刻计数器为0的对象就是不可能再被使用的。(摘录书)优点:判断效率高。缺点:难以解决对象之间相互引用的问题。结论:主流的java虚拟机中没有选用引用计数算法来管理内存可达性分析算法过程:通过一系列的称为“GCRoot”的对象作为起点,从这些节点开始向下搜索,搜索所走过的
qq_41646707
·
2020-08-25 04:41
深入理解Java虚拟机
-垃圾收集算法
今天讨论的话题是垃圾收集算法,主要介绍一下标记-清除、标记-整理和标记-复制算法,还会基于这些算法讲一下分代垃圾收集算法。标记-清除算法首先讲一下标记-清除算法,这是最早出现也是最基础的一种算法。从名字就可以看出该算法分为两个过程:标记和清除。标记可以是标记存活对象,也可以是标记将要回收的对象,清除自然就是将要回收的对象的内存收回。我们通过一张图来了解标记-清除算法。上图中青色的部分是存活对象,棕
sky-ng
·
2020-08-25 01:55
Java
深入理解Java虚拟机
(JVM) --- 垃圾收集算法(中)
2回收无效对象的过程当经可达性算法筛选出失效的对象之后,并不是立即清除,而是再给对象一次重生的机会判断是否覆盖finalize()未覆盖该或已调用过该方法,直接释放对象内存已覆盖该方法且还未被执行,则将finalize()扔到F-Queue队列中执行F-Queue中的finalize()虚拟机会以较低的优先级执行这些finalize(),不会确保所有的finalize()都会执行结束如果final
公众号:JavaEdge
·
2020-08-25 01:19
JVM
《
深入理解Java虚拟机
》——方法调用与基于栈的字节码解释执行引擎
方法调用:方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程。其实关于方法的执行,接口(父类)与实现类(子类)这些方法如何调用从Java代码层面上大家都是比较清楚的,这里我们探讨一下更深一层的运行原理。Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法
GeneralAndroid
·
2020-08-24 21:38
深入理解Java虚拟机
java
JAVA虚拟机
深入理解Java虚拟机
_JVM高级特性与最佳实践 第2版
深入理解Java虚拟机
_JVM高级特性与最佳实践第2版下载地址:https://pan.baidu.com/s/15_ADwgj7VPdMJhcMVUxYlQ扫码下面二维码关注公众号回复100013获取分享码本书目录结构如下
余松
·
2020-08-24 18:10
jvm
java
java高效并发学习笔记(一)java内存模型
java高效并发学习笔记(一)java内存模型学习JVM+JAVA多线程中,学习的书籍是《
深入理解java虚拟机
》——周志明这里记录一些笔记以便日后经常学习回顾。
佛铭
·
2020-08-24 16:44
《
深入理解Java虚拟机
》第2版挖的坑终于在第3版中被R大填平了
图中显示器下面的两本书分别是《
深入理解Java虚拟机
》的第2版和第3版。
why技术
·
2020-08-24 15:17
java技术
源码
《
深入理解Java虚拟机
》笔记
原帖地址:http://www.cnblogs.com/tianchi/archive/2012/11/11/2761631.html在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedefvoid(*FUNC)(int);char*str="yourcode";FUNCf=(FUNC)str;(*f)(0);也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行
梦断蓝桥
·
2020-08-24 15:14
Java
传说中的CAFEBABE到底在哪儿?
在周志明那本神书《
深入理解Java虚拟机
》出来之前,这本书应该是唯一一本讲JVM的书,对Javaclass文件格式,执行引擎讲得特别详细。
码农翻身
·
2020-08-24 13:54
补码
编程语言
java
jvm
反编译
《
深入理解Java虚拟机
》一书总结(干货满满)
看完《
深入理解Java虚拟机
》一书,做了一些简单总结,其中复杂的部分自己也没有搞懂,所以就不发表任何总结!1、概念1.1、首先说何为Java虚拟机?
陈汤姆
·
2020-08-24 12:41
《知识增强系列》
进阶学习-zk
dubbo
kafka
k8s
docker
《
深入理解Java虚拟机
》一书总结(一)
1、概念1.1、首先说何为Java虚拟机?Java虚拟机从字面意思直接理解就是运行Java的虚拟机器,既然是虚拟的,那么就是从物理层面来说是不存在于实际的一个机器,它不像电脑这种机器,是实际存在的,而是人们想象的一个机器,因为它能像机器一样做机器可以做的事情。1.2、为什么要使用Java虚拟机我们都知道Java语言是一种高级语言,我们可以从Java语言的特性中进行分析,Java特性包括面向对象、平
陈汤姆
·
2020-08-24 12:40
《Java后端知识体系》系列
再有人问你Java内存模型是什么,就把这篇文章发给他
网上有很多关于Java内存模型的文章,在《
深入理解Java虚拟机
》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。
Java大蜗牛
·
2020-08-24 10:11
自动内存管理机制
本文是阅读
深入理解java虚拟机
做的记录Java内存区域与内存溢出异常1.java虽然不用进行new出对象后的delete/free的操作了,但是有些部分还是需要进行手动操作的,如文件的close,连接的
myrainblues
·
2020-08-24 09:58
jvm
《
深入理解Java虚拟机
》学习总结-运行时数据区域
Java虚拟机运行时数据区域可划分为以下5个部分:虚拟机栈,本地方法栈,程序计数器,堆,方法区虚拟机栈虚拟机栈是线程私有的数据区,他的生命周期与线程相同。虚拟机栈中划分了若干个栈帧,每个栈帧对应了一个方法,用于存储局部变量表、操作数栈,动态链接、方法出口等信息。1)局部变量表:局部变量表是一组变量值的存储空间,用于存储线程中方法内部定义的局部变量及方法参数,局部变量表以变量槽为最小单位,对于每一个
Zookkk
·
2020-08-24 07:55
深入理解Java虚拟机
---第三章
第三章当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,在这几个区域内就不需要过多考虑如何回收的问题,当方法结束或者线程结束时
zzZsleep7
·
2020-08-23 22:31
深入理解Java虚拟机
深入理解Java虚拟机
——第3章 垃圾收集器与内存分配策略
第3章垃圾收集器与内存分配策略第3章垃圾收集器与内存分配策略3.1概述3.2对象已死?3.2.1引用计数算法3.2.2可达性分析算法3.2.3再谈引用3.2.4生存还是死亡?3.2.5回收方法区3.3垃圾收集算法3.3.1分代收集理论3.3.2标记-清除算法3.3.3标记-复制算法3.3.4标记-整理算法3.4HotSpot的算法细节实现3.4.1根节点枚举
zaker123
·
2020-08-23 22:15
Java学习
深入理解java虚拟机
系列第三版读后小记:(十二)运行时栈帧数据结构
深入理解java虚拟机
系列第三版读后小记:十二运行时栈帧数据结构前言栈帧的各个区域局部变量表操作数栈动态连接方法返回地址附加信息方法调用解析分派静态分派动态分派单分派与多分派总结前言之前提到java内存布局的时候提到过虚拟机栈
一白丁
·
2020-08-23 22:41
jvm
深入理解Java虚拟机
学习笔记 JVM
《
深入理解Java虚拟机
》写在前面:Java8用的是Hotspot虚拟机目录1.基础知识2.运行时数据区域(1)OOM异常(2)对象创建(3)对象内存布局(4)对象的访问定位3.垃圾收集(GarbageCollection
佛系宅女
·
2020-08-23 22:12
深入理解Java虚拟机
之内存管理(读书笔记)
本文为本人精心整理的周志明老师的《
深入理解Java虚拟机
》一书中的Java内存管理方面的内容。
BliNkShadOw
·
2020-08-23 20:20
Java虚拟机
Java虚拟机内存管理(一)—内存划分
——《
深入理解Java虚拟机
:JVM高级特性与最佳时实践(第二版)》周志明Java虚拟机作为运行Java程序抽象出来的计算机,具有内存管理的能力,像内存分配、垃圾回收等这些相关的内存管理问题,Java虚拟机都会帮我们解决
weixin_34256074
·
2020-08-23 20:45
理解java虚拟机内存收集
学习《
深入理解Java虚拟机
》时个人的理解笔记1、为什么要去了解垃圾收集和内存回收技术?
Super_time
·
2020-08-23 19:39
JVM
class 类加载过程(JDK 8)
读《
深入理解Java虚拟机
》第三版,周志明著,笔记。
Super_time
·
2020-08-23 19:07
JVM
JVM invokedynamic 和 lambda
invokedynamic(每个含有该指令的地方都可以称为“动态调用点”)https://blog.csdn.net/raintungli/article/details/54910152这篇文章外加《
深入理解
Golden_Dog
·
2020-08-23 19:49
Java基础
JAVA内存溢出异常测试
本文章为看《
深入理解JAVA虚拟机
》的笔记JAVA堆异常溢出:/***Vmargs:-Xms20M-Xmx20M-XX:+HeapDumpOnOutOfMemoryError*堆的最小值参数-Xms,堆的最大值参数
0_o_c
·
2020-08-23 19:38
jvm
深入理解java虚拟机
2——垃圾回收
1.判断对象是否可以被回收1.1引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;优点:原理简单,判定效率很高。缺点:两个对象相互引用对方,但都不再被访问,则无法回收。1.2可达性分析算法这个算法的基本思路就是通过一系列称为"GCRoots"的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(
JYY_JYY_
·
2020-08-23 18:38
java
JVM
查看java虚拟机GC(垃圾收集器)日志
最近在看《
深入理解java虚拟机
》这本书,在看到第3章第二节验证java虚拟机使用的不是引用计算法来判断对象是否被GC回收时。看到了GC日志,不是很清楚是什么意思,在网上搜索资料,自己总结了一下。
零零镹
·
2020-08-23 18:39
java虚拟机
深入理解Java虚拟机
-垃圾收集器
在前面的文章中,我们提到了几种常见的垃圾收集算法,今天咱们来说一说商用Java虚拟机中经典的垃圾收集器。新生代收集器我们首先介绍三种新生代的垃圾收集器,分别是Serial收集器、ParNew收集器和ParallelScavenge收集器。Serial收集器Serial收集器是最古老的垃圾收集器,曾经是新生代垃圾收集的唯一选择。这是一种单线程的垃圾收集器,采用标记-复制算法,在进行垃圾收集时,所有的
sky-ng
·
2020-08-23 18:09
Java
深入理解Java虚拟机
-判断对象是否存活算法与对象引用
在之前的文章中我们谈到过Java内存区域的概念,我们知道Java中的对象一般存放在堆中,但是总不能让这些对象一直占着内存空间,这些对象最终都会被回收并释放内存,那么我们如何判断对象已经成为垃圾呢?这篇文章会提出两种算法解决这个问题。另外,本文还要谈一谈对象引用相关的知识,这在面试中也是经常被问到的问题。判断对象是否存活算法引用计数算法引用计数算法的原理比较简单,在对象中添加一个引用计数器,当有一个
sky-ng
·
2020-08-23 18:09
Java
jvm低延迟垃圾收集器(Shenandoah)
出入:
深入理解Java虚拟机
:JVM高级特性与最佳实践(第3版)衡量垃圾收集器的三项最重要的指标是:内存占用(Footprint)、吞吐量(Throughput)和延迟(Latency),三者共同构成了一个
qq_26855461
·
2020-08-23 18:44
HotSpot的算法细节实现
出入:
深入理解Java虚拟机
:JVM高级特性与最佳实践(第3版)看到这一章,自己也有些模棱两可,无法归纳出自己的见解,后面慢慢理解吧。
qq_26855461
·
2020-08-23 18:43
深入理解Java虚拟机
(一)java运行时数据区域
Java语言和虚拟机规范官方文档:https://docs.oracle.com/javase/specs/index.html概述Java虚拟机在执行程序的过程中,会把它管理的内存分为不同的数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时才被销毁。有些数据区域是每个线程私有的。在创建线程时创建每个线程的数据区域,并在线程退出时销毁每个数据区域。如图所示:程序计数
handsomehou
·
2020-08-23 17:29
Java基础
Java虚拟机内存溢出异常
前几天读《
深入理解Java虚拟机
》测试了一下书中所写的java虚拟机异常的代码,特在此整理一下。
宋某人Jsong
·
2020-08-23 17:54
Java核心
深入理解java虚拟机
—— 超详细虚拟机垃圾收集器原理,GC 垃圾收集器算法的深度解析,项目中如何选择合适的垃圾收集器
目录一、收集器的功能1、哪些内存需要回收?2、什么时候回收?3、如何回收?标记-清除(Mark-Sweep)算法复制算法算法标记-整理算法分代收集算法二、垃圾收集器有那些并发垃圾收集和并行垃圾收集的区别MinorGC和MajorGC的区别虚拟机经典回收器,7大垃圾回收器:1、Serial收集器2、ParNew收集器3、ParallelScavenge收集器4、SerialOld收集器5、Paral
努力就好其他的不管
·
2020-08-23 16:54
深入了解
JVM
深入理解java虚拟机
—— 虚拟机 深扒垃圾回收器,再也不怕BAT面试
目录下面开始本篇主要介绍的内容:Java虚拟机垃圾回收------为什么需要了解垃圾回收------GC回收那些对象,何时回收,如何回收------1、垃圾回收器回收那些内存?------2、什么时候回收?即GC发生在什么时候?------3、如何回收?关于GC什么时候回收?即GC发生在什么时候?------判断可回收有2种方式:------1、引用计数算法(RecferenceCounting)
努力就好其他的不管
·
2020-08-23 16:22
深入了解
JVM
【
深入理解JAVA虚拟机
】第二部分.内存自动管理机制.5.调优实战
高性能硬件上的程序部署策略在高性能硬件上部署程序,目前主要有两种方式:通过64位JDK来使用大内存。--缺点:GC停顿时间长使用若干个32位虚拟机建立逻辑集群来利用硬件资源。--思想:分治,汇总。缺点:分布式/多实例的缺点,如数据共享,数据一致性,一致性hash等。堆外内存导致的溢出错误垃圾收集进行时,虚拟机虽然会对DirectMemory进行回收,但是DirectMemory却不能像新生代、老年
dizi9750
·
2020-08-23 16:15
JVM学习笔记(八):类加载器以及双亲委派模型介绍
本章内容根据《
深入理解Java虚拟机
》第7章部分内容整理1.什么是类加载器?
青葱岁月
·
2020-08-23 16:12
Java
JVM
ParNew收集器详解
以下摘自:《
深入理解Java虚拟机
:JVM高级特性与最佳实践》第3章垃圾收集器与内存分配策略ParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial
caoliangbo
·
2020-08-23 16:48
JVM
JVM学习笔记(四):JVM类加载机制
接下来,我将继续,参考着周志明老师的《
深入理解Java虚拟机
》,以及一些自己查阅的书籍、资料,总结一下JVM类加载机制相关的知识。
小伦超正经
·
2020-08-23 15:16
Java
JVM(三)图解垃圾回收
——《
深入理解Java虚拟机
》Java语言是一门自动进行垃圾回收的语言垃圾回收(GC)指的是:对象在使用完毕之后,在应用系统之后的运行过程中,不会再使用到这个对象,那么这个对象就应该被回收掉,让出它所占用的
destiny ~
·
2020-08-23 15:31
JVM
深入理解Java虚拟机
——自动内存管理机制
特此申明:前段时间找工作所以看了这本书,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参考下,仅此而已。一:Java内存区域与内存溢出异常在运行Java程序时,Java虚拟机会把管理的内存划分为若干个不同的数据区域。Java虚拟机运行时数据区数据区域图中,除了方法区和堆区是线程共享区外,其他三个是线程隔离的数据区(private)
瑛民星
·
2020-08-23 15:13
Java
书籍笔记
设置项目JVM参数的几种方式及使用jvisualvm打开分析dump文件
最近阅读《
深入理解java虚拟机
》,对书中的一些例子进行实操故记录一下自己的学习内容。
林先生拆坑日记。
·
2020-08-23 14:14
JVM
深入理解Java虚拟机
(二)Java垃圾回收看这篇就够了!
引用《
深入理解Java虚拟机
》书里的一句话:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。
handsomehou
·
2020-08-23 14:32
Java基础
深入理解java虚拟机
—— 虚拟机 新型垃圾收集器 Shenandoah GC, ZGC
目录一、垃圾回收器的发展历程简介:二、衡量垃圾收集器的三项最重要的指标1、计算机的发展趋势以及垃圾回收器的选择Shenandoah相比起G1又有什么改进?Shenandoah收集器的工作过程分为以下九个阶段:Shenandoah收集器的工作过程:BrooksPointerShenandoah在实际应用中的性能表现二、ZGC收集器ZGC的功能实现:染色指针的三大优势:ZGC收集器是如何工作处理过程:
努力就好其他的不管
·
2020-08-23 14:33
深入了解
JVM
java多态
下面经过我的多方调查,调查结果如下:首先,我们先对Java的多态说起:多态分为两种a.编译时多态:方法的重载;ps:添加一句《
深入理解java虚拟机
》上看到的话:编译器虽然能确定方法的重载版本,但是在很多情况下这个重载版本并不是唯一的
来日可期1314
·
2020-08-23 11:11
分享经验
jvm
java
多态
Java虚拟机初探
可这种方式不能长久的记忆,随通过《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第三版)》进行系统的学习
小海子l
·
2020-08-23 10:48
java
谈谈java中的引用
---来自《
深入理解java虚拟机
》这个定义就是指的强引用,这种强引用只能描述两种情况,被引用和未被引用,为了能表示内存充足就引用着,内存不足就回收的情况,又搞出来三个(其实是四个,还有一个FinalRe
Bigbear
·
2020-08-23 09:56
java
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他