1.类加载全过程 为什么研究类加载全过程 有助于了解JVM运行过程 更深入了解java动态性(热部署,动态加载),提高程序的灵活性 类加载机制 JVM把class文件加载到内存,并对数据进行校验,解析和初始化,最终形成JVM可以直接使用的java类型...
Continue reading1.线程的概念 程序 进程 线程 程序:指令集 静态概念 进程:操作系统调度程序 动态概念 线程:在进程内多条执行路径 2.线程和进程的区别 区 别 进程 线程 根 本 区&n...
Continue reading1.字节码操作 JAVA动态性的两种常见实现方式 字节码操作 反射 运行时操作字节码可以让我们实现如下功能 动态生成新的类 动态改变某个类的结构(添加/删除/修改 新的属性/方法) 优势 比反射开销小,性能高 JAVAasist性...
Continue reading1.脚本引擎执行JavaScript代码 Java脚本引擎是从JDK6.0之后添加的新功能 脚本引擎介绍 使得Java应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的 Java脚本API是连通Java平台和脚本语言的桥...
Continue reading1.动态编译 Java 6.0 引入了编译机制 动态编译的应用场景: 可以做一个浏览器端编写java代码,上传服务器编译和运行的在线评测系统 服务器动态加载某些类文件进行编译 动态编译的两种做法: 通过Runtime调用javac,启动新的进程去...
Continue reading以从小到大排序举例: 设数组长度为 N 过程:从第1个位置开始到最后,找到最小的数据放到第1个位置,然后再从第二个位置开始找到最小的数据放到第2个位置,以此类推直到找到第N-1个数就完成了排序 java代码: public class SelectionSort { ...
Continue reading以从小到大排序举例: 设数组长度为N 1.从前到后依次比较相邻的数据,如果前面的数据大于后面的数据,就将两个数据进行交换 2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就"沉"到数组第N-1个位置 java代码: public c...
Continue reading1.Java的动态性 反射机制 动态编译 动态执行JavaScript代码 动态字节码操作 2.动态语言 程序运行时,可以改变程序得结构或变量类型.典型语言: Python,Ruby,JavaScript等. 如下JavaScript代码 function te...
Continue reading