盘点java届16大开源项目
旨在为云和数据中心提供企业级开源解决方案厂商OpenLogic,近日推出了针对开源软件的2011趋势报告。该报告将十六大开源项目分成3个重要类别:Web和应用服务器、应用框架、数据库和大数据。该报告的形成,OpenLogic分析了被视作核心基础设施的各种企业级应用——包括目前最为流行的和最具未来前瞻性的开源项目。
分析的目的是为了帮助评估企业所采用的项目是否符合未来趋势。
根据该报告,增长最快的五大开源项目有:HBase——一种建立在Hadoop之上的分布式、面向列数据库系统;Node.js——为编写基于 JavaScript的高扩展性网络应用程序的平台;nginx——高并发性、低内存使用的Web服务器和方向代理;Hadoop——跨计算机集群的大型数据集分布式处理框架;Ruby on Rails——一种高扩展性的Web应用程序框架。
1、HBase
HBase是Hadoop Databa的简称,它是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
2、Node.js
Node.js是专门针对编写高扩展性网络应用而设计的软件系统,尤其是针对Web服务器。通过采用JavaScript编写的程序,使用事件驱动、异步 I/O以最大化减少资源消耗,最大程度提高可扩展性。Node.js包括谷歌的V8 JavaScript引擎和一些内置库。
3、nginx
nginx(同“engine-x”发音)是一个Web服务器和针对HTTP、SMTP、POP3和IMAP协议的方向代理服务器,主要围绕高并发、高性能和低内存占用为特色。其授权类似BSD许可,运行在Unix、Linux和BS平台上。
4、Hadoop
Apache Hadoop是一个支持数据密集型分布式应用的开源软件架构。它可以帮助应用程序轻易处理数千个节点和PB级数据。Hadoop的灵感来自于谷歌 MapReduce和Google File System。Hadoop也是一个由全球贡献者使用Java编写搭建的顶级Apache项目。其中,雅虎是最大的贡献者,并在其业务中广泛使用 Hadoop。
5、Ruby on Rails
Ruby on Rails——很多时候直接简称为Rails或者Ruby——采用Ruby编程语言的开源全栈Web应用程序框架。作为一个完整的协议栈框架内,ROR可以帮助Web开发人员收集Web服务器信息,访问和查询数据库。
因此,Rails拥有一套独立于Web服务器的路由系统。Ruby on Rails与Ruby不可混淆,它是一种基于Ruby on Rails的通用编程语言。在Ruby on Rails首次发布之前,Ruby的存在时间就已经超过了10年。
6、MongoDB
MongoDB是一个开源的、高性能和易部署、易使用的分布式文件存储的数据库。它由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。它具有面向集合(Collection-Oriented)、模式自由(schema-free)的特点,采用BSON(Binary Serialized dOcument Format)存储形式,MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用。
7、Tomcat
Apache Tomcat(或者称为Jakarta Tomcat或者Tomcat),是一个开源Web服务器和Apache 软件基金会开发的核心项目。Tomcat技术先进、性能稳定,而且免费,深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web应用服务器。
8、MySQL
MySQL是一个关系型数据库管理系统,能够为多个用户提供访问多个数据库服务。MySQL开发者Michael Widenius的女儿出生之后,获得了灵感,从而选定了这么一个名字——My。而MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。
9、Apache HTTP Server
Apache HTTP Server,通常是指Apache——在Web发展伊始扮演核心作用的Web服务器软件。在2009年,它成为首个Web服务器软件,超过千万的网站都使用Apache HTTP Server。Apache也是Netscape Web服务器(现在称为甲骨文iPlanet Web Server)首个可行的替代方案,并且已经发展成在功能和性能方面能与其他Web服务器相抗衡。
10、Spring Framework
Spring Framework是一个基于IoC和AOP的构架多层j2ee系统的框架。首个版本由Rod Johnson编写,并在2002年10月他的书籍《Expert One-on-One J2EE Design and Development》中发布了该框架。该框架在2003年6月的时候首次发布,并基于Apache 2.0许可。首个里程碑式的产品发布则在2004年3月的1.0版本。随后在2004年9月和2005年3月也推出了重要更新。Spring Framework的核心功能可以应用在Java应用平台上,还支持在Java EE(Java企业版)平台上搭建Web应用。
11、PostgreSQL
PostgreSQL——通常也指Postgre——是一种对象关系型数据库管理系统。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统, 它提供了多版本并行控制,支持几乎所有SQL 构件(包括子查询,事务和用户定 义类 型和函数), 并且可以获得非常广阔范围的(开发)语言绑定(包括 C,C++,Java,perl,tcl,和 python)。
12、Grails
Grails是一个开源Web应用框架,使用Groovy编程语言(反过来它也是基于Java平台)。它致力于提供高效率的开发环境,而且将众多配置细节面向开发人员进行隐藏。
13、Struts
Apache Struts也是一种开源Web应用框架,不过它主要针对开发Java EE Web应用程序。它使用Java Servlet API接口并予以扩展,鼓励开发人员采用Model-View-Controller(MVC)架构。它首先由Craig McClanahan创建,并在2000年5月份的时候捐献给了Apache Foundation基金会。
14、JBoss
JBoss应用服务器(JBoss AS)是基于Java EE应用的开源服务器。由于它基于Java,JBoss应用服务器可以跨平台运行——任何支持Java的操作系统上都可以运行。JBoss AS由JBoss开发,现在已经成为红帽的一个分支。
15、GlassFish
GlassFish由Sun系统公司开设的一个开源应用服务器项目,也是针对Java EE平台,现在它由Oracle赞助。GlassFish虽然是一个标准的JavaEE服务器,但是它同样具有轻便的Web容器的优点,它和Tomcat 一样是优秀的Servlet容器,同时,它具备延迟加载的功能。
16、CouchDB
CouchDB,也被称为Apache CouchDB,是用Erlang编程语言开发的面向文档的数据库系统。CouchDB可以提供基于Web应用的新一代存储系统,支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句。
分享到:
相关推荐
这里我们关注的是一些开源的Java项目,它们为开发者提供了丰富的功能和学习资源。以下是一些关键项目的介绍: 1. **Druid**: Druid是阿里巴巴开源的一个数据库连接池组件,版本v1.2.15。它提供了强大的监控和扩展...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
**正文** JEECG BOOT 是一个基于Java技术的低代码开发平台,它的核心目标是帮助企业快速构建业务系统,降低开发成本,提升开发效率。...对于Java开发者来说,这是一个值得学习和研究的优秀开源项目。
项目名称:Smart Mall - 基于Python Django的在线商城开源项目 技术栈:主要采用Python编程语言,结合HTML和JavaScript实现前端交互。 项目构成:总计24个文件,具体包括: - Python源文件(.py):16个,涵盖了...
通过分析这个开源项目,我们可以了解到如何利用Java网络编程API来创建一个简单的群聊系统。 首先,我们需要了解UDP(User Datagram Protocol,用户数据报协议)。UDP是一种无连接的、不可靠的传输层协议,它不保证...
以下是五个涵盖 C++, Java, JavaScript 和 Rust 语言的开源游戏项目,它们不仅好玩,还能帮助我们提升编程技能。 1. Wesnoth(韦诺之战) 这是一款基于 C++ 开发的免费开源回合制策略游戏,具有丰富的地图和种族...
【Java项目开源源码.zip】是一个包含Java编程语言开发的软件或插件的开源源代码集合。这个压缩包中的核心内容是一个名为"Java项目开源源码.docx"的文档,很可能是对整个项目的详细说明或者代码解读。由于没有提供...
本项目是一套基于Java、JavaScript和CSS的xxl-job开源项目学习与实践设计源码,共包含285个文件,其中Java源文件132个,PNG图片文件35个,JavaScript文件35个,XML文件16个,CSS文件12个,FTL模板文件11个,属性文件...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
本项目为Java开源项目,采用SpringBoot2.0框架,对Typecho主题pinghsu和Tale进行升级改造。项目包含281个文件,涵盖124个Java源代码文件、40个JPG图片、33个HTML文件、25个JavaScript文件、18个PNG图片、16个CSS文件...
80个JavaWeb项目(包含项目源码) ExtS2.2开源网络硬盘系统dogdisk.rar WAP图铃下载系统unimg.rar 北雨下裁系统v1.0.1 bydown101.rar 仿163网盘无刷新文件上传for Jsp_fileupload _jsp.rar 宏软JSP上传系统v1.0 ...
本项目为基于Java和Vue的简易开源前后端一体化项目源码,共计144个文件,涵盖75个Java源文件、17个Vue组件文件、16个PNG图片资源、12个XML配置文件、6个JavaScript脚本文件、3个Markdown文档、3个JSON数据文件、2个...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
以下是一些可能不为人知的Google开源项目,这些项目不仅展现了Google的技术实力,也为开发者提供了丰富的资源和学习材料。 1. **Google CRUSH**:这是一个专为命令行和shell脚本设计的文本处理工具集,帮助开发者...
采用JAVA JDK17搭配VUE3丶TS的商城系统 采用技术 版本 Java JDK17 Spring Boot 2.7.7 Spring Cloud 2021.0.4 Spring Security OAuth2 2.5.0 Nacos 2.1.0 Spring Cloud Gateway 3.1.4 Sentinel 1.8.5 Dubbo 3.2.4 ...