2013年3月编程语言排行榜:有毒的Java

2013年3月12日,Tiobe公布了新一期编程语言排行榜。Java依旧是占据第一的位置,C语言紧随其后。值得注意的Objective-C持续发力,已经占到了第三的位置。咋一看榜单,前5条中C#下滑最快,从第3名下降到第五名。而其他语言都与之前没有变化。

一个关注点是 JavaScript 急剧下降!虽然当月流行度还未突破历史最低记录,但如果计算6个月平均排名,已经是TIOBE有记录以来的最低值。来自 Solidot 的评论称:

" 最新出炉的TIOBE编程语言排名中,Javascript的排名又一次下跌。虽然当月流行度还未突破历史最低记录,但如果计算6个月平均排名,已经是TIOBE有记录以来的最低值。对比HTML5的google trends记录你会惊讶地发现js流行度与HTML5关注度竟然成反比。

虽然全世界都把希望寄托在HTML5,但是js老旧的语法特性实在难当此大任。为此Google推出了Dart,微软推出了TypeScript,都希望用来弥补js的缺陷。但这些都不可能代替js,类似的尝试早在2008年的ECMAScript4就曾惨遭失败,在js的世界,任何可能破坏兼容的改进都是无法接受的。

这个问题导致那些习惯面向对象,不愿使用js的程序员们宁可以其他语言编写代码,将js看作编译结果。除了Dart和TypeScript以 外,CoffeeScript,Fantom, HaXe,Opa等多种语言也都在语言设计之初就将js设定为编译目标。这不但对js开发造成了严重的碎片效应,还因为二次编译给本就性能不佳的js带来 进一步的损失。"

最近一段时间,关于Java安全性的新闻层出不穷。被伤害的不光是普通计算机用户,甚至还包括苹果公司、美国政府。此次安全风波波及面之广,恐怕是Oracle始料未及的。

1.黑客利用网页漏洞进行攻击

据国外安全研究机构称,当前的Java版本中包含了一个严重的安全漏洞,可能导致电脑在访问带有恶意代码的特定网页时被感染。Window系统中的所有主流浏览器都可能被利用并感染,其中也包括Chrome。该漏洞也存在于苹果最新的Mountain Lion操作系统。

为此,苹果不得不单独发布Java相关更新,以保证Mac用户的安全性。素以跨平台性强著称的Java,也让所有运用他的人无处可藏。

2.Java安全机制

Java早期的安全框架强调的是通过验证代码的来源和作者,保护用户避免受到下载下来的代码的攻击。Java安全模型的前三个部分——类加载体系结构、class文件检验器、Java虚拟机(及语言)的安全特性一起达到一个共同的目的:保持Java虚拟 机的实例和它正在运行的应用程序的内部完整性,使得它们不被下载的恶意代码或有漏洞的代码侵犯。相反,这个安全模型的第四个组成部分是安全管理器,它主要用于保护虚拟机的外部资源不被虚拟机内运行的恶意或有漏洞的代码侵犯。这个安全管理器是一个单独的对象,在运行的Java虚拟机中,它在对于外部资源的访问控制起中枢作用。

Java签名/证书机制,可以保障使用者,安全地调用外部提供的jar,防止你信任的jar被篡改。首先,Java的签名,必须是基于jar包的。也就是说,你必须将你要提供的class,打包到jar里。然后,通过Java 提供的签名工具(jarsigner)对jar包进行签名,发布。

签名原理:使用非对称算法,生成一对公钥/私钥。

3.Oracle应对Java漏洞危机

甲骨文软件质量保证经理Eric Maurice透露,五个漏洞中有四个存在于桌面系统的Java Web Start应用和浏览器Java小程序中。其中三个被通用漏洞评分系统评为10级,这是很严重的事情:如果Java运行在Windows XP这种默认以管理员身份运行的系统,那么黑客能够利用这些漏洞完全损害系统的保密性,完整性和可用性;在Linux或者Salaris这类以非管理员权限运行的系统中情况会好一些。安全研究人员对剩下的一个漏洞也做出过说明,该漏洞影响服务器部署的Java安全套接字扩展(JSSE),基于Lucky Thirteen攻击SSL/TLS实现。

新的Java 6 _update41可以从甲骨文网站下载,而不是Java.com,目前必须手动下载。但Java 6 安装程序的更新功能会提示用户下载并安装Java 7 _update15。这一切都在甲骨文的计划中。甲骨文之前在网站上宣布,将启动自动更新帮助Windows32位系统用户完成升级。甲骨文将加快其对Java的修补速度。Maurice说,“甲骨文会继续加快Java更新发布速度,特别是帮助解决桌面系统浏览器的Java运行环境安全,以重树安全信誉。”

其实这次Java漏洞危机并不是第一次,之前2010年也有报道宣称Java漏洞会影响Windows运行安全。各位用户还是尽量及时更新自己的Java,作为开发语言中举足轻重的语言,Java的安全性还是值得信赖的。

前10名编程语言走势图

20到50名语言排行

下面是第50到100的编程语言排名

(Visual) FoxPro, 4th Dimension/4D, ABC, Agilent VEE, Alice, Apex, AutoIt, AutoLISP, bc, C shell, CL (OS/400), Clipper, Clojure, Dart, Dylan, ECMAScript, Eiffel, Emacs Lisp, F#, Go, Groovy, Icon, IDL, Inform, Informix-4GL, J, JScript.NET, Ladder Logic, LPC, MEL, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, Oz, Pike, Q, REXX, S, sed, Simula, Smarty, SPARK, VBScript, VHDL, WebDNA, xBase, XSLT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB各种判断

1. isempty();%判断是否为空2. isnan();%判断是否为NaN3. iscell();%判断是否为元胞数组4. ischar();%判断是否为字符数组5. ismatrix();%判断是否为矩阵6. isrow();%Determine whether input is row vector7. ismember();

js 自定义类Android吐司提示框

(function(){var mouseX 0;var mouseY 0;//定义一个全局toaslist用来存在新建的吐司var toastLsit [];window.Toast function(content,duration,positon){return new Toast(content,duration,positon);}function Toast(content,duration,positon){//显示的内容this.content…

学习Lucene

我目前正在与一个团队合作,开始一个基于Lucene的新项目。 虽然大多数时候我会争论使用Solr还是Elasticsearch而不是简单的Lucene,但这是一个有意识的决定。 在这篇文章中,我正在整理一些学习Lucene的资源–希望您对他们有所帮助,或…

MATLAB递归程序的调试方法

MATLAB具有和VC类似的调试功能,各功能的按钮图标和VC也很相似,基本可以使用VC的调试思想。MATLAB自己的特点:一. 查看中间变量。1. 在调试状态下,鼠标放在变量上就可以显示变量的基本信息。2. 在调试状态下,在命令行输…

DHCP服务(dhcpd)

DHCP动态分配主机地址(Dynamic Host Configuration Protocol) 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中&#x…

最健康的睡眠时间究竟是多少?

我每天都睡足8个小时,怎么还是这么困啊?”很多男性朋友都有这样的疑问。不是说每天8个小时的睡眠是最健康的,为什么那些一天睡5、6个小时的人看上去反而更生龙活虎、精力充沛呢? 怪8小时不如6小时的精神 睡眠不足会导致精力不济、…

Matlab Compiler路径

Matlab Compiler run-time找了半天就在自己的安装目录下D:\Program Files\MATLAB\R2011b\toolbox\compiler\deploy\win32\MCRInstaller.ex

EF context.SaveChanges()特点

EF context.SaveChanges()特点1 一次连接保存多条数据(工作单元模式);2 内部通过事务来执行,如果一条数据保存失败,执行回滚操作;3 延时加载var userListfrom u in context.UserInfo select u;foreach(var …

spring aop示例_Spring Profile模式示例

spring aop示例最近,我们介绍了Spring Profiles的概念。 此概念是针对不同部署环境的轻松配置区分符。 直接的用例(已提出)是对相关的类进行注释,以便Spring根据活动的配置文件加载适当的类。 但是,这种方法可能并不…

如何提高学习效率?

学习效率 目录 介绍如何提高规律展开介绍如何提高规律展开编辑本段介绍 学习效率对中学生的重要性无须在此多言。提高孩子的学习效率是每个老师的心愿,更是学生及其家长的追求目标。学习兴趣、学习能力和学习效率三者是和谐统一的辩证关系,将这三项标准严…

基于Matlab/Simulink不平衡电网工况下级联H桥光伏并网逆变器仿真模型

本次更新的内容为级联H桥光伏并网逆变器相关的控制,后面会针对储能系统在级联H桥拓扑上的应用进行分享。由于传统发电造成的环境污染问题和光伏电池板价格持续创新低,太阳能从众多种类的可再生能源中拔地而起,因而光伏逆变器成为国内外学者和…

MATLAB格式化字符串

sprintf(%s City %d Quarter,str,i);

“速课小龙”项目冲刺3

第三天 日期:2018/6/15 一.今日完成任务情况及遇到的问题 姓名完成情况遇到的问题解决方法邓旭 通过对昨天的知识进行再学习,已经能进行文件上传。并且开始着手于出题模块。 今天着手只是模型的基础层搭建,所以难度相对较少。未有问题解决陈逸…

Java和Lagom的CQRS

我很高兴在Chicago Java User Group上进行了讨论,并讨论了Lagom如何实现CQRS(命令查询责任隔离模式)。 值得庆幸的是,有一个录音,我还把这些幻灯片发布在slideshare上 。 抽象: 一旦应用程序变得相当复杂…

matlab字符串处理

matlab字符串处理 %字符串处理 a= a;b=b b;c=cccc;m= length(a);%获取字符串长度 str = [str1,str2];%无缝连接两个字符串 d=strcat(a,c);%连接两个字符串,每个字符串最右边的空格被裁切 e=strvcat(a,b,m);%连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空…

一天最好学习时间

一天中各个时段的学习状态k 时间状态适合做的事情 6、 7点机体休息完毕并进入如兴奋状态,肝脏已将体内的毒素全部排净,头脑清醒,大脑记忆力强。 第一次最佳记忆期8、9点 神经兴奋性提高,记忆仍保持最佳状态,心…

PAT 之 A+B和C

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard 题目描述 给定区间 [-2的31次方, 2的31次方] 内的3个整数 A、B 和 C&#xff0c;请判断 AB 是否大于 C。 输入描述 输入第1行给出正整数T(<10)&#xff0c;是测试用例的个数。随后给出T组测试用例…

使用Spring boot,Thymeleaf,AngularJS从零开始构建新的Web应用程序-第2部分

在本系列博客中&#xff0c;我们将使用Springboot&#xff0c;Angular等构建完整的Web应用程序。 在上一个博客中&#xff0c;我们与Thymeleaf建立了基本的登录页面。 在此博客中&#xff0c;我们将介绍bower &#xff0c;它用于管理前端依赖项&#xff0c;例如CSS&#xff0c…

MATLAB字符串和ASCII码的转换

字符串转ASCII码&#xff1a;abs&#xff0c;如&#xff1a;abs(a);abs(what);ASCII码转字符串&#xff1a;char&#xff0c;如&#xff1a;char(97);char([97,98,99]);

怎么样开会才有效果?

SAP项目实施过程中&#xff0c;难免不了要开不少的会议&#xff0c;无论是最前期的选型&#xff0c;还是商谈&#xff0c;乃至后面上线评审都免不了将很多项目干系人聚在一起就出现的问题或大家关心的问题摆在台面上做探讨。但只要你开过大会议你就会知道很多时候开会纯粹是为了…