大家好,今天小编关注到一个比较有意思的话题,就是关于java语言为什么不安全的问题,于是小编就整理了4个相关介绍j***a语言为什么不安全的解答,让我们一起看看吧。
j***a中什么是线程不安全给出一个例子?
两个线程对一个变量进行操作,但是没有上锁,即没有进行同步操作,就像买车票的时候多个窗口一起卖,但是车票数没有减去。车票被重复卖出。就是不安全。还有,被多个线程操作的变量改为静态量加static,才安全
为什么说j***a安全性高?
J***a不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 "特洛伊"木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易 产生的错误。 最初的J***a就包括: 禁止运行时堆栈溢出.(例如蠕虫等***常用的袭击手段); 禁止在自己的处理空间之外破坏内存; 未经授权禁止读写文件. 并且,许多安全特性相继不断被加入j***a中.从1.1开始,j***a就有了数字签名类(digitally signed class)的概念.(浏览网页时会经常遇到的.)通过数字签名类,可以确定类的作者.如果信任这个类的作者,这个类在机器上就能拥有更多权限.
j***a volatile既然不能绝对保证线程安全,那意义何在?
保证你要的数据是那个时刻真实的数据。这个需要结合CPU缓存来说明,很多时候,你要的数据只是CPU缓存的数据,而内存中的数据已经发生变化了(特别是多核CPU的场景)。
它能保证访问时数据的一致性,但不能保证你处理过程中数据的一致性。
j***a比php安全吗?
安全这个问题不适合放在开发语言上来讲,开发语言本身只是提供一种编码的方式让我们控制电脑来做一些事情,任何语言开发出来的程序都可能存在安全问题。
比如常见的SQL注入问题,如果操作数据库的方式不当,任何语言开发出来的程序都可能存在。再比如弱密码问题,很容易被人猜出来,这都很难说是程序的安全没做好。
当然开发语言的一些基础类库或者框架可能存在bug,导致安全问题的出现,J***a也出现过不少安全漏洞,一般这种漏洞会很快被修复,开发者及时升级依赖的包或类库就可以了。
所以如果要把安全做好,需要关注到多个方面,开发语言的安全漏洞,应用程序的漏洞,服务器的安全漏洞,运维管理措施,用户的安全引导,网络的传输安全等等。
到此,以上就是小编对于j***a语言为什么不安全的问题就介绍到这了,希望介绍关于j***a语言为什么不安全的4点解答对大家有用。