锁定老帖子 主题:一个Java架构师的新年期望
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-01
Java 与 动态语言 现在的动态语言好像很火的样子
|
|
返回顶楼 | |
发表时间:2009-02-01
最后修改:2009-02-01
dennis_zane 写道 bachmozart 写道 印象中好像NIO2中的AIO也不是真正的操作系统级的AIO,只是sun自己在IO复用+non-blocking IO基础上加上自己写好的部分底层代码模拟的一个应用层的AIO,似乎对性能不会有什么本质的提高,毕竟用的还是EPOLL(Linux上),只是代码编写上会简化一些.固定了线程模型什么的
你都没分清楚IO模型 我对Linux IO模型的理解可能有不正确的地方,向大家请教一下吧,我的理解是: Linux 下的IO模型基本有4种 1.同步阻塞IO 即read,write方法都是阻塞等待的,系统调用read一直等待有新的字节流产生,才会返回,否则一直等待,这种是最基本的IO模型,大部分时间花在了IO等待上,CPU利用率较低 2.同步非阻塞IO 即通过fcntl设置相应描述字为非阻塞,此时read,write方法在调用时,如果没有字节流则会立即返回,并得到一个EWOULDBLOCK,或者是EAGAIN错误,代表暂时没有数据可达,程序需要轮询判断是否有新的字节流可达,也就是POLLING 这种模型cpu不断轮询所有的fd自然会耗费大量的cpu时间 3.异步阻塞IO(或者说是IO复用) 系统将关心的描述字与相应事件注册,通过select()调用(或者poll,epoll),也就是系统阻塞在select调用上,当任何一个被注册的描述字有所关心的事件发生则,select返回,通知系统发生的事件类型和所对应的描述字,然会程序再调用read,或者write等方法,read,write本身是非阻塞的,会立即返回,这种模型是目前效率最高的,最常用的一种IO模型(当然效率上epoll最好) 4.异步非阻塞IO(也就是AIO) 这种IO模型通过注册IO事件后,在系统发生某个IO事件后,由kernel通过注册事件时传递的callback指针,由kernel调用相应的回调方法,处理io事件,这个应该是内核2.6新的特性 我所说的java 7 的AIO,是想说未必是第4种IO模型(操作系统级的AIO),因为区别在于是否是kernel调用的callback,还是应用层自己封装的AIO 不对的地方请大家指正,多谢 |
|
返回顶楼 | |
发表时间:2009-02-01
我期待2009年能出个轻量级的“SOA”框架,感觉目前不论是osgi还是soa对于一般级别的应用来说都难以适合,门槛还不够低,且难于存在的框架整合,不够成熟,这也应该是它们没进入平民化的原因。而spring的能力还不具备osgi和soa的一些优点,spring DM还不够理想,期待这一状况得到改观。
|
|
返回顶楼 | |
发表时间:2009-02-01
过去一年里,我更加关注移动互联网的操作系统、虚拟机、及开发平台。新的一年,希望可以了解一下android的的Dalvik virtual machine。大家多多交流。
|
|
返回顶楼 | |
发表时间:2009-02-01
技术纷繁 这行活到老学到老,我做地质的同学说了,他们看的东西看过一次这辈子都不会再变了。
|
|
返回顶楼 | |
发表时间:2009-02-01
标记一下,年底回来再看看。。。
|
|
返回顶楼 | |
发表时间:2009-02-01
白衣总是走在了前面!
|
|
返回顶楼 | |
发表时间:2009-02-01
最后修改:2009-02-01
别,别这么说。我守着项目组那一亩三分地,OSGI,云计算之类的都接触不到的说,随便数一下就瞎凑个热闹而已。
jspine 写道 白衣总是走在了前面!
|
|
返回顶楼 | |
发表时间:2009-02-01
最后修改:2009-02-01
里面提到的东西 有1/3都没有用过。。
|
|
返回顶楼 | |
发表时间:2009-02-01
江南白衣 写道 raymond2006k 写道 比如:EJB远程调用如果不想使用,可以用 Mule,Tuscany 等提供的简化方案; 分布式cache,也有memcached,coherence等不错的方案,只是后者是商业版本,比较昂贵。 像Mule最终传输协议还是离不开WebService/REST/JMS们的,WebService原来的问题不会消失。 原文我写"分布式cache“是写错了,应该是"分布式内存"。而memcached毕竟只是cache,集群中单台服务器倒掉时,数据会丢失的。 TerraCotta的问题在什么地方啊?看它的网站以及相关案例介绍感觉还不错 只不过据说在实现架构上和Oracle的coherence差别挺大的 另外,memcached虽然没有数据冗余,只不过本身非常稳定 对于一般的业务基本够用了 何况还可以用某些 LVS + memcached的技术做一些热备的处理 |
|
返回顶楼 | |