JAVA深入学习之Apache开源项目

简介: 对于接触JAVA的同学来说可能很难找到一种方式去快速提升自己,本人对JAVA的真正了解也才一年多,今天只想分享一下学习经验。

对于接触JAVA的同学来说可能很难找到一种方式去快速提升自己,本人对JAVA的真正了解也才一年多,今天只想分享一下学习经验。

我列出了以下这些可能对我们有用,或平时能用得上的开源项目:

1,Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,采用纯Java开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。

2,HTTP Server是目前最流行的HTTP服务器软件之一(也就是httpd,感兴趣的可以了解下Nginx)。

3,ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线(不过我个人比较喜欢RabbitMQ,而且性能更好)。

4,Apache Ant的全名是"Another Neat Tool",是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,用于开发 Java 程序。

5,Apache Commons项目专注于开发可重用的Java组件。

6,CouchDB 是一个"面向文档"的数据库(对此感兴趣的可以研究下MongoDB)。

7,Hadoop 是Apache软件基金会所研发的并行运算编程工具和分布式文件系统(大数据存储,数据仓库,数据挖掘)。

8,HttpComponents 就是之前的HttpClient项目,改名字是因为它已经从一个单纯的http客户端组件转变成了客户端服务器通吃的组件。

9,Ibatis 是apache的一个开源项目。使用ibatis 提供的ORM机制,其实就是用个访问数据库的。

10,Apache Lenya 是Java的开源内容管理系统(Content Management System,CMS)。

11,Apache Logging Services项目创建并维护着与免费对大众发布的日志应用有关的开源软件。

12,Lucene 是一个高性能的基于 Java 的全文索引/检索引擎(我初学JAVA时就选的这个,还买了本in action)。

13,Maven 是一个基于 Java 的项目管理工具,非常好用,本身也是JAVA写的,可以试着自己建个私服(我是这么做过)。

14,MINA (Multipurpose Infrastructure for Network Applications) 是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序(如果对JAVA网络编程感兴趣的可以研究下Netty4/5)。

15,Apache POI是Apache软件基金会的开放源码函数库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能(导入、导出数据用,很常用)。

16,Portal 是基于WEB的应用程序,它将不同资源进行整合并展现给用户,提供包括内容聚合、单点登陆、个性化制定和安全管理等服务的基础Web平台。

17,Roller 是一个全功能的多用户博客平台(还没来得及研究)。

18,Shiro(权限管理框架)

19,SpamAssassin 是目前最好的、最流行的开源反垃圾邮件软件之一。

20,Subversion(svn团队开发利器)

21,Apache Synapse是一个易于使用、轻量级的XML与Web Services管理和集成中间件,可用于搭建SOA和ESB的基础平台。

22,Tomcat 是一款开源的Serlvet容器(我会下源码然后Debug,它是个ANT工程,另外可能还要小改下代码,引用了四个jar包,如下图)。


23,ZooKeeper 树形存储数据库(我是这么认为的),但它有个重要的角色,就是注册中心。


当然,Apache中的项目还不止这些,还有spring也有一些项目,大家都可以主动地去了解下,说不定哪天的项目中就用到了其中的一个或几个。

JAVA是个大家族,博览的同时一定要注重基础的扎实培养,多写代码。


目录
相关文章
|
3天前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
20 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
1月前
|
IDE Java 开发工具
Java系统中的错误码设计问题之为Java项目中的错误消息提供国际化支持如何解决
Java系统中的错误码设计问题之为Java项目中的错误消息提供国际化支持如何解决
34 0
|
1月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
4天前
|
IDE Java 分布式数据库
Apache HBase 落地JAVA 实战
Apache HBase 落地 Java 实战主要涉及使用 Java API 来操作 HBase 数据库,包括表的创建、删除、数据的插入、查询等操作。以下是一个基于 Java 的 HBase 实战指南,包括关键步骤和示例代码。
45 23
|
11天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
39 18
|
25天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
101 6
【Java学习】多线程&JUC万字超详解
|
3天前
|
算法 Java
Java项目不使用框架如何实现限流?
Java项目不使用框架如何实现限流?
14 2
|
1月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
40 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
1天前
|
Apache
多应用模式下,忽略项目的入口文件,重写Apache规则
本文介绍了在多应用模式下,如何通过编辑Apache的.htaccess文件来重写URL规则,从而实现忽略项目入口文件index.php进行访问的方法。
|
1月前
|
消息中间件 Java Kafka
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)

推荐镜像

更多