章前准备 人人都知道类加载器很重要,原本以为自定义加载时指定是如何确定链接,载入之类的传说中的关联方式,看完之后发现自己还是too young,类如何加载如何链接都是jvm的事情,做为程序猿只能控制两件事,字节码生成和类加载器 字节码生成:标准的java,jsp,听说Python等脚本也可以- .....
分类:
其他好文 时间:
2014-11-11 18:32:35
阅读次数:
226
在前面一篇文章中,我们分析了ART运行时加载类以及查找其方法的过程。一旦找到了目标类方法,我们就可以获得它的DEX字节码或者本地机器指令,这样就可以对它进行执行了。在ART运行时中,类方法的执行方式有两种。一种是像Dalvik虚拟机一样,将其DEX字节码交给解释器执行;另一种则是直接将其本地机器指令交给CPU执行。在本文中,我们就将通过分析ART运行时执行类方法的过程来理解ART运行时的运行原理。...
分类:
移动开发 时间:
2014-11-10 01:09:31
阅读次数:
512
1.Tocmcat的目录认识Bin/启动和关闭脚本Conf/配置文件server.smlweb.xmluser.xmlLogs/存放日志文件Webapps/存放web应用程序Work/Temp/存放tomcat运行时的临时性数据Lib/存放tomcat服务器和所以web程序需要的jar包Work/tomcat将JSP生成的Servlet源文件和字节码文件放在这个目录..
分类:
其他好文 时间:
2014-11-07 19:13:45
阅读次数:
166
以下内容来自:http://bbs.pediy.com/showthread.php?t=151769
dalvik字节码有两种类型,原始类型和引用类型。对象和数组是引用类型,其它都是原始类型。
V void,只能用于返回值类型
Z boolean
B byte
S short
C char
I int
J long(64位)
F float
D double...
分类:
移动开发 时间:
2014-11-05 14:56:25
阅读次数:
244
Java与C++都是面向对象语言,都使用了面向对象思想(比如封装、继承、多态等),因为面向对象有很多非常好的特性(继承、组合等),使得二者都有非常好的可重用性。 须要注意的是,二者并不是全然一样,以下主要介绍其不同点:(1) Java为解释性语言,运行的过程为:源码经过Java编译器编译成字节码,然...
分类:
编程语言 时间:
2014-11-04 17:17:05
阅读次数:
183
Scala程序可以以解释器的方式进行执行,但是它实际上并不是一个解释器。实际发生的是,输入的内容被快速地编译成字节码,然后字节码交给Java虚拟机执行,所以你可以称它为REPL ? ? Windows上Scala的开发环...
分类:
其他好文 时间:
2014-11-04 15:27:21
阅读次数:
189
需要工具:
apktool 获取布局信息 下载
dex2jar dex转jar
jd-gui jar查看工具 下载
apktool 反编译得到的是布局和资源文件。
dex2jar 反编译得到的代码字节码,利用jd gui就可以查看到源代码。
1)下载apktool,及mac下jd-gui,解压如下:...
分类:
移动开发 时间:
2014-11-03 19:28:32
阅读次数:
340
一、类载入器首先来看一下java程序的运行过程。 从这个框图非常easy大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘其中。然后你在命令行中输入javac YourClassName.java此时,你的java代码就被编译成字节码(.class).假设你是...
分类:
编程语言 时间:
2014-11-02 10:37:35
阅读次数:
288
1、Java是编程语言,也是平台(平台是提供运行时环境的软件)。
2、JVM把类文件连接起来并执行,JVM不能直接解释Java源文件,需要把源文件变成字节码的类文件。
3、连接Java语言和平台的纽带是统一的类文件格式定义。
4、Java字节码首先被JVM解释,然后被JIT即时编译。JVM字节码不是真正的机器码,是在编译过程中的一种中间语言。Javac仅仅是生成类文件的工具,Java体系...
分类:
编程语言 时间:
2014-11-02 09:27:03
阅读次数:
173
源码混淆什么 Java?是一种跨平台的、解释型语言,Java?源代码编译成中间”字节码”存储于?class?文件中。由于跨平台的需要,Java?字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访...
分类:
移动开发 时间:
2014-11-01 12:05:31
阅读次数:
250