左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家
180930 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 119 讲
左耳听风
15
15
1.0x
00:00/00:00
登录|注册

79 | 程序员练级攻略:Java底层知识

垃圾回收调优指南
《垃圾回收的算法与实现》
更快的Java代码小提示
垃圾回收机制
Doug Lea的文章
Java内存模型
JVM解剖公园系列文章
JVM规格说明书
Java Agent技术
字节码生成库
操作字节码的实用例子
Java字节码讲解
Java字节码细节
JVM相关
Java字节码相关
下篇文章:数据库方面的内容
Java底层知识

该思维导图由 AI 生成,仅供参考

你好,我是陈皓,网名左耳朵耗子。
前两篇文章分享的是系统底层方面的内容,今天我们进入高手成长篇的第二部分——Java 底层知识。

Java 字节码相关

首先,Java 最黑科技的玩法就是字节码编程,也就是动态修改或是动态生成 Java 字节码。Java 的字节码相当于汇编,其中的一些细节你可以从下面的这几个教程中学习。
Java Zone: Introduction to Java Bytecode ,这篇文章图文并茂地向你讲述了 Java 字节码的一些细节,是一篇很不错的入门文章。
IBM DeveloperWorks: Java bytecode ,虽然这篇文章很老了,但是这篇文章是一篇非常好的讲 Java 字节码的文章。
Java Bytecode and JVMTI Examples,这是一些使用 JVM Tool Interface 操作字节码的比较实用的例子。包括方法调用统计、静态字节码修改、Heap Taggin 和 Heap Walking。
当然,一般来说,我们不使用 JVMTI 操作字节码,而是用一些更好用的库。这里有三个库可以帮你比较容易地做这个事。
asmtools - 用于生产环境的 Java .class 文件开发工具。
Byte Buddy - 代码生成库:运行时创建 Class 文件而不需要编译器帮助。
Jitescript - 和 BiteScript 类似的字节码生成库。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

左耳朵耗子的文章《程序员练级攻略:Java底层知识》深入探讨了Java底层知识,着重介绍了字节码编程和JVM相关内容。在字节码编程方面,作者提到了动态修改或生成Java字节码的黑科技,以及使用字节码编程进行动态代码修改和注入的高级玩法。他推荐了几篇文章和库,如Byte Buddy,介绍了Java Agent技术,帮助读者更好地实现这些高级玩法。此外,文章还介绍了JVM规格说明书和JVM解剖公园系列文章,以及Java内存模型、垃圾回收机制和调优方法。作者强调这些底层知识对于想成为高手的读者来说是必要的。总的来说,本文内容丰富,涵盖了Java底层知识的重要内容,对于想深入学习Java技术的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • AI
    有同学认为这种介绍文章没用,一大堆引用。我觉得吧,这文章价值很大。如果只是要写一篇关于字节码或JVM的详细使用,那很多书籍或网站可能有了,反而不值得写。耗子叔这系列文章,在我看来很有大局观,自顶向下梳理了各种技术脉络。授人以渔其实更重要,好的老师是给你指出明路,让你少走弯路,而不是给你讲解几道题。不过这也许要工作几年后才能更深刻的体会到吧,这些总结的资源是一笔财富,至少不用走弯路,可以有选择性的去挑选适合你的认为有价值有兴趣的内容去学习。

    作者回复: 谢谢理解

    2018-07-19
    115
  • 吃桔子的攻城狮
    第一次评论。这个专栏看了这么久,第一次觉得有必要说几句,这种风格的专栏真的非常赞。看到有些同学说链接太多缺少耗子哥自己的东西,我想说这个系列随便一篇文章拿出来,如果纯自己写都能单独写成一个系列甚至一本书。这就像重复造轮子,明明已经有了优秀的文献资料,为什么要重新写一套?相反,能把这些优质资源做整合,串联,归纳,提供学习的路径和思路才是受益无穷的! 有同学说这些都是网上可以找到的,那不妨请想一下,如果只给你本系列某篇文章的题目,凭自己你真的可以找得到这些资料吗?不会陷入现在互相抄来抄去的劣质博客里迷惘困惑,百思不得其解吗? 支持这种风格,我认为订阅专栏的钱花的很超值!

    作者回复: 谢谢

    2018-08-03
    2
    48
  • 怪盗キッド
    Hi,我利用ASM写了一个简单、快速且无侵入的Java方法监控工具MyPerf4J,通过JavaAgent方式对Java方法进行字节码注入,可以统计出方法的执行性能指标,包括RPS、Avg、TP50、TP90、TP99、TP999等,Github地址:https://github.com/ThinkpadNC5/MyPerf4J

    作者回复: 👍那些统计,你用到了蓄水池算法了吗?

    2018-07-03
    33
  • lion_fly
    看这么多书,耗子叔居然没有掉头发
    2019-12-05
    15
  • ruby
    皓哥,后面有大数据文章,怎么学spark.hadoop等吗?
    2018-07-03
    8
  • superryanguo
    java有必要单独抽一篇来讲吗?而且都是引用
    2018-07-03
    6
  • 待时而发
    耗子叔,实在是太厉害了,这种资源整合真的是服了,那天看你直播发现你头发还是那么多,这么多的东西你是怎么看完的.....太佩服了
    2020-02-29
    4
  • 庞雨青_Alice
    非常感谢左耳皓哥的分享。 读精品的技术文章真是一件很爽快的事情。我个人是喜欢刨根究底的类型,之前在学习编程的过程中一直都没能找到多少成就感。现在看来一是没有找到最精品的文章,二是没有找到适合自己的方式。 这几天耐着性子慢慢读英文的文章,自己的英语能力也有所提高。 感谢皓哥🙏
    2019-06-01
    4
  • 鹤鸣
    C++程序员问个问题:怎样对一个已有的基于spring的项目优化性能?目前我这边首先要做的事情是测试出性能瓶颈,但是目前为止我还在使用那种很土的办法,纯体力活的那种,我觉得这个路子不大对头。
    2018-07-04
    4
  • ZYCHD(子玉)
    读耗子书的文章总给人带来新鲜的感觉。视野很开阔。前后穿插纵横千里!
    2018-07-03
    3
收起评论
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部