阅读更多

14顶
0踩

编程语言

Henrik Engström【注1】却不这么认为!在他最近发表的blog,他强调“新的编程语言在对待多核的问题上,必须内置对多核的支持而不是增加一些像API这样的特性就能搞定的”。

Java早期的时候,我们哪里会知道Java编程模型会受如今汹涌澎湃的并发与多核编程影响。但随着JVM本身的不断进化,支持了很多语言,比如说Scala,可以做为并发编程的选择。如果提升应用程序的性能确实是个问题的话,那么也许Henrik Engström是对的,他主张I/O和内存管理会是真正的瓶颈,而不是你多加上几个处理器就可以解决的。他引用了Brian Goetz【注2】的文章《Java理论与实践:应用fork-join框架》,里面谈到了即将加入到Java7java.uti.concurrent包里的新框架——fork-join

 

“服务器应用程序通常会运行比可用的处理器数量多很多的并发线程或请求。这是因为在大多数服务器应用程序中,对请求的处理包含大量 I/O,这些 I/O 不会占用太多的处理器(所有网络服务器应用程序都会处理许多的套接字 I/O,因为请求是通过套接字接收的;也会处理大量磁盘(或数据库)I/O)。如果每个任务的 90% 的时间用来等待 I/O 完成,您将需要 10 倍于处理器数量的并发任务,才能充分利用所有的处理器。随着处理器数量增加,可能没有足够的并发请求保持所有处理器处于繁忙状态。但是,仍有可能使用并行性来改进另一种性能度量:用户等待获取响应的时间。”

 

 

这其实回避了问题的实质,我们想知道如何将所有新加入的处理器为我所用,做为多核革命?

 

而与此同时Daniel Lemire【注3】发表《计算机编程的多核革命还无法到来》对多核编程持否定态度。实际上他强调的是对大多数大型应用程序来说,最大的性能瓶颈实际上在数据层,而且,很多性能难题是可以通过框架(比如说MapReduceHadoop)和存储分区解决的。

 

总之,Java7勇敢的迈向由多核革命所引导的新的“并行”领域。同时,随着MicrosoftIntel在这方面的投资(最近两家公司宣布共投资 2亿美元于并行计算.),你会发现汹涌的潮汐即将淹地平线(暗指多核革命的到来)。

 

 

【注1

Henrik Engström1997年开始一直从事专业软件开发,精通OOP,设计模式,Java SE/EE,应用服务器和SOA,精通各个n-层架构。对Jboss,Weblogic,Websphere服务器有非常深刻的理解。

 

【注2

 

Brian Goetz 作为一名专业软件开发人员已经 20 年了。他是 Sun Microsystems 的高级工程师,并且效力于多个 JCP 专家组。Brian 的著作 Java Concurrency In Practice 2006 5 月由 Addison-Wesley 出版。请参阅 Brian 在流行的业界出版物上 已发表和即将发表的文章

 

 

【注3

加拿大的新不伦瑞克大学教授

来自: java.dzone.com
14
0
评论 共 5 条 请登录后发表评论
5 楼 nihongye 2008-06-30 17:30
fork-join在douglea的开源包里早有了。
4 楼 ray_linn 2008-04-05 15:41
还不如看Microsoft的C omega,起码是已经在跑的支持多核的东西....
http://research.microsoft.com/Comega/
3 楼 Eastsun 2008-03-29 12:25
JAVA7将于2009年的早期发布
2 楼 hysoft 2008-03-29 11:06
发布了???给个链接??
1 楼 凯旋人生 2008-03-29 09:55
java7已经发布了?还是什么时候发布呢?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JS简单设置下拉选择框默认值的方法

    主要介绍了JS简单设置下拉选择框默认值的方法,涉及javascript针对页面元素的遍历、查找及设置技巧,需要的朋友可以参考下

  • ext下拉框不允许输入_怎么给ext的下拉框设默认值

    function xianshi() {var shareTypeCmbstores = new Ext.data.SimpleStore({fields : ['id', 'value'],data : [['1', '数量'], ['2', '重量']]});var shareTypeCmb = new Ext.form.ComboBox({editable : false,...

  • Ext中怎么给下拉框(combobox)设置默认值?

    网上搜了一下给下拉框设置默认值.没找到答案.....自己想了个办法解决这个问题.. 下拉框的形式出现最终提交要获取的值是它的value而不是文本值.EXT里面赋值的时候文本值跟value都是同一个了.可能是原理没搞太清楚,...

  • extjs中加载下拉菜单 并设置默认值

    下拉菜单组件 this.form = Ext.widget('form', { border: true, bodyPadding: 10, autoScroll: true, layout: 'column', defaults: { anchor: '100%' }, defaultType:

  • Ext ComboBox 默认值的设置

    Ext在设置默认值时,直接用 setValue() 的方式,会导致显示的与实际需要往后台传递的值不符。下面直接贴解决问题的代码: var sexArray = [ [1, "手工录入"], [2, "系统筛选"] ]; var sexRecord = Ext....

  • extjs中combox默认值设置问题

    来自:... 问 题来由:combox组件,store使用xmlreader,想对其设置默认值。 发现,使用普通方法,设置combox的 value属性,不起作用。下拉框中仅显示valuefield而不显示displayf...

  • html下拉框设置默认值_@Html.DropDownListFor 下拉框绑定(选择默认值)

    首先先构建绑定下拉框的数据源private void GetSalesList(){var userList = _rmaExpressAppService.GetUserList();TempData["RMASalesList"] = new SelectList(userList, "Id", "UserName");//选择 userList中的Id...

  • extjs 下拉框默认初始值设置

    话不多说,直接看代码: var com = { fieldLabel : '是否启用', name : 'flag', id:'roleFlag', hiddenName : 'flag', ... mode : 'local', //设置数据已经读取到本地了 triggerAction ...

  • extjs4.2 combox 设置默认值以及选中某条值

    公司的一同事被extjs的combox设置默认值折腾的很崩溃:

  • Ext.form.ComboBox 设置默认值为第一个值

    var data = [             ... 'name': 'linechart', 'text': '折线图' }...//同时下拉框会将与name为firstValue值对应的 text显示                    }               } });

  • ext下拉框联动

    // 第一个下拉框 var parentStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: 'loadByParentid.action?parentid=1001' }), reader: new Ext.data.JsonReader({ root: '...

  • EXT下拉框联动

    extJs之下拉框联动 ...首先,两个下拉框,第一个下拉框首先load数据源,在select的事件中在load第二个数据源,这就是一个简单的二级联动的实现原理了. Js代码 // 第一个下拉框 var parentStore = new

  • Extjs 表单下拉框(comobobox)不设置默认值即空值

    combobox虽然提供了emptyText这一属性,却不太好用,实际应用中,我们经常需要恢复到空值状态,也就是什么都不先的状态。用户一旦选择了某一选项,便无法重新回到空值状态。  原代码 //付款方式 var Fukuanstore ...

  • EXTJS-Ext.form.ComboBox下拉框默认选中某一个值(SimpleStore)

    适用于SimpleStore,没有在JsonStore上...Ext.getCmp("id").fireEvent('select',Ext.getCmp("id").setValue('666')); fireEvent说明: fireEvent( String eventName, Object... args ) : Boolean 使用传递进来的参...

  • Ext Js -- 多选下拉框

    今天客户需要做一个多选下拉列表,当然就需要扩展组建,网上收了下,果然好多... 自定义组建组建 Ext.form.MultiSelect,新建MultiSelect.js文件,目录自定,但页面上需要把这个js引入,该js文件如下: // vim: t

  • extjs4 ComboBox 动态加载,联动,设置默认值,锁定等

    最近在搞EXTJS,当然就会碰到ComboBox 默认值的问题,结果在网上找了一堆,没有一个w

  • Ext多选下拉框

    Ext多选下拉框 2009-02-11 13:19     一.首先引入对象Ext.form.MultiSelect // vim: ts=4:sw=4:nu:fdc=4:nospell   // add RegExp.escape if it has not been ...

  • EXT的formfield中combo下拉框为textfield赋值

    //emptyText:'无',//默认值 listeners:{ select : function(combo, record,index){ //alert(record.data.cid); //alert(combo.value); Ext.Ajax.request({ url: 'warrantyServiceAction!...

  • 基于粒度计算的旅游定制公交初设线路优选——以长岛县定制旅游公交为例.pdf

    基于粒度计算的旅游定制公交初设线路优选——以长岛县定制旅游公交为例.pdf

  • CSDNApp_242.apk

    CSDNApp_242.apk

Global site tag (gtag.js) - Google Analytics