项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码: 1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件 2、开始--运行--cmd3、luac -o out.lua 1.lu...
分类:
其他好文 时间:
2015-01-31 18:01:01
阅读次数:
276
1.JIT的工作原理图工作原理 当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器。JIT编译器将字节码编译成本机机器代码。 通常javac将程序源码编译,转换成java字节码,JVM通过解释字节码将其翻译成相应的机器指令,逐条读入,逐条解释翻译。非常显然,经...
分类:
编程语言 时间:
2015-01-30 20:55:08
阅读次数:
152
学习自:http://blog.csdn.net/sislcb/article/details/4002414Python解释器:源代码-->字节码-->机器语言不同版本编译后的pyc文件是不同的python提供了内置库文件来实现将python编译成pyc文件。import py_compilepy...
分类:
其他好文 时间:
2015-01-26 16:46:53
阅读次数:
136
Java运行机制Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU;对于不同的运行平台,有不同的虚拟机;Java虚拟机机制屏蔽了底层运行平台的差别,真正实现了“一次编译,随处运行”。Java垃圾回收(Garbage Collection...
分类:
编程语言 时间:
2015-01-25 20:52:10
阅读次数:
201
JVM:JavaVirtualMachine,Java虚拟机,是可以运行Java字节码文件的虚拟计算机系统。可以把它看作是一个微型的操作系统,在它上面可以执行Java的字节码程序,它附着在具体的操作系统之上,其本身有一套虚拟机指令,但是它通常是在软件而不是硬件上实现。JVM实现了硬件平台、操作系统与...
分类:
其他好文 时间:
2015-01-25 16:36:20
阅读次数:
142
1、JS和JAVA对比JS是基于对象(调用浏览器内置对象的方法),java是面向对象JS只需解释就可以由浏览器执行, java需要先编译成字节码文件再执行js是弱类型(数据类型之间任意转换),java是强引用js和java一样区分大小写2、一个完整的JavaScrip由以下几部分组成核心:ECMAS...
分类:
Web程序 时间:
2015-01-23 06:08:14
阅读次数:
233
JDK的动态代理,经常被用来动态地创建对象的代理。JDK的动态代理用起来非常简单,但是有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口,还可以使用cglib包来完成代理。 cglib的底层通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的代理类。所...
分类:
其他好文 时间:
2015-01-22 00:04:40
阅读次数:
171
### Behavioral Pattern#### interpreter pattern string -> code instruction set: 提供基本操作virtual machine: 执行指令front-end: 生成效率更高的字节码```void setHe...
分类:
其他好文 时间:
2015-01-20 19:50:35
阅读次数:
187
(一)java内存区域概况
jvm运行java程序时把所管理的内存分成几个部分:方法区、java栈、本地方法栈、java堆、pc程序计数器。
class字节码装载解析后,在多线程环境中,方法区和java堆数据共享,每个线程自带pc程序计数器和java栈,栈帧中包含方法的所有状态(局部变量、传参、返回值、运算中间结果等)。对共享数据需要考虑多线程并发问题。
更详细内容可参考《深入理解JVM虚拟...
分类:
编程语言 时间:
2015-01-20 10:34:31
阅读次数:
222