`
江南白衣
  • 浏览: 550935 次
  • 来自: 广州
社区版块
存档分类
最新评论

一个Java架构师的新年期望

阅读更多

   年末最后一天,昭事上帝 ,聿怀多福,祈望来年的Java社区争气一点,实现偶们小小的愿望...

1.Java 7.0发布

    Java7.0吸引架构师的地方有Garbage First垃圾收集算法  ,NIO2   和Concurrent包的fork-join 框架  .

    Garbage First与BEA JRockit  的算法类似,替代了原来暂停时间优先的CMS算法,提供了一个固定的垃圾收集时间--如勉强可接受的20ms。架构师们终于可以放心一些,系统不会再忽然停顿两秒。

    好消息是,也许不用等JDK7,G1算法的Beta版已经在JDK6.0 update14上了。

2.WS- I Basic Profile  1.2/2.0发布

    WS-I Basic Profile   实际上是WS-*中最重要的协议。设计初衷本是统一互联的WebService,随着WS-*标准的膨胀和各WebService Library的任意实现,实际上早已乱象纷呈。而WS-I Basic Profile为这个混乱的世界重新提供了一个最基本的互操作性保障。

    WS-I Basic Profile 1.0只定义了SOAP 1.1、 WSDL 1.1、 HTTP 1.1、XML Schema这几个最原始的标准,1.1 增加了Attachments Profile 1.0 。
    而1.2就会增加MTOM 1.0 (附件协议) 和WS-Addressing 1.0 (异步消息),2.0会升级到SOAP 1.2,再加上Basic Security Profile   ,应该已能构成一个足够又和谐的WebService世界。

    当然规范只是规范,更重要的是各主流WebService Library 集中精力对它的支持,而不是老把时间花在其他用者寥寥的WS-*上。

3.Glassfish V3 发布

    在开源的Application Server中,越来越喜欢Glassfish  。

    V2版本已有易用又中文的管理控制台和方便的集群管理,V3版本基于Osgi快速启动时不再需要加载EJB/JMS等用不上的模块更是叫人欢喜。

4.Netbeans 7.0 发布

    大家都逐渐烦了Eclipse只纯粹的做一个Java IDE + Plugin Platform,JavaEE版本进展缓慢直到Eclipse 3.4才勉强可用,

    NetBeans  的一体化设计给了大家相对流畅的JavaEE开发感觉,7.0版本支持Maven及一系列改进后,Netbeans应该能真正成为大家的可选择项吧。

    好消息是,Netbeans 7.0的版本改为Netbeans 6.7了,应该会更快的发布吧。

5.出现更好的ESB方案

    老牌的Mule  或是一些商业方案,始终无法让人完全满意。

    暂时来看INOA的FUSE ESB 4.0 (ServiceMix 4.0+Camel) 和JBoss的JBOSS ESB  行情看好。

    已发展了不少年头的SCA标准  和Tuscany  ,也希望能出现让大家体会到它用途的的真实案例。

6.出现更好的Java Remoting Call方案

    自从EJB2不是完美选择以后,高效的分布式同步调用方案一直是Java架构师们最尴尬的事情。

    个人感觉,未来的方案应该是简单又天然支持集群的Http协议+某种高效的数据格式,但Hessian  也好 ,Google Protocol Buffers  也好,关键要形成事实标准。

7.OSGI技术的平民化

    在应用服务器界,Osgi已被完全推广,如今不是Osgi的应用服务器都不好意思出来打招呼了,如Glassfish3依赖Apache Felix  ,Spring dm Server依赖Eclipse Equinox  ,但不知这股东风什么时候才吹到寻常的应用产品开发中。

8.分布式计算、分布式存储技术的平民化

    只靠Hadoop  ,GridGain  这样一两个开源项目,还不能满足Web2.0网站搭建自己的分布式计算、分布式存储平台的需求。

9.Java 与 动态语言

    Java自身发展趋缓时,将业务逻辑交予动态语言快速编写是一个新的发展方向。

    Spring买了Groovy  /Grails  的支持公司G2One,Sun站到了JRuby  和Jython  的后面,Java 6,Spring 2,NetBeans IDE对动态语言的支持,技术方面的准备差不多已完成,就等着这一潮流能否真正引爆了。

    唯一比较缓慢的是Jython,稳定版只等于Python 2.2.1,而很多Python项目如DJango  都需要Python 2.5 。

10.其他

    好像对Spring,JavaEE,REST,Ajax,RIA们都没什么期望,唉....

    另外,还希望Java有更好的分布式Cache方案,Terracotta  实际还不是银弹,Oracle Coherence  没有免费的版本。

分享到:
评论
20 楼 darkelf9 2009-02-01  
江南白衣 写道
raymond2006k 写道

比如:EJB远程调用如果不想使用,可以用 Mule,Tuscany 等提供的简化方案;
分布式cache,也有memcached,coherence等不错的方案,只是后者是商业版本,比较昂贵。


像Mule最终传输协议还是离不开WebService/REST/JMS们的,WebService原来的问题不会消失。
原文我写"分布式cache“是写错了,应该是"分布式内存"。而memcached毕竟只是cache,集群中单台服务器倒掉时,数据会丢失的。


TerraCotta的问题在什么地方啊?看它的网站以及相关案例介绍感觉还不错
只不过据说在实现架构上和Oracle的coherence差别挺大的

另外,memcached虽然没有数据冗余,只不过本身非常稳定
对于一般的业务基本够用了

何况还可以用某些 LVS + memcached的技术做一些热备的处理


19 楼 network-eagle 2009-02-01  
里面提到的东西 有1/3都没有用过。。
18 楼 江南白衣 2009-02-01  
别,别这么说。我守着项目组那一亩三分地,OSGI,云计算之类的都接触不到的说,随便数一下就瞎凑个热闹而已。

jspine 写道
白衣总是走在了前面!

17 楼 jspine 2009-02-01  
白衣总是走在了前面!
16 楼 wubo19842008 2009-02-01  
标记一下,年底回来再看看。。。
15 楼 xiongcaisheng 2009-02-01  
技术纷繁 这行活到老学到老,我做地质的同学说了,他们看的东西看过一次这辈子都不会再变了。
14 楼 shallon 2009-02-01  
过去一年里,我更加关注移动互联网的操作系统、虚拟机、及开发平台。新的一年,希望可以了解一下android的的Dalvik virtual machine。大家多多交流。
13 楼 aaa_star 2009-02-01  
我期待2009年能出个轻量级的“SOA”框架,感觉目前不论是osgi还是soa对于一般级别的应用来说都难以适合,门槛还不够低,且难于存在的框架整合,不够成熟,这也应该是它们没进入平民化的原因。而spring的能力还不具备osgi和soa的一些优点,spring DM还不够理想,期待这一状况得到改观。
12 楼 bachmozart 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

不对的地方请大家指正,多谢

11 楼 whaosoft 2009-02-01  
Java 与 动态语言 现在的动态语言好像很火的样子
10 楼 江南白衣 2009-02-01  
raymond2006k 写道

比如:EJB远程调用如果不想使用,可以用 Mule,Tuscany 等提供的简化方案;
分布式cache,也有memcached,coherence等不错的方案,只是后者是商业版本,比较昂贵。


像Mule最终传输协议还是离不开WebService/REST/JMS们的,WebService原来的问题不会消失。
原文我写"分布式cache“是写错了,应该是"分布式内存"。而memcached毕竟只是cache,集群中单台服务器倒掉时,数据会丢失的。
9 楼 raymond2006k 2009-02-01  
顶一个,写的不错。

不过技术关键在于使用。
比如:EJB远程调用如果不想使用,可以用 Mule,Tuscany 等提供的简化方案;
分布式cache,也有memcached,coherence等不错的方案,只是后者是商业版本,比较昂贵。
8 楼 江南白衣 2009-02-01  
drug 写道
唉~发现我起码要过个十来二十年才能达到架构师的水平~~怎么才能懂那么多呢......

一个苦苦挣扎的JAVA程序员......


呵呵,每个单位里对职位的定义不一样,我们公司项目组里管技术那个就叫架构师,哪怕有些小的项目组可能也就10个左右的开发人员。所以"架构师"也没啥特别的。
7 楼 drug 2009-01-31  
唉~发现我起码要过个十来二十年才能达到架构师的水平~~怎么才能懂那么多呢......

一个苦苦挣扎的JAVA程序员......
6 楼 drug 2009-01-31  
唉~发现我起码要过个十来二十年才能达到架构师的水平~~怎么才能懂那么多呢......

一个苦苦挣扎的JAVA程序员......
5 楼 linuxaid 2009-01-30  
看到了帖子中的分布式cache,心中的痛。年前就在写这个。虽然实现得非常恶心,不过性能基本上达到了要求。
4 楼 dennis_zane 2009-01-30  
bachmozart 写道
印象中好像NIO2中的AIO也不是真正的操作系统级的AIO,只是sun自己在IO复用+non-blocking IO基础上加上自己写好的部分底层代码模拟的一个应用层的AIO,似乎对性能不会有什么本质的提高,毕竟用的还是EPOLL(Linux上),只是代码编写上会简化一些.固定了线程模型什么的


你都没分清楚IO模型
3 楼 cyberblue 2009-01-28  
在新的一年里仍然期待山寨版的Telelogic Doors。
2 楼 bachmozart 2009-01-28  
印象中好像NIO2中的AIO也不是真正的操作系统级的AIO,只是sun自己在IO复用+non-blocking IO基础上加上自己写好的部分底层代码模拟的一个应用层的AIO,似乎对性能不会有什么本质的提高,毕竟用的还是EPOLL(Linux上),只是代码编写上会简化一些.固定了线程模型什么的
1 楼 tf03172003 2009-01-28  
向J2EE架构师努力!

相关推荐

    Java架构师视频教程

    Java架构师视频教程 Java架构师视频教程

    java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程

    java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级...

    超过100G的Java互联网架构师课程视频网盘

    Java互联网架构师是一个涵盖广泛领域的专业角色,这个角色需要深入理解软件开发的各个方面,特别是针对大规模、高并发的互联网应用。本课程集成了多种关键知识点,旨在帮助在职Java工程师提升技能,迈向架构师之路。...

    JAVA架构师课程(最全资料和视频)

    资料及代码 ...一、互联网并发编程 五、数据库设计与优化 四、Linux部分 三、JAVA虚拟机 七、互联网框架应用 六、互联网中间件架构设计 二、互联网网络通信编程 八、互联网分布式综合项目实战

    JAVA后端架构师.pdf

    他们能够熟练应对常见的并发编程问题,掌握至少一个常见中间件的源码,能够运用设计模式、OOA/D进行软件设计,并在微服务层面掌握常见微服务组件的操作、原理和源码。 技术要点: 1. 操作系统基础知识:微内核与宏...

    java架构师视频教材

    包含了成为一名java架构师必备技能:从java高级知识点到分布式到容器等都是详细视频讲解

    Java EE架构师认证指南

    Java EE 是一个基于 Java 的企业级应用程序开发平台。它提供了一系列的 API 和工具,用于开发、部署和管理企业级应用程序。Java EE 的主要组件包括 Java EE API、EJB、Servlet、JSP 等。 EJB EJB(Enterprise ...

    JAVA免费互联网架构师教学视频内附带网盘密码

    JAVA互联网架构师 32.12GB,517个视频。包含netty,zookeeper,dubbo,redis,JVM等等,包括视频、文档和资料等等

    2018最新JAVA架构师培训视频教程(附笔记、源码 、视频 网盘链接 详细)

    018最新JAVA架构师培训视频教程(附笔记、源码、视频教程 全网盘链接) 内含完整资料及代码: 一、互联网并发编程 二、互联网网络通信编程 三、JAVA虚拟机 四、Linux部分 五、数据库设计与优化 六、互联网...

    Java架构师指南配套代码资源

    本资源包是专为Java架构师打造的学习辅助资料,包含了与《Java架构师指南》一书配套的代码示例,旨在帮助读者更好地理解和实践书中介绍的理论知识。 首先,我们需要理解Java架构师的角色和职责。他们不仅需要精通...

    java架构师成长图谱

    java架构师的成长之路,一图在手,一目了然,查漏补缺,逐一对照!

    JAVA架构师知识整理)

    本文档旨在为Java架构师提供一个详细的知识点总结,涵盖了Java架构师所需的知识点,从机器学习到数据库设计、JVM等多个方面。 一、机器学习 机器学习是人工智能的一个子领域,关注于开发可以自动改进其性能的算法...

    java架构师(必修书籍打包)

    Java架构师是软件开发领域中的高级角色,负责指导和规划软件系统的整体结构,确保其可扩展性、可维护性和性能。以下是一些基于提供的书籍资源的相关知识点: 1. **J2EE架构师手册**: - J2EE(Java 2 Platform, ...

    Java高级架构师VIP系统课程-视频教程网盘链接提取码下载 .txt

    这门课程旨在为有志于成为Java高级架构师的同学提供全面的知识体系和实战经验。课程涵盖了Java EE框架、微服务架构、性能优化、安全性等领域,并通过案例分析和项目实践,帮助学员深入理解并掌握高级架构设计与实施...

    java架构师知识体系

    java架构师知识体系思维导图,给你一个清晰的学习路径,知识图谱

    java架构师课程

    内容包含:并发编程,分布式项目实战视频,Dobbo,zookeeper,redis,Nginx,kafka,RocketMQ.oracle,ActiveMQ,Netty,Jvm视频

Global site tag (gtag.js) - Google Analytics