本文目录一览:
java 的开源项目有哪些
Rx 的 Java 实现 RxJava;分布式搜索引擎 ElasticSearch;REST 客户端 Retrofit;HTTP+SPDY 客户端开发包 okhttp.....
java有什么常用开源的框架?
java常用开源框架如下:
- Spring Framework 【Java开源JEE框架】 Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
- WebWork 【Java开源Web开发框架】 WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。
- Struts 【Java开源Web开发框架】 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中。
- Hibernate 【Java开源持久层框架】 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合。
- Quartz 【Java开源调度框架】 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。
- Velocity 【Java开源模板引擎】 Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
- IBATIS 【Java开源持久层框架】 使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显得别具意义。
JAVA哪些开源项目比较值得研究啊
学java必会的几个开源项目,都能研究透的话找工作不成问题,struts,spring,数据库持久化的hibernate,ibatis,分布式的ejb,这几个是最常用的也是很值得研究的开源。
介绍几个JAVA的AOP框架开源项目
基于Java的简单、动态、轻量级、强大的AOP框架。既强大又简单,有助于更容易的集成AOP到新的或已存在的项目中。 AspectWerkz 主要特性:
- 运行时和加载时字节码修正:你可以在运行时或编译时轻松的改造任何(旧)应用程序或除了rt.jar以外的外部类库
- 支持join point模型
- 支持Annotation:匹配JavaDoc和JSR-175,支持用户自定义Annotation
- 支持部署多个Aspect定义文件到部署的应用程序(WEB-INF/aop.xml、META-INF/aop.xml)
- Introduction/内类型声明(也称Mixin),也就是具有添加接口和实现到已存在的类中的能力
- Annotation定义:定义Aspect使用的运行时Annotation(为JSR-175准备)
- XML定义:定义Aspect使用的XML;XML可以用来精炼、改写和解析Annotation定义
- 插件式Aspect管理器能够和IoC框架(如Spring或PicoContainer)一起工作
- 四种不同的Advice和Introduction部署模型(范围):perJVM(单模式)、perClass、perInstance 和perThread
- Advice和Introduction能够动态部署、反部署或重新部署
- 高性能,使用JIT编译
- 使用Fine-grained模式语言选择join point
- 所有Advice能够和所有的join point和各种混合类型的pointcut
- 脱机变换(可以用作后处理器)
- Aspect、Advice和Introduction使用POJO编码
- 目标类可以是正规的POJO,也就是不需要接口
- 支持通过定义传递参数给Advice和定义可重用的Advice堆栈
- 元数据被加到类中
- 简单的用法和配置
AspectWerkz在Eclipse下的辅助开发插件→
更多AspectWerkz信息
JBoss AOP
JBoss 4.0带了一个AOP框架。这个框架和JBoss应用服务器紧密地结合,但是你也能够在你的应用中,单独的运行它。 更多JBoss AOP信息
Nanning
一个虽然简单但也是一个java开源的AOP框架。名字以中文的拼音拼写就是广西的南宁。 更多Nanning信息
JAC
JAC (Java Aspect Components)是一个应用服务器。它为Java2平台、用于Java开发的企业开发环境(J2EE)、和基于Web的分布式应用,提供开放式资源的又一个选择(在GNU次常规公共许可证下发布)。JAC包括统一模型语言(UML)IDE,该UML IDE模块化应用商业逻辑并且自动生成和编译纯商业逻辑Java类。这些类,在JAC容器内执行,可从一组技术和/或商业的横切关系(crosscutting concerns)如数据持久性、认证、配置文件管理、访问权限检测、演示、和负载平衡中无缝地受益。基于面向方面编程技术(AOP)的JAC将这些关系从应用程序的核心商业逻辑中分离出来。 更多JAC信息
DynamicAspects
DynamicAspects能够让你使用java编写的面向切面的程序设计,它使用在Sun JDK 1.5中介绍的"instrumentation"与"agent",Aspects能够软件各模块之间的关系在运行期安装与使用。 更多DynamicAspects信息
dynaop
dynaop框架使用一个基于运行时的编程机制将AOP代码插入对象中,而不是返回一个具有特征代码的对象。AOP将是面向对象设计(OO)的一个新的领域。 更多dynaop信息
CAESAR
CAESAR是一个新的与Java兼容的AOP语言。所有java程序多能使用CAESAR。 更多CAESAR信息
PROSE
PROSE是一个动态编排(weaving)工具(允许在运行期插入或抽取aspects)。PROSE aspects是规则的Java对象能够被发送到或从网络上的计算机接收。签名可被用于保证它们的完整性。一旦一个aspect插入到JVM中,任何事件的发生将影响在相应aspect advice执行的结果。假如一个aspect从JVM中撤消,aspect代码将被丢弃并且相应的拦截也将不会再发生。PROSE aspects是规则的Java对象能够被发送到或从网络上的计算机接收。签名可被用于保证它们的完整性。一旦一个aspect插入到JVM中,任何事件的发生将影响在相应aspect advice执行的结果。假如一个aspect从JVM中撤消,aspect代码将被丢弃并且相应的拦截也将不会再发生。下图是PROSE的体系结构图: 更多PROSE信息
FastAOP
FastAOP是一个高性能AOP框架。最初开发该框架是为了支持对大型J2EE应用程序进行性能剖析和监测。它几乎不占用运行时间。FastAOP已经在Websphere和Jboss应用服务器上得到成功测试。 更多FastAOP信息
Plastic
Plastic是一个构建在ASM 3.3之上的AOP工具包。支持类的基本加载和实例化。引进新的属性。不需要使用反射就能够访问私有属性和方法。重写属性访问权限。注入属性。Method advice(在调用现在方法之后/之前执行一些逻辑)。 更多Plastic信息
求推荐几个好的java方面开源项目还有基本学习java好用的书
- mvnForum,一个小的开源论坛系统,java开源论坛中做得较好的一个;
- OpenCms ,历史最悠久和使用广泛的 java开源CMS系统的老大;
- OFBiz,java开源的电子商务项目,技术架构和业务架构都很不错,已经是apache的项目了,值得学习;
- 依次学习一下这些系统的设计思想,具体的MVC实现,虽然都有不同,但是具体思想都是相似的。
- 这几个搞定,其他的都会迎刃而解。