java方面主流的技术有哪些

JAVA的先进技术有哪些?~

当然是JSP啦。。。下面给你找了下资料 。

强势:

1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的恶梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比php更出色,除了系统之外,你的代码不用做一点更改的。

2、系统的多台平支持。我已经在差不多所有平台上见到了一致的java servlet/jsp的Web Server/Application Server……系统它可以让你在任意环境做开发,在任意环境进行系统部署,在任意环境扩展。相比asp/php的局限性是显面易见的。

3、强大的的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均横,到多台Application进行事务处理、消息处理......一台服务器到无数以服务器,Java显示了一个巨人的生命力。

4、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。如果你细心的使用它们会发现比自己第一面看到它们时的功能要强大的多。

弱势:

1、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。这么说,它在扩展时需要的分成多少块,哪么java系统中就有多少种产品。所以你要以看到jre、jdk、jsdk、jswdk……,实际上它们只要有效的搭配在一起,就可以产生强大的效能,密不可分,但是对于一位初学者来说:“有没有搞错!难道让我运行一个jsp就要这么多乱七八糟的东西!”

2、从出现的第一天起就被对手痛骂的:“慢如老牛”。真的,我在第一次运行我的jsp时,我竟然以为我的机器死机而将哪个进程给kill了!第一次编绎、运行对于使用者来说真是一场恶梦,在开发时我经常晚上做梦在看WinNT的任务管理器CPU格全绿时等着降下来的样子和感觉。

3、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说却实是“最低性能价格比”了。另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。

4、缺少系统性的资料。这也许不该说,但是sun在国内做的却实很差劲,java的资烊在国内极少,到现在我还没有在书店里看到一本jsp的书,而对java体系的论述书更是少而又少,与java相关的书(中文版)到现在不过三位数。而再看看之中大量的具然还在讲Visual J++或是Java 1.1这样的阵年旧货。

总结:

适用人群:具有较强学习能力和耐心的开发人员。投入低但是希望拥有较大的伸缩能力的应用。

适用平台:……(太多而只不再一一列说)适用应用:Internet/Intranet高可靠性应用、Internet/Intranet与Client/Server结合的应用系统

学习方式:Java的Doc文档和java站点中的一系文档Internet的源代码资源(对不起大家,真的不能提出更好的建议了,再有的就是大家的能力和运气,以及Inetnet上网友的帮助了)

推荐开发工具:JBuilder/Visual Age for java(这个我没用过,但是有人强力推荐)/Sun Forte for JavaKAWA

推荐开发环境:Windows NT/Windows 2000开发系统JBuilder 3.5(它能成为Web Server,甚至不再需要其它的工具)Tomcat 3.1JDK 1.3(可以不安装)Access 2000/P II 266/128M RAM/9G HD

推荐应用环境(最少):RedHat Linux 6.2/MySQL 3.22/Apache 1.3.12/Tomcat 3.1/JDK 1.3Beta/PIII 500/512M RAM/9G HD

推荐应用环境(最佳):Solaris 8/Sybase 11/iPlanet Enterprise Web Server 4.1/JDK 1.3Beta/Sun Netra T1/1G RAM/18G HD

1、目前依旧使用比较广泛的自然是一些应用框架,struts2,ibatis,hibernate,spring,dwr这些都是工程应用中使用比较多的
2、在WEB应用趋向于SOA的时候,有很多技术也是十分的流行,如WEBSERVICES,工作流中的BPM,XPDL,BPEL,ESB,等等
3、目前,总的来说,J2EE应用面向于SOA架构了,相关新技术比较多,如果,你确实很想了解的话,可以参考一下IBM的SOA架构的垂直产品线,里面提倡了很多的新的技术和新的理念,呵呵,虽然,有一些个人认为可能还需要时间去完善和发展,比如CLOUD,不过,总的来说,体系很严密,技术很超前,不错的,有一张很经典的IBM的SOA的架构图,虽然里面都是IBM的产品,不过,很多技术都是目前正在流行和发展的。

Structs hibernate spring Struts

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。

Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:
  1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
  2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。
  3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。
  4、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息的(这样一来就实现了应用系统的多语言支持)。

Spring

Spring是轻量级的J2EE应用程序框架。

Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案 。

Spring不会特别去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架够新够好,例如Spring有自己的 MVC框架方案,因为它觉得现有的MVC方案有很多可以改进的地方,但它不强迫您使用它提供的方案,您可以选用您所希望的框架来取代其子框架,例如您仍可以在Spring中整合您的Struts框架 。

Spring的核心概念是IoC,IoC的抽象概念是「依赖关系的转移」,像是「高层模组不应该依赖低层模组,而是模组都必须依赖于抽象」是 IoC的一种表现,「实现必须依赖抽象,而不是抽象依赖实现」也是IoC的一种表现,「应用程序不应依赖于容器,而是容器服务于应用程序」也是IoC的一种表现。

Spring的架构性的好处
  Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题。
.  Spring能消除在许多工程上对Singleton的过多使用。根据我的经验,这是一个主要的问题,它减少了系统的可测试性和面向对象特性。
  Spring 能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗?有了Spring,你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。
.  Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。
.  使用Spring构建的应用程序易于单元测试。
.  Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。
.  Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要JTA实现。
.  Spring为数据存取提供了一致的框架,不论是使用JDBC或O/R mapping产品(如Hibernate)。
  Spring确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。

Spring能做什么?
  Spring提供许多功能,在此我将快速地依次展示其各个主要方面。
  任务描述:
  首先,让我们明确Spring范围。尽管Spring覆盖了许多方面,但我们已经有清楚的概念,它什么应该涉及和什么不应该涉及。

Spring的主要目的是使J2EE易用和促进好编程习惯。
Spring 不重新开发已有的东西。因此,在Spring中你将发现没有日志记录的包,没有连接池,没有分布事务调度。这些均有开源项目提供(例如 Commons Logging 用来做所有的日志输出,或Commons DBCP用来作数据连接池),或由你的应用程序服务器提供。因为同样的的原因,我们没有提供O/R mapping层,对此,已有有好的解决办法如Hibernate和JDO。

Spring的目标是使已存在的技术更加易用。例如,尽管我们没有底层事务协调处理,但我们提供了一个抽象层覆盖了JTA或任何其他的事务策略。

Spring没有直接和其他的开源项目竞争,除非我们感到我们能提供新的一些东西。例如,象许多开发人员,我们从来没有为Struts高兴过,并且感到在MVC web framework中还有改进的余地。在某些领域,例如轻量级的 IoC容器和AOP框架,Spring有直接的竞争,但是在这些领域还没有已经较为流行的解决方案。(Spring在这些区域是开路先锋。)

Spring也得益于内在的一致性。
所有的开发者都在唱同样的的赞歌,基础想法依然是Expert One-on-One J2EE设计与开发的那些。
并且我们已经能够使用一些主要的概念,例如倒置控制,来处理多个领域。

Spring在应用服务器之间是可移植的。
当然保证可移植性总是一次挑战,但是我们避免任何特定平台或非标准化,并且支持在WebLogic,Tomcat,Resin,JBoss,WebSphere和其他的应用服务器上的用户。

Spring的核心即是个IoC/DI的容器,它可以帮程序设计人员完成组件之间的依赖关系注入,使得组件之间的依赖达到最小,进而提高组件的重用性,Spring是个低侵入性(invasive)的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何的修改,反过来说,组件也可以简单的方式加入至框架中,使得组件甚至框架的整合变得容易。

Spring最为人重视的另一方面是支持AOP(Aspect-Oriented Programming),然而AOP框架只是Spring支持的一个子框架,说Spring框架是AOP框架并不是一件适当的描述,人们对于新奇的 AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特色。

Spring也提供MVC Web框架的解决方案,但您也可以将自己所熟悉的MVC Web框架与Spring解合,像是Struts、Webwork等等,都可以与Spring整合而成为进用于自己的解决方案。Spring也提供其它方面的整合,像是持久层的整合如JDBC、O/R Mapping工具(Hibernate、iBATIS)、事务处理等等,Spring作了对多方面整合的努力,故说Spring是个全方位的应用程序框架。

AJAX

AJAX
全称“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:基于web标准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest 进行异步数据查询、检索;使用 JavaScript 将所有的东西绑定在一起。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。

ajax优势
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化。它还可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用

   Hibernate不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何不可思议的接口以便能够持续存在。惟一需要做的就是创建一份XML“映射文档”,告诉Hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。与其他解决方案相比,它几乎已经很完美了。

  运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转换。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉Hibernate保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在数据库中保存它们。

  Hibernate API学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它,就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾难,但是借助于Hibernate,只需要简单地修改Hibernate配置文件即可。

  这里的讨论假定您已经通过创建Hibernate映射文档,建立了一个关系数据库,并且拥有要映射的Java类。有一个Hibernate“工具集”可在编译时使用,以支持不同的工作流。例如,如果您已经拥有Java类和映射文档,Hibernate可以为您创建(或更新)必需的数据库表。或者,仅仅从映射文档开始,Hibernate也能够生成数据类。或者,它可以反向设计您的数据库和类,从而拟定映射文档。还有一些用于Eclipse的alpha 插件,它们可以在IDE中提供智能的编辑支持以及对这些工具的图形访问。

  如果您使用的是Hibernate 2环境,这些工具鲜有提供,但是存在可用的第三方工具。

使用Hibernate的场合
  既然Hibernate看起来如此灵活好用,为什么还要使用其他的工具呢?下面有一些场景,可以帮助您做出判断(或许通过提供一些比较和上下文,可以有助于鉴别非常适用Hibernate的场合)。

  如果应用对于数据存储的需要十分简单——例如,您只想管理一组用户优先选择——您根本不需要数据库,更不用说一个优秀的对象-关系映射系统了(即使它也如Hibernate这般易于使用)!从Java 1.4开始,有一个标准的Java Preferences API可以很好地发挥这个作用。(在ONJava文章中可以找到有关Preferences API的更多信息。)

  对于熟悉使用关系数据库和了解如何执行完美的SQL查询与企业数据库交互的人来说,Hibernate似乎有些碍手碍脚,这就像带有动力和自动排挡的快艇车会使注重性能的赛车驾驶员不耐烦一样。如果您属于这种人,如果您所在的项目团队拥有一个强大的DBA,或者有一些存储过程要处理,您可能想研究一下iBATIS。Hibernate的创建者本身就把iBATIS当作是另一种有趣的选择。我对它很有兴趣,因为我们曾为一个电子商务站点开发了一个类似的系统(其功能更为强大),而且从那时到现在,我们已经在其他环境中使用过它,尽管在发现Hibernate之后,在新项目中我们通常更喜欢使用Hibernate。您可以认为,以SQL为中心的解决方案(比如iBATIS)是“反向的”对象/关系映射工具,而Hibernate是一个更为传统的ORM。

  当然,还有其他的外部原因会导致采用另外的方法。比如,在一个企业环境中,必须使用成熟的EJB架构(或者其他的一些非普通对象映射系统)。可以为提供自己的数据存储工具的平台量身定做代码,比如Mac OS X's Core Data。使用的可能是像XML DTD这样的存储规范,而它根本不涉及关系数据库。

  1. 注意:本回答更专注于javaweb方向的主流技术作为参考!

  2. 首先明白,java目前有两大方向:一是javaweb,二是安卓开发(请自行查找相关知识学习);

  3. 无论做哪方面的java开发,javase也即是java基础部分是必备知识,其中包括:

    (1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。

    (2).Java面向对象编程的三大特征——封装、继承和多态。

    (3).通过异常的编写和使用来体验Java的异常处理机制。

    (4).通过对象的存储与检索来体验Java集合的强大功能。

    (5).通过文件的读写与传输来体验.Java对I/O的支持。

    (6).通过反射机制的讲解来体验Java语言的动态特性。

    (7).有兴趣还可以学习线程,网络编程,垃圾回收机制等

  4. JDBC的了解和练习,数据库知识掌握要求一定扎实。

  5. html+CSS+DIV,jscript,jquery等必须有一定的了解和基础甚至是熟练应用

  6. jsp ,servlet ,过滤器,拦截器,xml进行掌握学习,并且认识MVC的开发模式(注:设计模式和算法等都是穿插学习的,也是很重要的!)

  7. 掌握了以上技术的原理后,可以进行SSH框架的学习,三大框架依然为现在相当流行的主流框架,Mybatis等框架,框架是为了便于开发,不等同于使用框架就足够了,背后的原理一定掌握熟练。

  8. svn  git maven等团队开发的东西需要了解。 

  9. java的技术很丰富,上面所述仅为参考,欢迎更正补充,谢谢交流。



http://www.open-open.com/07.htm可以参考下

主流技术?JAVA?晕...看什么平台J2EE,J2ME...太笼统了..每的都有好多分枝,选好方向,再看吧,学的多不一定好

Java的相关技术
答:2011-08-10 java领域的相关技术都有哪些啊 90 2013-11-16 与java相关的技术有哪些? 7 2011-04-27 Java相关的技术有哪些? 25 2013-06-04 Java的核心技术是什么? 13 2009-04-15 Java的几种主要技术 10 2013-10-05 java方面主流的技术有哪些 32 2012-03-11 java相关的技术有哪些? 4 更多类...

Java web高级常用技术有哪些
答:java web开发技术有很多,大概罗列下:1、后台框架部分,常用spring、struts2等,用来帮助对项目的持久层、业务层、页面控制层的三层架构开发;当然,如果使用spring框架的话,还提供spring security、切面、依赖注入等现成的工具包,提高开发效率并且方便你集成一些第三方的扩展;2、数据持久层方面,用到的有...

Java中的常用框架和技术有哪些 ..
答:常用的框架:SSH(Struts1,2+Spring+Hibernate)。java应用技术:视图层 struts2、 Wicket、 Tapestry、 JSF1,2、 Spring MVC GWT ;- 中间层(容器层) Spring、 Guic、 CDI Seasar(日系) ;DAO (数据库层)Hibernate、 MyBatis、 JPA、 JDO ;Javascript jQuery 、Prototype、 YUI ;...

现在主流的JAVA技术是什么?
答:J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能上的支持。它包含13种核心技术规范:(1)Java Database Connectivity (JDBC)以一种统一的方式来对各种各样的数据库进行存取(2)Java Naming and Directory Interface (JNDI)用于名字和目录服务,它...

Java开发需要哪些技术?
答:Java开发需要掌握以下技术:1、掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。编程有关的操作系统基本使用,HTML5规范、HTML5文档结构、HTML5元素、Web语义化;CSS3规范、CSS3选择器、层叠与继承、...

java web的开发主流技术是什么?
答:java web开发技术有很多,大概罗列下:1、后台框架部分,常用spring、struts2等,用来帮助对项目的持久层、业务层、页面控制层的三层架构开发;当然,如果使用spring框架的话,还提供spring security、切面、依赖注入等现成的工具包,提高开发效率并且方便你集成一些第三方的扩展;2、数据持久层方面,用到的有...

现在最流行的Java技术是什么?
答:目前最流行的java技术主要有 SSH,Jquery,Flex等几种。尤其是ssh,它们的功能各自不一样,struts2一般控制页面跳转,它有核心控制器,MVC模式当中充当控制层,没有servlet麻烦。 hibernate是把对象存到数据库中,是关于关系映射的中间健,目前和它一样流行ORM有 iBatis TopLink。spring是功能很多,在ssh它...

Java开发最新技术有哪些
答:java web开发技术有很多,大概罗列下:1、后台框架部分,常用spring、struts2等,用来帮助对项目的持久层、业务层、页面控制层的三层架构开发;当然,如果使用spring框架的话,还提供spring security、切面、依赖注入等现成的工具包,提高开发效率并且方便你集成一些第三方的扩展;2、数据持久层方面,用到的有...

Java开发最新技术有哪些
答:java web开发技术有很多,大概罗列下:1、后台框架部分,常用spring、struts2等,用来帮助对项目的持久层、业务层、页面控制层的三层架构开发;当然,如果使用spring框架的话,还提供spring security、切面、依赖注入等现成的工具包,提高开发效率并且方便你集成一些第三方的扩展;2、数据持久层方面,用到的有...

java开发工程师必须要学的技术有哪些?
答:J2ME程序设计,包括J2EE程序、J2ME;Java高级程序设计(J2EE),包括J2EE体系结构和J2EE技术、EJB;Weblogic使用、 JBuilder开发;Java和XML,包括Java Web Service,JavaXML, 业界主流XML解析器程序设计;软件企业规范和软件工程,包括UML系统建模型和设计(Rational Rose 200x)软件工程和业界开发规范;CVS版本控制、Java Code书写...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网