everything is refactoring

beyond the limitation of the life

常用链接

统计

最新评论

我的评论

re: 深入Java 虚拟机 之读书笔记 refactoring 重构 2005-12-13 00:21  
类装载器
1。运行时包:同一个类装载器装载的、属于同一个包的、多个类型的集合。要访问protect/friend访问时一定是同一个运行时包才行
java API的类文件是最可信的,可以通过禁止引入某个包中的类,
2。Class 要通过四次检查来:第一次载入时,第二、三次连接中,动态连接过程中解析符号引用时
第一次:文件完整性与文件的格式、版本号
第二次:每个部分属性与它定义的是否相符?如返回类型与参数一致性,还有final是否被子类化,常量池的引用是否指向合法的reference
第三次:是校验字节码,即操作码,操作对象是否合法获值与栈中数值是正确的值与类型。停机问题:不能用一个程序来判断输入的值是否会产生停机
第四次:确定某个类的引用或方法的存在和合法性,它是动态连编的一部分
如果避免同时引入了旧包和新包,但调用者根本不知道?
查一下java编译是根据时间还是所有的重新编译?

Java系统安全(类装载器体系结构、class文件检查器以及java中内置的安全特性如限制对本地方法的调用)
1. 类型安全的引用转换
2. 结构化的内存访问
3. 数据边界检查
4. 空引用

引用散列方法:大量的输入得到很小的输入,即它们是一对一的,输出和jar文件放在一起,如果jar文件有改变就会发现输出不对。

私钥与公钥的问题:
1. 有公钥的情况下得到私钥是很难的
2. 私钥加密的都可以用公钥解开
用私钥加密后的散列输入与包含散列输出的jar传到A手中,A得到后用公钥解开,再用这个输入计算一下,与jar中的输出应该是一样的

Keytool 产生公钥与私钥
Jarsigner 签名
keytool -genkey -alias friend -keypass friend4life -validity 10000 -keystore ijvmkeys

将生成ivjmkeys的keystore文件,有效期为10000天


keytool -genkey -alias stranger -keypass friend4life -validity 10000 -keystore ijvmkeys

jarsigner –keystore ijvmkeys –storepass ijvm2ed –keypass friend4life friend.jar friend
jarsigner –keystore ijvmkeys –storepass ijvm2ed –keypass friend4life friend.jar stranger


Java虚拟机体系结构
子系统、内存区、数据类型、指令