resume整理

1、熟悉java内存模型

每个jvm都包含 方法区 java堆 java栈 本地方法栈 指令计数器 和其他隐藏寄存器

java栈
栈帧用于存储局部变量表、操作栈、动态链接、方法出口等信息
局部变量表存放了编译期可知的各种基本数据类型(boolean、byte、char、short、int、
float、long、double)、对象引用(reference类型,它不等同于对象本身,根据不同的虚拟
机实现,它可能是一个指向对象起始地址的引用指针,也可能指向一个代表对象的句柄或
者其他与此对象相关的位置)和returnAddress 类型(指向了一条字节码指令的地址)。


java堆
几乎所有的对象实例和数组都要在堆上分配
通过-Xmx -Xms 控制大小

方法区
通过-XX:PermSize -XX:MaxPermSize 指定最大最小值
存放方法代码(编译后的java代码)。存放了要加载的类信息
、静态变量、final类型的常量、属性和方法信息

运行时常量池
是方法区的一部分,用于存放编译期间生成的各种字面量和符号引用


2、熟悉类加载过程 和双亲委派模型
编译 装载 链接   验证 准备(初始化)  解析执行 卸载

四种触发类初始化的情况
 1 new 实例化对象的时候,以及调用一个类的静态方法的时候
 2 初始化一个类的时候,发现父类没有进行初始化,需要触发父类的初始化
 3 使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有初始化,需要触发其初始化
 4 虚拟机启动时 虚拟机会初始化main方法的类

双亲委派模型
如果一个类加载器接收到类加载的请求,它首先把这个请求委托给他的父类加载器去完成,每个
层次的类加载器都是如此,因此当所有的加载请求都应该传递到顶层的类加载器中,只有当父
加载器反馈无法完成这个加载请求时,子加载器才尝试自己去加载

3、熟悉反射机制
Reflection机制允许程序正在执行的过程中,利用Reflection API获取已知名称的类的内部信息
包括package,type paramters,supercalss,implemented interfaces,inner class ,out calsses
等,并可以在执行的过程中生成instance,变更fields内容和唤起methods

4、熟悉多线程开发

5、熟悉js闭包的写法
拥有许多变量和绑定这些变量的环境表达式
//第4种写法  
var Circle={  
   "PI":3.14159,  
 "area":function(r){  
          return this.PI * r * r;  
        }  
};  
alert( Circle.area(1.0) );

作用
1、匿名函数自动执行  页面的初始化函数 绑定事件等
2、利于封装,结果返回  闭包函数体立即执行 返回的是一个object对象
3、方便继承

猜你喜欢

转载自blog.csdn.net/qq_34068440/article/details/77113435