java代码安全和性能解析

java代码安全性检查机制

1.由类加载器将类文件,也就是编译后产生的.class文件,加载到虚拟机中,它通过区分本机文件系统的类和网络系统导入的类来增加安全性,这就可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类都被加载完,执行文件的内存就固定了。

2.字节码校验器进行校验,字节码校验器不检查那些可信任的编译器所生成的类文件,而是对那些有意违背命名空间规定和java语言规则的类文件进行检查,并且关闭具有安全性漏洞的类文件,字节码校验器主要执行下面的检查。

3 加载的类符合JVM规范的类文件格式,没有违反访问限制,代码上没有造成上溢或者下溢,所有操作代码的参数类型都正确的,没有非法的数据类型转换发生,检查该类文件是否存在某些非法操作。字节码校验器在java源程序中,会执行try-catch-finally语句序列并且捕捉和响应java的程序错误。

4.最后,如果字节码校验检验通过,由java解释器负责把类文件解释成为机器码进行执行。

那么平时在编译时提升你代码的安全性和质量呢?

安全方面:(1)少用反射,尽量用私有成员达到封装性。
(2)代码尽量不要出现异常,出现异常要及时处理。
(3)面向接口编程做到代码通用性。
(4)在数据库编译方面,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后迅速恢复正常。

数据库安全方面的问题隐患及怎么有效防止?

数据库安全: https://blog.csdn.net/u011589338/article/details/78986703

DBMS对数据库的安全保护方功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。
原因:因为反射可以把类的常量随便改,破坏封装安全,以牺牲安全换取性能。反射无所不能,私有的也全部随便改和随便调用
性能方面:在达到封装目的后尽量少用对象和类,多用基本数据类型,避免重复调用同一方法或属性,尽量用基本数据类型代替,尤其是在大循环中更要注意。避免出现大量阻塞。

写代码 提高安全性,我就想到 避免oom。性能 尽量避免创建 多余的 对象,使用集合的时候给初始化大小之类的。还有很多平时应注意的代码规范问题等等,这里不一一列举!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值