标签分类
当前位置:首页 > 程序设计电子书 > Java电子书网盘下载
自己动手写Java虚拟机 自己动手写Java虚拟机
ByrWHZ

ByrWHZ 提供上传

资源
28
粉丝
24
喜欢
179
评论
1

    自己动手写Java虚拟机 PDF 高清版

    Java电子书
    • 发布时间:

    给大家带来的一篇关于Java相关的电子书资源,介绍了关于Java、Java虚拟机方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小4.27 MB,张秀宏编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.6,更多相关的学习资源可以参阅 程序设计电子书Java电子书、等栏目。

  • 自己动手写Java虚拟机 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1ZNMc4kyfppFITjUbnwFLqA
  • 分享码:l572
  • 自己动手写Java虚拟机 PDF

    Java虚拟机比较复杂,要想真实理解它的原理,最好是的方法就是说动手做撰写1个!

    这书是继《深入理解Java虚拟机》以后的史无前例经典书籍,它不仅遵照《Java虚拟机标准》,不仅又另辟蹊径,不但能让Java虚拟机的学习培训变得越来越简易和趣味,并且能给你对Java虚拟机的基本原理了解更深入和更刻骨铭心!

    这书革除了传统式的以讲解枯燥乏味的Java虚拟机标准文本文档和剖析繁杂的Java虚拟机源码的方法来解读Java虚拟机,取代它的的是,以实践活动的方法,正确引导用户怎样重零开始搭建和保持1个Java虚拟机,整个过程不但能让用户保证对Java虚拟机知其所以然并且知其所以然,还能屏蔽掉很多多余的繁杂关键点,感受到保持全过程中的满足感,让学习培训全过程更为轻轻松松、愉快和高效率。更关键的是,这类方法能正确引导用户更深入地了解和把握Java虚拟机的原理。

    核心主题:原理,学习培训,正确引导,方法,用户,全过程,理解,重零开始,革除,传统式

    目录

    • 第1章 命令行工具 1
    • 第2章 搜索class文件 9
    • 第3章 解析class文件 23
    • 第4章 运行时数据区 65
    • 第5章 指令集和解释器 85
    • 第6章 类和对象 121
    • 第7章 方法调用和返回 161
    • 第8章 数组和字符串 187
    • 第9章 本地方法调用 211
    • 第10章 异常处理 239
    • 第11章 结束 253

    上一篇:数据库索引设计与优化  下一篇:OpenCV Android开发实战

    展开 +

    收起 -

    Java相关电子书
    学习笔记
    网友NO.369714

    java虚拟机学习高级篇

    还是继续说一下java虚拟机,为什么呢?因为我随意翻着别人的博客一不小心看到有关jvm的一点新的东西,挺有趣的,就按照我的理解分享一下; 还记得以前学过一首诗,“看成岭侧成峰,远近高低各不同”,这一句诗的内在含义有的时候真的会让你猛然惊醒,进而如获至宝!的确,有的时候换一个角度看问题,你会发现不一样的世界。 我们平常学java的时候肯定涉及到了进程,多线程的概念,但是有没有想过操作系统也有进程和线程的概念,两者有关系吗?假如我们视角放高一点,以操作系统的角度看看一个java程序的运行,又会是什么样子的呢?jvm在将字节码文件翻译成机器码之后怎么会调用cpu呢?自己调用的还是假借了谁的手呢?jvm在操作系统中到底扮演着一个什么角色呢?还有最基本的一个问题,操作系统是什么? 下面我们就来把这些东西整个的给串一下,当然,具体的细节还要每个人自己去研究; 1.简单看看操作系统 水平有限,不可能对操作系统理解得那么透彻,只是说说我自己的理解吧! 一说起操作系统大家肯定既陌生又贼熟悉,为什么呢?因为我们经常使用操作系统,比如windows系列,unix系列,macos等等,我们每天一打开电脑首先就会自动启动一个操作系统,但是又有几个人真的能了解透彻操作系统呢?我……

    网友NO.365621

    Java虚拟机GC日志分析

    本文研究的主要是Java虚拟机中gc日志的理解问题,具体如下。 一、日志分析 理解GC日志是处理Java虚拟机内存问题的基本技能。 通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。 1、编写java代码 public class ReferenceCountingGC {public Object instance = null;private static final int ONE_MB = 1024 * 1024;private byte[] bigSize = new byte[2 * ONE_MB];public static void main(String[] args) {testGC();}public static void testGC() {ReferenceCountingGC objA = new ReferenceCountingGC();ReferenceCountingGC objB = new ReferenceCountingGC();objA.instance = objB;objB.instance = objA;objA = null;objB = null;System.gc();}} 2、编译java文件 javac ReferenceCountingGC.java 3、执行class文件 java -XX:+PrintGCDateStamps -XX:+PrintGCDetails ReferenceCountingGC 对应的参数列表 -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800) -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息 -Xloggc:../logs/gc.log 日志文件的输出路径 结果输出: 2016-03-20T14:34:55.118-0800: [GC [PSYoungGen: 6123K-400K(38912K)] 6123K-400K(125952K), 0.0012070 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 2016-03-20T14:34:55.119-0800: [Full GC [PSYoungGen: 400K-0K(38912K)] [ParOldGen: 0K-28……

    网友NO.263476

    java虚拟机学习笔记进阶篇

    上一节是把大概的流程给过了一遍,但是还有很多地方没有说到,后续的慢慢会涉及到,敬请期待! 这次我们说说垃圾收集器,又名gc,顾名思义,就是收集垃圾的容器,那什么是垃圾呢?在我们这里指的就是堆中那些没人要的对象。 1.垃圾收集器的由来 为什么要有垃圾收集器啊?不知道有没有想过这个问题,你说我运行一个程序要什么垃圾收集器啊? 随意看一下下面两行代码: User user = new User("root","123456")user = new User("lisi","123123") 简单画一下内存图,可以看到user这个局部变量本来是指向root这个对象,现在改为指向lisi这个对象,那么此时这个root对象没有人用,假如类似root这样的对象非常多的话,那么jvm性能就会越来越低,直至最后创建个对象可能都要十几秒,而且堆内存总有一天会装满就会报内存溢出异常; 所以我们就要想办法把类似root这种对象给清理掉,这样才能保证jvm高效的运行; 假如虚拟机没有提供gc你觉得会怎么样?其实也行,只不过你每次需要你用代码手动释放不需要的对象,关于这点有好处有坏处,好处就是有利于我们对堆内存的控制,坏处就是我们在一些比较复杂的程序之中由于手动释放内存难免会出错,但是这中错误还不怎么明显,可能要你去慢慢调试好久才能看到! 所以java就把这种工作自己处……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明