Java语言的安全性的体现
1、严格遵循面向对象的规范。这样封装了数据细节,只提供接口给用户。增加了数据级的安全性。
2、无指针运算。java中的操作,除了基本类型都是引用的操作。引用是不能进行增减运算,不能被直接赋予内存地址的,从而增加了内存级的安全性。
3、数组边界检查。这样就不会出现C/C++中的缓存溢出等安全漏洞。
4、强制类型转换。非同类型的对象之间不能进行转换,否则会抛出ClassCastException
5、语言对线程安全的支持。java从语言级支持线程。从而从语法和语言本身做了很多对线程的控制和支持。
6、java的安全还通过编译器、检验器、类装载器、建立安全策略等方式保证了java程序的安全性
Java最基本的安全性有三个。
第一个就是garbage collection,garbage collector会让你的程序不容易出现内存泄露。内存泄露是很危险的,在内存泄露的时候黑客可以黑你的电脑。
第二个就是exception,你有没有发现你想用呗null赋值的东西会出Exception?这个就是exception的好处。出现exception的时候程序员可以让程序停止运行,这样的话就不会被黑客黑了。
第3个就是指针,JAVA里面没有指针!这样的话人们就不能access不该access的内存了。C的话就非常危险了,黑客可以让C的程序stack overflow, 然后在overflow的内存地址跳到一个不该跳的地方。