前些天看aop就看到了cglib,看cglib又看到了asm,模仿着做了个示例。利用asm修改字节码,能实现编译不通过执行通的过的效果,挺有意思。
一个简单的待修改类:
package com.asm.zjc;
public class C {
public void m() throws InterruptedException{
Thread.sleep(300);
}
}...
分类:
其他好文 时间:
2014-08-13 10:36:55
阅读次数:
255
前些天看aop就看到了cglib,看cglib又看到了asm,模仿着做了个示例。利用asm修改字节码,能实现编译不通过执行通的过的效果,挺有意思。一个简单的待修改类:packagecom.asm.zjc;
publicclassC{
publicvoidm()throwsInterruptedException{
Thread.sleep(300);
}
}
对其进..
分类:
其他好文 时间:
2014-08-13 03:43:06
阅读次数:
234
jvm在java程序运行时会将它所管理的内存划分成不同的区域做不同的功能,这并不难以想象。主要有两类结构,即:堆和栈。java堆主要是保存运行时的对象和数组数据,是所有线程共享的内存区域,在堆中有方法区、运行时常量池。方法区是代码的存储区,类、方法数据、方法的字节码、..
分类:
其他好文 时间:
2014-08-13 03:41:56
阅读次数:
170
一、变量的作用PL/SQL既然是编程语言,就必然会用到变量。和其他程序语言类似,PL/SQL中的变量主要有以下作用:1.用来临时的存放数据;2.用来操作数据;3.重复使用数据。例如上一节中举的例子,就用到了变量:DECLAREv_fnameVARCHAR2(20);--声明变量BEGINSELECTfirst_nameINTOv..
分类:
数据库 时间:
2014-08-12 10:31:04
阅读次数:
396
通过HTML5 canvas画布创建简单的热点图,当鼠标划过时产生热点,停留时间越长,热点亮度越高。下面是HTML部分: Reset 接着进行变量声明及初始化:接着是绘制热点图主函数方法:function drawHeatMap() { document.get...
分类:
Web程序 时间:
2014-08-12 00:34:23
阅读次数:
465
简单讲一下各个区域
程序计数器:当前线程所执行的字节码的行号指示器,循环,线程恢复等基础功能依赖这个计数器完成(线程私有,每一个线程都会有自己单独的一个计数器)。
本地方法栈:与java虚拟机栈相似,不过执行的是native方法。
方法区(包含运行时常量池):各个线程共享的区域,它用于已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。
java虚拟机栈:也是线程私有的,生命周期与线程相同 每个方法执行时都会创建一个栈帧(一会儿会详细讲到)结构是栈结构,先进后...
分类:
编程语言 时间:
2014-08-11 17:54:52
阅读次数:
315
java 语言的特点是: 强类型,制定了比较多的语言规范,尽可能在编译阶段检测出更多的错误及警告。 编译和解释,首先将源代码编译成codebyte,运行时,java的运行系统装载和链接需要执行的类,并做必要的优化后,解释执行字节码程序。 自动无用内存回收功能,系统有个垃圾收集器,自动收集程序不再使用...
分类:
编程语言 时间:
2014-08-11 00:02:50
阅读次数:
241
Java的设计初衷是主要面向嵌入式领域,对于自定义的一些类,考虑使用依需求加载原则,即在程序使用到时才加载类,节省内存消耗,这时即可通过类加载器来动态加载。
如果你平时只是做web开发,那应该很少会跟类加载器打交道,但如果你想深入学习tomcat服务器的架构,它是必不可少的。所谓类加载器,就是用于加载Java类到Java虚拟机中,它负责读取Java字节码,并转换成java.lang.Class类...
分类:
编程语言 时间:
2014-08-10 21:43:30
阅读次数:
358
Java与tomcat相关系列之一1.Java技术包含的组件包含四个独立且又彼此相关的技术:1)Java程序设计语言;2)JavaAPI(Java应用程序编程接口);3)Javaclass文件格式;4)JVM。注:其实JVM可以理解为一个运行环境!!!2.JVM的实现方式1)一次性解释器,解释字节码并执行。.java..
分类:
编程语言 时间:
2014-08-08 16:23:16
阅读次数:
178
本文详细介绍了如何反编译一个未被混淆过的Android APK,修改smali字节码后,再回编译成APK并更新签名,使之可正常安装。破译后的apk无论输入什么样的用户名和密码都可以成功进入到第二个Activity。 有时难免要反编译一个APK,修改其中的若干关键判断点,然后再回编译成一个全新的可用的apk,这完全是可实现的。若要完成上述工作,需要以下工具,杂家后面会把下载链接也附上。这些软件截止本...
分类:
移动开发 时间:
2014-08-08 02:02:15
阅读次数:
321