深入理解Java虚拟机 - 书评
谈起《深入理解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虚拟机 - 书评的更多相关文章
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 《深入理解 java虚拟机》学习笔记
java内存区域详解 以下内容参考自<深入理解 java虚拟机 JVM高级特性与最佳实践>,其中图片大多取自网络与本书,以供学习和参考.
- (1) 深入理解Java虚拟机到底是什么?
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java ...
- 深入理解java虚拟机(7)---线程安全 & 锁优化
关于线程安全的话题,足可以使用一本书来讲解这些东西.<Java Concurrency in Practice> 就是讲解这些的,在这里 主要还是分析JVM中关于线程安全这块的内容. 1. ...
- 深入理解java虚拟机(6)---内存模型与线程 & Volatile
其实关于线程的使用,之前已经写过博客讲解过这部分的内容: http://www.cnblogs.com/deman/category/621531.html JVM里面关于多线程的部分,主要是多线程是 ...
- 深入理解java虚拟机(5)---字节码执行引擎
字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序.由一序列 op 代码/数据对组成的二进制文件.字节码是一种中间码,它比机器码更抽象. 它经常被看作是包含一个执行 ...
- 深入理解java虚拟机(4)---类加载机制
类加载的过程包括: 加载class到内存,数据校验,转换和解析,初始化,使用using和卸载unloading过程. 除了解析阶段,其他过程的顺序是固定的.解析可以放在初始化之后,目的就是为了支持动态 ...
- 深入理解java虚拟机(1)------内存区域与内存溢出
在C++领域,关于C++的内存存储,结构等等,有一本书:深度探索C++对象模型,讲解的非常透彻. 而Java确把这一工作交给了虚拟机来处理. 我们首先来看看关于内存的问题. 1.问题: 1)java ...
- 什么是HotSpot VM & 深入理解Java虚拟机
参考 http://book.2cto.com/201306/25434.html 另外,这篇文章也是从一个系列中得出的: <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> ...
随机推荐
- Nginx入门(四)——反向代理
server { listen 8020; server_name localhost; location / { root html; index index.html index.htm; pro ...
- Codeforces 380E Sereja and Dividing
题面 洛谷传送门 题解 博客 有精度要求所以只用求几十次就差不多了 CODE #include <bits/stdc++.h> using namespace std; typedef l ...
- java.sql.SQLException: connection holder is null;
一.问题来源分析 出现的错误 : Cause: java.sql.SQLException: connection holder is null; uncategorized SQLException ...
- Vue.js最佳实践(五招助你成为vuejs大师)
转自https://www.jb51.net/article/139448.htm 本文面向对象是有一定Vue.js编程经验的开发者.如果有人需要Vue.js入门系列的文章可以在评论区告诉我,有空就给 ...
- json与java bean对象转换
第一步:引入fastjson的依赖jar包 注:如果引入此版本的依赖,导致项目不能启动(报错:找不到启动类);那么可以换一个版本的fastjson即可. 给出文字版: <!-- fastjson ...
- hash 算法
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...
- 【概率论】5-4:泊松分布(The Poisson Distribution)
title: [概率论]5-4:泊松分布(The Poisson Distribution) categories: - Mathematic - Probability keywords: - Po ...
- 使用DOS命令将类库封装成dll
1.Windows键+R.输入cmd进入DOS 2.使用 cd 加路径找到需要封装成dll的类库文件 3.csc /target:library /out:dll的名字.DLL 需要封装的cs文件
- 【原创】go语言学习(十四)IO操作1
目录: 格式化输入 格式化输出 终端输入输出背后的原理理 bufio包的使用 命令行参数处理理和urfave/cli使用 格式化输入 1.从终端获取⽤用户的输入 格式化输入 fmt.Scan(a …i ...
- python ros 警报上报
#!/usr/bin/env python2. # -*- coding: utf- -*- import rospy import time from common_msgs.msg import ...