java 安全方面的考虑-简单

来源:互联网 发布:知行理工怎么登不上 编辑:程序博客网 时间:2024/05/21 09:48

参考 深入理解JVM

1 双亲委派模型

(1)防止不可靠的代码用自己的版本替代可信任的类。

(2)运行时包的概念:同一个类装载的、属于同一个包的、多个类型的集合。

       加载java.lang.Virus这个非法的类,不能访问java.lang包中的API。

2 class文件验证器

   第一趟在类被装载的时候进行,检查内部结构,保证可被编译。

   第二趟在连接过程中进行,语义检查,方法描述符符合特定字符串。

   第三趟在连接过程中进行,字节码验证

   第四趟在解析过程中进行,符号引用的验证

 

CLassLoader类中loadClass的具体实现

(1)查看请求的类装载器是否已经被装载进这个类装载器的命名空间。如果确实如此,返回这个已经装载的Class实例。

(2)否则委派双亲类装载器,如果双亲返回,则返回这个Class实例。

(3)否则,调用findClass(),findClass会试图寻找或生成一个字节数组。如果成功,findClass()把字节数组传递给defineClass,后者试着导入这个类型,返回一个Class实例。如果findClass返回了一个Class实例,loadClass()把这个实例返回。

(4)否则,findClass抛出某些异常,loadClass返回同样异常。

 

forName 和loadClass的区别?

loadClass保证被装载的类型是被装载到用户自定义的类装载器的命名空间里,而forName确认所需的类型被装载到当前命名空间中,就是forName方法调用所属的定义类装载器的命名空间。

 

3 内置的安全特性

   自动GC

   数组边界检查

   空引用检查

   类型安全的引用转换

   结构化的内存访问(无指针)

4 安全管理器

   保护虚拟机外的资源不被运行的恶意代码破坏

5 代码签名和认证

6 策略

7 保护域

8 访问控制器

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 检票时车票丢了怎么办 高铁出站没检票怎么办 高铁来不及取票怎么办 被发现假的增值税发票怎么办 高铁票身份证验证失败怎么办 网上订的火车票查不到怎么办 已经参加工作想学个本科证怎么办 火车晚点耽误下一趟列车怎么办 门外装监控没有预留电线怎么办 框架柱主筋柱顶预留长度不够怎么办 遇到很嚣张的人怎么办 在地板砖上铺木地板卧室门怎么办 宝宝打预防针的本子丢了怎么办 宝宝打预防针本子丢了怎么办 打疫苗的本子丢了怎么办 麦客收割机麦秸里加麦粒怎么办 高铁乘务员身高不够怎么办 坐火车买到站票怎么办 买上车补票原票怎么办? 买的商务座补票怎么办 12306账号被别人登录怎么办 飞机不提供餐食怎么办 12306退票支付宝失败怎么办 12306重复支付怎么办支付宝 支付宝登的12306账号怎么办 没买儿童高铁票怎么办 网上订的机票怎么办托运 半夜买高铁票不出票怎么办 轻轨少买了一站怎么办 高铁火车票丢了怎么办 如果高铁票丢了怎么办 高铁票丢了怎么办 报销 高铁如果没赶上怎么办 高铁管家待核验怎么办 动车没有票了怎么办 12306取消订单3次怎么办 【12306取消订单3次怎么办】 火车票取消订单3次怎么办 12306收不到验证码怎么办 安逸花验证码次数限制怎么办 航班晚点导致错过转机怎么办