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虚拟机》
JVM进阶(一)——初识JAVA栈
本”JVM进阶“专栏大部分内容均来源于经典书籍《
深入理解Java虚拟机
》。 下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。
No Silver Bullet
·
2020-06-21 07:38
JVM
JVM
Column
JAVA工程师学习路线
HTML+CSS+JavaScript3.MySQL第二阶段1.Java进阶2.JS+JQuery+Ajax3.数据库第三阶段1.JavaWeb2.软件工程3.Git、Linux、软件测试第四阶段1.
深入理解
爱睡觉的小飞猪
·
2020-06-21 07:44
JAVA
深入理解JVM(1)—Java虚拟机基本结构
最近开始看周志明著的《
深入理解Java虚拟机
》一书,此书作为Java虚拟机的经典畅销书,果然是非常优秀的,在学习它的过程中逐渐理解了Java运行机理、内存分配与回收等知识,收获颇多。
火贪三刀
·
2020-06-21 07:22
深入理解Java虚拟机
新冠疫情在家快疯了?来学习这些Java架构书籍备战接下来的面试环节吧
《
深入理解Java虚拟机
:JVM高级特性与最佳实践》本书共分为五
马士兵老师
·
2020-06-21 06:05
跟着阿里p7学架构:微服务+MySQL+Nginx+Redis+容器化+虚拟机
《
深入理解Java虚拟机
》但要想真的深入理解虚拟机一问肯定远远不够的,但是本文中分三部分对JVM有深入的解析。
编程爬阶小马
·
2020-06-21 06:53
周志明:终于薅住了这位 “社恐”作者的小辫子
所以利用工作之便,有幸采访到2位大佬,《
深入理解Java虚拟机
》系列作者周志明与资深出版人杨福川,真是萌新的一大福利,我与豆瓣、知乎的读者“吃瓜群众”同在一片瓜田。全文以三方文字会谈
CSDN官方博客
·
2020-06-21 00:09
python
人工智能
直播
从jvm角度看懂类初始化、方法重载、重写。
我们我觉得出来使用和卸载阶段外,初始化阶段是最贴近我们平时学的,也是笔试做题过程中最容易遇到的,假如你想了解每一个阶段的话,可以看看
深入理解Java虚拟机
这本书。下面开始讲解初始化过程。
帅地
·
2020-06-20 21:19
Java后端求职基础学习目录
Java后端求职基础学习目录语言基础《Java核心技术》《Java编程思想》和《EffectiveJava》《
深入理解Java虚拟机
》《Java并发编程实战》数据结构和算法《数据结构和算法推荐》计算机网络
退堂鼓大师
·
2020-06-13 13:40
java
堆是分配对象存储的唯一选择吗?(通过逃逸分析看堆空间的对象分配策略)
在《
深入理解Java虚拟机
》中关于Java堆内存有这样一段描述:随着JIT编译期的发展与逃逸分析技术逐渐成熟,栈上分配、标量替换优化技术将会导致一些微秒的变化,所有的对象都分配到堆上也渐渐变得不那么"绝对了
Shaw_Young
·
2020-06-08 21:13
深入理解Java的动态编译
基本原理下面这个很眼熟的图来源于《
深入理解Java虚拟机
》前端编译与优化的章节,
throwable
·
2020-06-06 09:00
深入理解Java虚拟机
(一)java运行时数据区域
Java语言和虚拟机规范官方文档:https://docs.oracle.com/javase/specs/index.html概述Java虚拟机在执行程序的过程中,会把它管理的内存分为不同的数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时才被销毁。有些数据区域是每个线程私有的。在创建线程时创建每个线程的数据区域,并在线程退出时销毁每个数据区域。如图所示:imag
honehou
·
2020-06-01 22:00
深入理解Java虚拟机
JVM虚拟机java技术体系程序设计语言编译器class文件虚拟机class文件格式规范给定,可以自己设计语言,自己编写编译器,生成相同的class文件即可只要class文件的规范给定,不同的编程语言根据不同的编译器进行编译,生成符合规范的class文件,就能运行在JVM虚拟机上一.内存结构1.1运行时数据区域程序计数器程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器
NTFA
·
2020-05-28 00:31
java
jvm
【拥抱大厂系列】百度面试官问过的 “JVM内存分配与回收策略原理”,我用这篇文章搞定了
在前面的一篇文章
深入理解Java虚拟机
-如何利用VisualVM进行性能分析中讲到了一些关于JVM调优的知识,但是,其实,还是有一些问题没有非常清楚的可以回答的,这里先给出几个问题,然后,我们再展开这篇文章需要讲解的知识
欧阳思海
·
2020-05-27 23:56
java
「JVM」类加载机制及初始化时机分析
上面这段话是在周志明大佬的《
深入理解Java虚拟机
》中的,作为类加载机制的概念在此摘录。当我们在编译器中选择运行下面
Planeswalker23
·
2020-05-27 17:36
jvm
java
后端
深入理解Java虚拟机
(二)
1.垃圾回收条件1.1如何判断对象已死?在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(“死去”即不可能再被任何途径使用的对象)了。判断对象是否“死去”有引用计数器法和可达性分析算法。引用计数器法:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一,当拘计数
阿牛_8011
·
2020-05-25 11:50
共享书籍
你的知识需要管理12.一网打尽13.好好学习14.出奇制胜15.全新思维16.元认知17.番茄工作法图解18.稀缺19.演技六讲20.第五项修炼21.社会性动物22.我不过低配的人生23.人月神话24.
深入理解
李祥洪
·
2020-05-17 14:58
我理解的Java虚拟机(JVM)
怎么学Java虚拟机我理解的Java虚拟机(JVM)引言看了周志明的《
深入理解Java虚拟机
》以及一些视频资料,准备自己写博客将看的以及理解的东西记录下来,毕竟很多东西偏理论,需要在理解的基础上记忆。
九菜鸟
·
2020-05-16 00:26
JVM
jvm
46张PPT弄懂JVM、GC算法和性能调优!
好东西当然要分享,PPT已上传可供下载(关注Java技术栈微信公众号,在后台回复:JVM46,即可获取完整PPT,另外良心推荐阅读《
深入理解Java虚拟机
Java技术栈
·
2020-05-15 14:13
Java实现简单工厂模式—GoF(一)
《大话设计模式》或《研磨设计模式》《重构改善既有代码的设计》《effectivejava》《
深入理解Java虚拟机
》《Java并发编程实战》《深入理解计算机系统》除此之外,闲暇之余多阅读一下JDK源码,
maxzhao_
·
2020-05-14 21:00
一文带你深度解析JVM虚拟机,看这份阿里架构师文档就够了
深入理解Java虚拟机
:JVM高级特性与最佳实践Java程序员需要掌握的JVM的知识点有哪些呢?
wx5d6cccb1cb158
·
2020-05-11 17:07
程序员
Java
面试
《
深入理解Java虚拟机
》第 3 版里面到底多了哪些知识点?本文竟然得到了本书作者的认可!
这是why的第47篇原创文章荒腔走板大家好,我是why。老规矩,先是简短的荒腔走板聊聊生活。上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星。不知道为什么,一瞬间,我感觉一下回到了小时候的夏天。脑海里浮现出了一些画面:一个大铁勺子舀一勺透心凉的井水、经过水缸冰镇的西瓜、树荫下卖樱桃的老爷爷、小河边嬉笑着抓螃蟹的同伴、提着一杯凉白开走在上学路上的自己,
why技术
·
2020-05-11 12:00
volatile实现原理
java内存模型(JavaMemoryModel,JMM)java内存模型这张图相信已经看过很多遍了,《
深入理解java虚拟机
》中解释如下,我完整写过来:“由于计算机的储存设备与处理器的运算速度有着几个数量级的差距
cheng南旧事
·
2020-05-03 11:40
Java程序员必备基础结构图
前言最近看了
深入理解Java虚拟机
第三版,整理了一些基础结构图,算是比较全的了,做一下笔记,大家一起学习。1.Java虚拟机运行时数据区图JVM内存结构是Java程序员必须掌握的基础。
Jay_huaxiao
·
2020-05-02 20:00
Java中包装类与基本类型运算的性能比较(Integer i += 1)
如果要看懂字节码,需要了解JVM的虚拟机栈的结构和代码的执行流程,可参阅《
深入理解Java虚拟机
》本文部分参考了如下文章的内容:Java性能要点:自动装箱/拆箱(Autoboxing/Unboxing)
TianYuanSX
·
2020-04-26 14:00
一份热乎乎的腾讯后端面试真题
前言最近有个好朋友换工作了,面了腾讯后端,跟他要了份面试真题,大家一起来探讨一下,哈哈~腾讯后端一面①JVM内存模型这个可以复习一下《
深入理解Java虚拟机
》第12章(Java内存模型和线程)哈,也可以看看我之前的文章哈
Jay_huaxiao
·
2020-04-26 08:00
ASM基础《
深入理解Java虚拟机
》JVM指令
以下内容作为日常参考手册JVM的类型签名对照表TypeSignatureJavaTypeZbooleanBbyteCcharSshortIintJlongFfloatDdoubleLfully-qualified-class;fully-qualified-class[typetype[](arg-types)ret-typemethodtypeJVM指令集常量类型常量范围指令整型int-1~5i
科洛诺诗
·
2020-04-20 20:31
JVM是如何分配管理内存的?
本文关键字:JVM、虚拟机栈、Java堆、方法区、运行时常量池本文成文参考了《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第3版)》和《Java虚拟机规范(JavaSE8版)》,这是两本难得的好书
51CTO朱晏辰
·
2020-04-15 16:58
JVM
虚拟机栈
Java堆
萌新科普
读《
深入理解Java虚拟机
》- 笔记01
《
深入理解Java虚拟机
:JVM高级特性与最佳实践》第2版读这本书的原因之一:认识技术的本质,帮助思考“程序这样写好不好”,检查程序背后的漏洞(如并发问题)。
阿历Ali
·
2020-04-14 06:58
《
深入理解Java虚拟机
-JVM高级特性与最佳实践》学习总结(第六章)
第六章类文件结构类文件结构ClassFile{u4magic;u2minor_version;u2major_version;u2constant_pool_count;cp_infoconstant_pool[constant_pool_count-1];u2access_flags;u2this_class;u2super_class;u2interfaces_count;u2interfac
雅俗共赏M
·
2020-04-14 04:09
成为Java顶尖程序员所必须的11本书,吃透这几本书绝对是业界大牛
这里给大家推荐11本Java学习中必备的书,1、《
深入理解Java虚拟机
:JVM高级特性与最佳实践》2、HotSpot实战3、Java多线程编程核心
媛媛不元
·
2020-04-13 16:12
读《
深入理解Java虚拟机
》- 笔记02
《
深入理解Java虚拟机
:JVM高级特性与最佳实践》第2版13.内存分配(一般来说,不是绝对的)大方向在堆上分配(也可能被JIT间接分配到栈),对象主要、优先分配在新生代Eden区,少数情况下也可能直接分配在老年代中
阿历Ali
·
2020-04-13 15:32
《
深入理解java虚拟机
》- 01 java内存区域
1、运行时数据区运行时数据区1.1PCRegister(程序计数器)(1)记录当前线程所执行字节码的行号,字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令(2)每个线程都有一个独立的程序计数器(3)如果是java方法,记录的是正在执行的字节码指令地址;如果是native方法,计数器的值为空(4)唯一没有规定OutOfMemoryError的区域JVMStack(java虚拟
em111
·
2020-04-11 20:50
深入理解java虚拟机
读书笔记,第二章:Java内存区域与内存溢出异常
2.1概述讲解内存各个区域的作用、服务对象以及其中可能产生的问题2.2运行时数据区2.2.1程序计数器当前线程所执行的字节码的行号显示器每个线程都有独立的程序计数器,既线程私有线程执行Java方法,计数器记录的是正在执行的虚拟机字节码指令的地址线程执行Native方法,计数器值为空唯一一个在Java虚拟机规范中没有OutOfMemoryError情况的区域2.2.2Java栈线程私有,生命周期和线
cremin
·
2020-04-11 13:07
读《
深入理解Java虚拟机
》- 笔记04
《
深入理解Java虚拟机
:JVM高级特性与最佳实践》第2版第6章类文件结构32.常量池中主要存放两大类常量:字面量和符号引用字面量(Java代码层面的概念):文本字符串、声明为final的常量值等。
阿历Ali
·
2020-04-11 11:32
深入理解java虚拟机
第12章Java内存模型与线程
12.4Java与线程12.4.1线程的实现实现线程主要有三种方式:使用内核线程实现、使用用户线程实现、使用用户线程加轻量级进程混合实现。1、使用内核线程实现内核线程就是直接由操作系统内核支持的线程。程序一般不会直接去使用内核线程,而是去使用内核线程的一种高级接口—轻量级进程,轻量级进程就是我们通常意义上讲的线程,由于每个轻量级进程都由一个内核线程支持,因些只有先支持内核线程,才能有轻量级进程。这
著名的
·
2020-04-11 06:25
基本数据类型的成员变量放在jvm得哪块内存区域里?
每个方法调用的过程,就代表了一个栈帧在虚拟机栈中入栈到出栈的过程,当进入一个方法时,这个方法在栈中需要分配多大的内存都是完全确定的,方法运行时不会改变局部变量表的大小——《
深入理解java虚拟机
第二版》
旧时光1234
·
2020-04-11 03:25
深入理解Java虚拟机
读书笔记 - Java运行时数据区域
运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存区域划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。程序计数器是一块较小的内存空间。它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。由于Ja
HikariCP
·
2020-04-10 20:58
JVM内存区域与OOM
说明:本篇博客属于读书笔记,大量参考《
深入理解Java虚拟机
》这本书JVM的内存程序计数器程序计数器是线程私有的,每一个线程都有自己的一个程序计数器,并且互不干扰,程序计数器相当于当前代码所执行指令的指针
大大大大大先生
·
2020-04-09 16:23
Java进阶-框架与书籍
Java并发编程实战《
深入理解Java虚拟机
第2版》理解虚拟机并不是那么难,Java程序员来说,很多知识其实是必须的。
深入理解Java虚拟机
《
枫晴maple
·
2020-04-09 03:07
10分钟了解jvm内存分配模型
0.概论推荐书目:
深入理解Java虚拟机
java虚拟机内存主要分为三部分:java虚拟机栈,java堆,静态方法区jvm内存模型1.java虚拟机栈其中java虚拟机栈就是我们俗称的栈内存,其中主要存放的是
关耳金名
·
2020-04-08 04:43
JVM加载类的时机
image.png类的生命周期加载,连接(验证,准备,解析),初始化,使用,卸载image.png摘自
深入理解java虚拟机
【Java虚拟机类生命周期】对类的主动引用(5种),会触发类的初始化Java虚拟机规范中对于类加载的时机没有明确的规范
四喜汤圆
·
2020-04-08 03:03
某秋招打法及其细节
《大话设计模式》《mysql必知必会》《程序员面试金典》《java并发编程实战》《计算机操作系统第三版》《计算机网络》都看了一遍,《
深入理解java虚拟机
》看了两遍。
加油_汤姆叔叔
·
2020-04-08 01:23
Java Class文件修改
背景:在开发中我们可能需要需要修改Java的class文件来达到修改代码逻辑的目的1.参考书籍《
深入理解Java虚拟机
第二版》第6章-类文件结构第8章-虚拟机字节码执行引擎对原理进行比较详细的讲述2.这两篇文章
Boahui
·
2020-04-07 21:57
JDK12编译
决定编译一下jdk12本文将参考《
深入理解JAVA虚拟机
》第二版和官方编译指南进行jdk编译准备工作系统:windows自带的Linux子系统(WSL),Ubuntu18.04LTS版首先在windows10
宇智波派
·
2020-04-06 19:10
java
jvm
ubuntu
深入理解Java虚拟机
-垃圾收集器与内存分配策略
概述垃圾收集(GarbageCollection,GC)GC需要完成的三件事:哪些内存需要回收?什么时候回收?如何回收?内存运行时区域其中的程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作。每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内不需要过多考虑
苏先生Tongson
·
2020-04-06 16:02
《
深入理解JAVA虚拟机
》学习笔记--对象存活算法
在堆里存入放java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定哪些对象还“活着”,哪些已经“死去”。引用计数算法引用计数器算法(ReferenceCounting):给对象添加一个引用计数器,每当有一个地方引用它时,计数器加1;当引用失效时,计数器减1;任何时刻计数器为0的对象就是不可能再被使用的。客观的说,引用计数器算法的实现简单,判定效率也很高,在大部分情况下是
木子小三金
·
2020-04-06 11:12
深入理解Java虚拟机
(第三版)-14. 线程安全与锁优化
14.线程安全与锁优化1.什么是线程安全?当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替进行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的2.Java语言中的线程安全我们将Java语言下的线程安全分为以下五类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。1.不可变:不可变一定
傑0327
·
2020-04-06 10:00
深入理解Java虚拟机
(第三版)-14. 线程安全与锁优化
14.线程安全与锁优化1.什么是线程安全?当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替进行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的2.Java语言中的线程安全我们将Java语言下的线程安全分为以下五类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。1.不可变:不可变一定
傑0327
·
2020-04-06 10:00
深入理解Java虚拟机
(第三版)-13.Java内存模型与线程
13.Java内存模型与线程1.Java内存模型Java内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到主内存和从内存中取出变量值的底层细节该变量指的是实例字段、静态字段、和构成数组对象的元素,不包含线程私有的局部变量和方法参数Java线程-》工作内存-》Save和load操作-》主内存每个线程都有自己的工作内存,工作内存中保存了该线程使用的变量的主内存副本,线程对
傑0327
·
2020-04-06 10:00
深入理解java虚拟机
摘要(四)--垃圾收集器与内存分配策略
深入理解java虚拟机
摘要目录:一、自动内存管理机制运行时数据区域HotSpot虚拟机对象探秘实战:OutOfMemoryError异常垃圾收集器与内存分配策略一、自动内存管理机制4.垃圾收集器与内存分配策略主要考虑
程序员wp
·
2020-04-06 07:06
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
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
其他