沉淀、分享、成长,让自己和他人都能有所收获

  1. 用Java实现JVM第九章《本地方法调用》

    案例介绍 本章主要介绍用java实现一些本地方法类库,并初始化本地方法,之后通过反射命令来调用本地方法。

    2019/05/10

  2. 用Java实现JVM第八章《数组和字符串》

    案例介绍 本章主要介绍如何实现让虚拟机处理数组和字符串,在虚拟机功能增强后,我们可以执行数组类型计算和输出字符串。本章需要新增实现数组指令;newarray、anewarray、arraylength、aload、astore、multianewarray、ldc,同时需要需要开发字符串池方法等。

    2019/05/09

  3. 用Java实现JVM第七章《方法调用和返回》

    案例介绍 本章节主要用java实现;方法调用指令、返回指令、解析方法符号引用、参数传递等。实现新的指令后我们的虚拟机就可以执行稍微复杂的运算并输出结果。

    2019/05/08

  4. 用Java实现JVM第六章《类和对象》

    案例介绍 本案例通过java代码实现jvm规范中指令集和解释器,完成后就可以开始执行1到100的加和计算。

    2019/05/07

  5. 用Java实现JVM第五章《指令集和解释器》

    案例介绍 本案例通过java代码实现jvm规范中指令集和解释器,完成后就可以开始执行1到100的加和计算。

    2019/05/06

  6. 用Java实现JVM第四章《运行时数据区》

    2019/05/05

  7. 用Java实现JVM第三章《解析class文件》附[classReader拆解]

    案例介绍 按照如下虚拟机规范,本文主要介绍java版本jvm提取class字节码方式。在java中没有无符号类型,例如js中byte取值是0~256、java中是-128 ~ +172,所以在实际处理字节码时[虚拟机规范u1、u2、u4],需要进行转换。

    2019/05/04

  8. 用Java实现JVM第三章《解析class文件》

    案例介绍 本案例主要介绍通过java代码从class文件中解析;class文件、常量池、属性表; 作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类。为了使java程序可以“编写一次,处处运行”,Java虚拟机规范对class文件格式进行了严格的规定。但是另外一方面,对于从哪里加载class文件,给了足够多的自由。Java虚拟机实现可以从文件系统读取和从JAR(或ZIP)压缩包中提取clss文件。除此之外,也可以通过网络下载、从数据库加载,甚至是在运行中直接生成class文件。Java虚拟机规范中所指的class文件,并非特指位于磁盘中的.class文件,而是泛指任何格式符号规范的class数据。

    2019/05/03

  9. 用Java实现JVM第二章《搜索class文件》

    案例简述 本章节主要了解Java虚拟机从哪里寻找class文件并且读取class内字节码

    2019/05/02

  10. 用Java实现JVM第一章《命令行工具》

    背景描述 为了更好的学习jvm阅读过《Java虚拟机规范》、《自己动手写Java虚拟机》,尤其是《自动动手写java虚拟机》可以更加清晰的看到全貌。对于程序开发者来说学习一个新东西最好事必躬亲,亲力亲为的做出一些demo,只有输出了结果心里才踏实。

    2019/05/01

(转载本站文章请注明作者和出处 微信公众号:bugstack虫洞栈 | 作者:付政委

跟着案例学Netty,Netty4.x案例从简单入门到应用实战,全篇35节优秀案例+实战源码[基础篇(13)、中级篇(13)、高级篇(3章+)、源码分析篇]。

本专题通过Java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让java程序员通过最熟知的java程序,学习JVM是如何将java程序一步步跑起来的。


微信公众号:bugstack虫洞栈 | 专注于原创开发专题案例。跟着案例学Netty,Netty4.x案例从简单入门到应用实战,全篇37章节优秀案例+实战源码[基础篇(13)、中级篇(13)、高级篇(3章+)、源码分析篇],以上章节全部完成并不断持续更新中。欢迎关注公众号:bugstack虫洞栈 | 阅读专题文章+调试案例源码学习{回复netty案例}。

111 56

使用netty5.0通信方式的局域网聊天,可以快速学习java桌面程序开发。仿照qq登陆首页,界面优雅迷人。本聊天程序叫;《语约》或者《与约》!我认为比马桶、啥的名字好太多了!

44 42

本专题主要介绍如何通过java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让java程序员通过最熟知的java程序,学习JVM是如何将java程序一步步跑起来的,按照《java虚拟机规范》与go语言版的《自己动手写Java虚拟机》实现java版虚拟机案例如下;

29 16

增强SpringBoot Schedule,开发中间件以zookeeper为注册中心扩展为分布式任务调度系统,接入方式接单易用,目前实现功能如下; 多机器部署任务 统一控制中心启停 宕机灾备,自动启动执行 实时检测任务执行信息:部署数量、任务总量、成功次数、失败次数、执行耗时等

25 8

一直想把jdk1.8的新特性整理下,恰好看到老外的git(文后有链接),在这个结构上继续完善了说明和功能,做了41个单元测试案例,方便新人学习。以下内容很干,对于一个萌新小白来说,学习jdk1.8的新特性,基本看一遍就知道个7788了,在熟读两遍最后跟着写一遍,那么在实际项目中就可以运用了。不过!新特性,虽然很好。但如果想用,那么自己一定要看看相对应的源码并多练习,否则真的容易给自己搞晕,又很难阅读。

18 7

目前市面的全链路监控系统基本都是参考Google的Dapper来做的,本专题主要通过六个章节的代码实战,来介绍如何使用javaagent以及字节码应用,来实现一个简单的java代码链路流程监控。 章节列表 - 基于JavaAgent的全链路监控一《嗨!JavaAgent》 - 基于JavaAgent的全链路监控二《通过字节码增加监控执行耗时》 - 基于JavaAgent的全链路监控三《ByteBuddy操作监控方法字节码》 - 基于JavaAgent的全链路监控四《JVM内存与GC信息》 - 基于JavaAgent的全链路监控五《ThreadLocal链路追踪》 - 基于JavaAgent的全链路监控六《开发应用级监控》 关注微信公众号,bugstack虫洞栈,回复获取源码

12 9