谈起《深入理解java虚拟机》这本书,让我印象深刻的就是换工作跳槽面试的时候,当时刚进入java开发这个行业的时候,平时只是做一些对数据库的增删改查等功能,当自己技术增长一些的时候,就开始对java底层jvm开始研究,当时自己喜欢看一些博客啊,公众号等等,大部分的大牛们推荐看《深入理解java虚拟机》这本书。我就从当当网上买了这本书,当时特别的清晰。一开始看这本书的时候其实有点不太理解,因为平时没有接触这些东西。有一次我印象特别深,当时我所在线上的项目出现了OutOfMemory,看到这个异常的时候我突然想起但是看《深入理解java虚拟机》的时候对这个有全面且深入的讲解,我就翻开然后认真的研究了一番,最后准确的定位了问题,将问题解决掉了。

  当时随着自己的欲望不断增大,在跳槽的时候频繁的被问到java虚拟机的这部分的知识,然后我就又通读了周老师的《深入理解java虚拟机》,然后后来的面试中我自己认为是吊打面试官,哈哈这个还真不是吹牛,因为在面试的时候自己真的能够准确流畅的将面试官提出的问题回答出来,没准儿,还可以反问一些面试官一些知识(来检测面试官对这方面掌握的程度,哈哈)。

  随着不管是工作中还是面试的过程中,都同样的证明了java虚拟机的重要性,更重要的是在阅读《深入理解java虚拟机》这本书的时候,你能够清晰的看懂周老师层层讲解的思路。这本书将java虚拟机剖解的非常透彻,而且熟读以后就感觉java虚拟机是比较有意思的东西,就像java虚拟机被划分成堆栈方法区等等,结合这个你可以更好的知道你编程的局部变量,成员变量和对象等会存放到哪里,能够更好的让你所编程的代码减少一些不必要的bug。还有就是对GC的熟悉,对JVM参数的设置能够快速定位线上的问题和能够避免一些不必要的问题。还有就是这本书后面java线程、线程安全和锁的优化方面真的是让人兴奋。

  作者周志鹏,周老师写的《深入理解java虚拟机》这本书真的是一本良心书,这本书给我的感受就是,它不仅能够让你轻松面对跳槽面试时候的java虚拟方面的面试题肯定是加分项,而且还能够让你成为工作中解决这方面的能手,阅读这本书肯定让你受益匪浅。

  最后,周老师又要出《深入理解Java虚拟机》-“小紫”,我必须支持,紧跟大佬的步伐,让自己更加的强大!

  另外附上购买链接:https://item.jd.com/12607299.html?dist=jd

深入理解Java虚拟机 - 书评的更多相关文章

  1. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  2. 《深入理解 java虚拟机》学习笔记

    java内存区域详解 以下内容参考自<深入理解 java虚拟机 JVM高级特性与最佳实践>,其中图片大多取自网络与本书,以供学习和参考.

  3. (1) 深入理解Java虚拟机到底是什么?

    好文转载:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机   作为一个Java程序员,我们每天都在写Java ...

  4. 深入理解java虚拟机(7)---线程安全 & 锁优化

    关于线程安全的话题,足可以使用一本书来讲解这些东西.<Java Concurrency in Practice> 就是讲解这些的,在这里 主要还是分析JVM中关于线程安全这块的内容. 1. ...

  5. 深入理解java虚拟机(6)---内存模型与线程 & Volatile

    其实关于线程的使用,之前已经写过博客讲解过这部分的内容: http://www.cnblogs.com/deman/category/621531.html JVM里面关于多线程的部分,主要是多线程是 ...

  6. 深入理解java虚拟机(5)---字节码执行引擎

    字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序.由一序列 op 代码/数据对组成的二进制文件.字节码是一种中间码,它比机器码更抽象. 它经常被看作是包含一个执行 ...

  7. 深入理解java虚拟机(4)---类加载机制

    类加载的过程包括: 加载class到内存,数据校验,转换和解析,初始化,使用using和卸载unloading过程. 除了解析阶段,其他过程的顺序是固定的.解析可以放在初始化之后,目的就是为了支持动态 ...

  8. 深入理解java虚拟机(1)------内存区域与内存溢出

    在C++领域,关于C++的内存存储,结构等等,有一本书:深度探索C++对象模型,讲解的非常透彻. 而Java确把这一工作交给了虚拟机来处理. 我们首先来看看关于内存的问题. 1.问题: 1)java ...

  9. 什么是HotSpot VM & 深入理解Java虚拟机

    参考 http://book.2cto.com/201306/25434.html 另外,这篇文章也是从一个系列中得出的: <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> ...

随机推荐

  1. vue1 监听数据变化

  2. Java出现 The server time zone value '�й���׼ʱ��' is unrecognized 异常

    解决办法: 在配置连接数据库的URL后面加上?serverTimezone=UTC ,如下: jdbc:mysql://localhost:3306/test?serverTimezone=UTC

  3. CGI FastCGI php-FPM 分别是什么

    1.CGI协议用于php解析器跟webserver之间的通信(效率低,浪费资源) 2.FastCGI 可以一次性处理多个进程,是CGI的改良版本 3.php-FPM 是FastCGI 的进程管理器(产 ...

  4. PHP yield占用内存测试

    function com($start) { $tmp = []; for($i=0; $i<300000; $i++){ $tmp[] = $i; } $end = memory_get_us ...

  5. js原型模式和继承

    function SuperType() { this.property = true; //原型属性 } //基类方法 SuperType.prototype.getSuperValue = fun ...

  6. SQL Server查询性能

    sql server常用语句总结 http://ace105.blog.51cto.com/639741/792519 SQL Server 性能调优(一)--从等待状态判断系统资源瓶颈        ...

  7. HTML5中table标签与form标签的区别

    html中form表示一个表单,用来把一系列的控件包围起来,然后再统一发送这些数据到目标,比如最常见的注册,你说需要填写的资料,都是被封装在form里的,填写完毕后,提交form内的内容,如果不再fo ...

  8. 元素(element)创建

    一.元素创建的三种方式-------元素创建是为了提高用户的体验 1.第一种 document.write("标签代码及内容") <input type="butt ...

  9. 【LGR-059】洛谷7月月赛题解

    传送门 比赛的时候正在大巴上,笔记本没网又没电(不过就算有我估计也不会打就是了) \(A\) 咕咕 const int N=(1<<10)+5; int a[N][N],n; void s ...

  10. codeforces524E

    题意:n*m的矩阵,给出k个点,Q次询问,问每个矩阵中每个点是否被看管,一个点被看管的定义是那个点所在的行或列有点,n,m<=1e5,k,q<=2e5 sol :发现行和列是独立的,即要么 ...