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是个大家族,博览的同时一定要注重基础的扎实培养,多写代码。


目录
相关文章
|
10天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
30天前
|
安全 Java 程序员
学习Java类加载机制
在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。
18 0
|
10天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
1月前
|
Shell
Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
【2月更文挑战第17天】Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
51 2
|
1月前
|
Java 索引
Java中String方法学习总结_kaic
Java中String方法学习总结_kaic
|
1天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
15 1
|
1天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
14 0
|
2天前
|
消息中间件 存储 Java
深度探索:使用Apache Kafka构建高效Java消息队列处理系统
【4月更文挑战第17天】本文介绍了在Java环境下使用Apache Kafka进行消息队列处理的方法。Kafka是一个分布式流处理平台,采用发布/订阅模型,支持高效的消息生产和消费。文章详细讲解了Kafka的核心概念,包括主题、生产者和消费者,以及消息的存储和消费流程。此外,还展示了Java代码示例,说明如何创建生产者和消费者。最后,讨论了在高并发场景下的优化策略,如分区、消息压缩和批处理。通过理解和应用这些策略,可以构建高性能的消息系统。
|
7天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
10 0
键值之道:深入学习Java中强大的HashMap(二)
|
9天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)

推荐镜像

更多