beyond the limitation of the life
posted on 2005-12-10 11:13 refactoring 重构 阅读(236) 评论(1) 编辑 收藏
类装载器 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虚拟机体系结构 子系统、内存区、数据类型、指令 回复 更多评论
Powered by: BlogJava Copyright © refactoring 重构