Submit Search
Upload
Java bytecode
•
Download as PPTX, PDF
•
6 likes
•
465 views
申
申 艳超
Follow
java byte code 字节码
Read less
Read more
Internet
Report
Share
Report
Share
1 of 29
Download now
Recommended
Java常见问题排查
Java常见问题排查
bluedavy lin
Multi threading design pattern
Multi threading design pattern
Yan Wang
NSCTF
NSCTF
Yi Tseng
Android开发基础
Android开发基础
ykdsg
EMSCRIPTEN: 將應用快速 PORT 到 JAVASCRIPT 上的神物
EMSCRIPTEN: 將應用快速 PORT 到 JAVASCRIPT 上的神物
Wei-Ning Huang
Java中的内存泄漏与防止办法
Java中的内存泄漏与防止办法
zxsoft
Javascript异步编程模型的演变
Javascript异步编程模型的演变
iflytek
Groovy for Java Programmer
Groovy for Java Programmer
foxgem
Recommended
Java常见问题排查
Java常见问题排查
bluedavy lin
Multi threading design pattern
Multi threading design pattern
Yan Wang
NSCTF
NSCTF
Yi Tseng
Android开发基础
Android开发基础
ykdsg
EMSCRIPTEN: 將應用快速 PORT 到 JAVASCRIPT 上的神物
EMSCRIPTEN: 將應用快速 PORT 到 JAVASCRIPT 上的神物
Wei-Ning Huang
Java中的内存泄漏与防止办法
Java中的内存泄漏与防止办法
zxsoft
Javascript异步编程模型的演变
Javascript异步编程模型的演变
iflytek
Groovy for Java Programmer
Groovy for Java Programmer
foxgem
Java program in_action
Java program in_action
mysqlops
Java program in_action_20110727-撒迦
Java program in_action_20110727-撒迦
chenjianxing
Jvm分享20101228
Jvm分享20101228
lunfu zhong
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
ArBing Xie
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
bluedavy lin
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
javatwo2011
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
建興 王
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Kris Mok
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
Simen Li
Java 1(Java概述)
Java 1(Java概述)
xzdbd
Spring boot 简介
Spring boot 简介
宇帆 盛
Mybatis学习培训
Mybatis学习培训
flynofry
Java常见问题排查
Java常见问题排查
ayanamist
Jvm独家剖析
Jvm独家剖析
li yan
漫谈php和java
漫谈php和java
sulong
LLVM introduction
LLVM introduction
National Cheng Kung University
beidakejian
beidakejian
hanxuebing
Effective.enterprise.java中文版
Effective.enterprise.java中文版
Peter Fan
实战Ejb(最终完美版)
实战Ejb(最终完美版)
yiditushe
Node js feat pegasus
Node js feat pegasus
cnfi
More Related Content
Similar to Java bytecode
Java program in_action
Java program in_action
mysqlops
Java program in_action_20110727-撒迦
Java program in_action_20110727-撒迦
chenjianxing
Jvm分享20101228
Jvm分享20101228
lunfu zhong
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
ArBing Xie
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
bluedavy lin
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
javatwo2011
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
建興 王
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
Kris Mok
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
Simen Li
Java 1(Java概述)
Java 1(Java概述)
xzdbd
Spring boot 简介
Spring boot 简介
宇帆 盛
Mybatis学习培训
Mybatis学习培训
flynofry
Java常见问题排查
Java常见问题排查
ayanamist
Jvm独家剖析
Jvm独家剖析
li yan
漫谈php和java
漫谈php和java
sulong
LLVM introduction
LLVM introduction
National Cheng Kung University
beidakejian
beidakejian
hanxuebing
Effective.enterprise.java中文版
Effective.enterprise.java中文版
Peter Fan
实战Ejb(最终完美版)
实战Ejb(最终完美版)
yiditushe
Node js feat pegasus
Node js feat pegasus
cnfi
Similar to Java bytecode
(20)
Java program in_action
Java program in_action
Java program in_action_20110727-撒迦
Java program in_action_20110727-撒迦
Jvm分享20101228
Jvm分享20101228
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
IKVM.NET 深入敵營的 Java
IKVM.NET 深入敵營的 Java
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
Java 1(Java概述)
Java 1(Java概述)
Spring boot 简介
Spring boot 简介
Mybatis学习培训
Mybatis学习培训
Java常见问题排查
Java常见问题排查
Jvm独家剖析
Jvm独家剖析
漫谈php和java
漫谈php和java
LLVM introduction
LLVM introduction
beidakejian
beidakejian
Effective.enterprise.java中文版
Effective.enterprise.java中文版
实战Ejb(最终完美版)
实战Ejb(最终完美版)
Node js feat pegasus
Node js feat pegasus
Java bytecode
1.
Java字节码 申艳超
2.
个人简介 申艳超 2015入职链家 搜索技术负责人 百度 内搜、babel、Baidu
Hi搜索 北京理工大学 自然语言处理方向
3.
大纲 一 引论 二 什么是字节码 三
JVM指令集 四 流行的开源框架
4.
lombok @Getter and @Setter @NonNull @ToString @EqualsAndHashCode @Data @Cleanup @Synchronized @SneakyThrows
5.
AOP AspectJ(ajc编译) Spring aop
6.
BTrace
7.
代码覆盖率
8.
JVM Language Fantom Fortress (and many
more…) BeanShell Jaskell ANTLR JudoScript ABCL Erjang X10 myForth C jdart jgo Nice Gosu Jacl
9.
什么是字节码 bytecode
10.
Java Write once, run
everywhere
11.
什么是字节码(Byte Code)
12.
什么是字节码?
13.
JVM-多种实现 Sun Classic/Extract VM Sun
HotSpot VM (jdk1.2+) BEA JRockit VM IBM J9 VM 移动/嵌入式:KVM,CDC/CLDC HotSpot, Squawk VM, JavaInJava, MaxineVm Azul VM,BEA Liquid VM Android Dalvik VM Microsoft JVM
14.
字节码格式
15.
Bytecode viewer javap –verbose
XX.class
16.
JVM指令集 Instruction Set
17.
JVM 指令集 Constants (0~20) Loads(21~53) Stores(54~86) Stack(87~95) Math(96~132) Conversions(133~147) Comparisons(148~166) Control
(167~177) References(178~195) Extended (196~201) Reserved (202、254、255)
18.
JVM指令集概览
19.
JVM运行机制
20.
JVM指令助记-操作数栈 变量到操作数栈:iload,iload_,lload,lload_,fload,fload_,dload,dload_,aload,aload_ 操作数栈到变量:istore,istore_,lstore,lstore_,fstore,fstore_,dstore,dstor_,astore,astore_ 常数到操作数栈: bipush,sipush,ldc,ldc_w,ldc2_w,aconst_null,iconst_ml,iconst_,lconst_,fconst_,dconst_ 把数据装载到操作数栈:baload,caload,saload,iaload,laload,faload,daload,aaload 从操作数栈存存储到数组:bastore, castore,sastore,iastore,lastore,fastore,dastore,aastore 操作数栈管理:pop,pop2,dup,dup2,dup_xl,dup2_xl,dup_x2,dup2_x2,swap
21.
JVM指令助记-运算与转换 加:iadd,ladd,fadd,dadd 减:is ,ls ,fs
,ds 乘:imul,lmul,fmul,dmul 除:idiv,ldiv,fdiv,ddiv 余数:irem,lrem,frem,drem 取负:ineg,lneg,fneg,dneg 移位:ishl,lshr,iushr,lshl,lshr,lushr 按位或:ior,lor 按位与:iand,land 按位异或:ixor,lxor 类型转换:i2l,i2f,i2d,l2f,l2d,f2d(放宽数值转换) i2b,i2c,i2s,l2i,f2i,f2l,d2i,d2l,d2f(缩窄数值转换)
22.
JVM指令助记-条件转移 有条件转移: ifeq,iflt,ifle,ifne,ifgt,ifge,ifnull,ifnonnull,if_icmpeq,if_icmpene, if_icmplt,if_icmpgt,if_icmple,if_icmpge,if_acmpeq,if_acmpne,lcmp,fc mpl,fcmpg,dcmpl,dcmpg 复合条件转移:tableswitch,lookupswitch 无条件转移:goto,goto_w,jsr,jsr_w,ret
23.
JVM指令助记-类与数组 创建类实便:new 创建新数组:newarray,anewarray,multianwarray 访问类的域和类实例域:getfield,putfield,getstatic,putstatic 获取数组长度:arraylength 检查类实例或数组属性:instanceof,checkcast
24.
JVM指令助记-调用与返回 调度对象的实现方法:invokevirtual 调用由接口实现的方法:invokeinterface 调用需要特殊处理的实例方法:invokespecial 调用命名类中的静态方法:invokestatic 方法返回:ireturn,lreturn,freturn,dreturn,areturn,return 异常:athrow finally关键字的实现使用:jsr,jsr_w,ret
25.
流行的开源框架
26.
开源框架 asm javassist BCEL byte-buddy
27.
Demo展示 asm javassist
28.
参考 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html http://download.forge.objectweb.org/asm/asm4-guide.pdf https://github.com/javaparser/javaparser https://java-source.net/open-source/bytecode-libraries http://blog.csdn.net/column/details/zhangjg-java-blog.html https://www.slideshare.net/RednaxelaFX/jvm-a-platform-for-multiple- languages http://www.infoq.com/cn/articles/jvm-family http://blog.csdn.net/luanlouis/article/details/50412126
29.
Thanks!
Editor's Notes
不完全是使用字节码
动词OR名词 总之,加快搜索效率
Download now