Ⅰ 我想用协同过滤的算法写了一个java语言的图书推荐系统.能跟我讲一下大概要怎么做吗.有点没头绪
针对完全没有编程经验的初学者,java入门没什么特别好的书,找点视频看看吧,跟着视频敲代码,慢慢就能看懂书了。
----------------------如果坚持要看书的话可以考虑以下----------------------
1. head first java
通俗易懂,重点突出的书,比较薄,适合初学者快速入门,缺点是编辑自以为幽默的加了很多不相干的段子在里面,废话太多。
2. Java A beginner's guide by Herbert Schildt
相比head first java,没有废话,语言精炼。
3. 官方的tutorial
免费的,在线阅读的,也不错。
4. 疯狂java讲义
如果英文不够好的话,可以考虑用这本书入门,中文世界里写的比较好的
5. Introction to java programming by Y. Daniel Liang
梁勇这本书比较厚,讲算法比较多,如果你时间充足的话可以用这本书入门。
----------------------!!一定要避开这两个大坑!!----------------------
很多人推荐的core java 和 Thinking in java 其实并不适合初学者(没有编程经验的)。
1. core java内容太多太杂,没有突出重点,并且结构组织的像本字典,适合入门了以后用来系统复习。
2. Thinking in java 没有编程经验根本看不懂,过几年再看吧,不看也没关系。
Ⅱ 猜你喜欢怎么做javaweb
基于用户的协同过滤算法,或者基于商品的协同过滤算法,简单来说就是需要用大数据如hadoop,当然也可以自己写推荐算法。
Ⅲ Java开发想尝试大数据和数据挖掘,如何规划学习
必须技能10条:
01.Linux 基本操作
02.python&爬虫介绍
03.hadoop分布式集中
04.离线数据处理
05.实时数专据处理
06.ETL与环境相关
07.大数据应用属与数据挖掘
08.java高级(虚拟机、并发)
09..HBase(JavaAPI操作+Phoenix )
10. Kafka
11. Spark (Core+sparksql+Spark streaming )
Ⅳ Python实现协同过滤推荐算法,用的大一些的数据集就报错MemoryError
1.
python虽然易用,复但是内制存占用比较多;所以如果你有C/C++/Java基础,考虑用这些语言来实现;
2.
CF算法需要计算大量的相似度,如果能把中间结果存起来,或者简化计算过程(如,你可能会重复计算一个item的均值)可以省下不少内存;(个人试过计算1w个用户Pearson是没问题的)
3.
如果内存实在不够用,那就用时间换空间,把中间计算结果分成小文件存到磁盘上,用的时候再读取。
供参考。
Ⅳ 谁有基于用户的协同过滤 java代码吗谢谢
下载mahout源码,里面好像有协同过滤算法
Ⅵ java,我有一个数据库表userid,bookid,score,用这个表用协同过滤算法找到爱好相似的用户
//皮尔逊相关系数分析
//介于-1到1之间。相关系数越接近与1,说明两个人越相似。
//你先参考下这个虽然里面只有Python的代码:
//我用java去做一下试试
importjava.util.*;
publicclassTest{
publicstaticvoidmain(String[]args){
Map<String,HashMap<String,Double>>cri=newHashMap<String,HashMap<String,Double>>();
//模拟数据库中的数据,实际运用时请灵活变动
getData(cri);
System.out.println(cri.get("Gene").get("LadyintheWater"));
//获得评价值
System.out.println(getSim(cri,"Gene","Lisa"));
}
//模拟数据库中的数据
publicstaticvoidgetData(Map<String,HashMap<String,Double>>cri){
HashMap<String,Double>temp=newHashMap<String,Double>();
temp.put("LadyintheWater",2.5);
temp.put("SnakesonaPlane",3.5);
temp.put("JustMyLuck",3.0);
temp.put("SupermanReturns",3.5);
temp.put("You,MeandDupree",2.5);
temp.put("TheNightListener",3.0);
cri.put("Lisa",temp);
HashMap<String,Double>temp1=newHashMap<String,Double>();
temp1.put("LadyintheWater",3.0);
temp1.put("SnakesonaPlane",3.5);
temp1.put("JustMyLuck",1.5);
temp1.put("SupermanReturns",5.0);
temp1.put("You,MeandDupree",3.5);
temp1.put("TheNightListener",3.0);
cri.put("Gene",temp1);
}
publicstaticdoublegetSim(Map<String,HashMap<String,Double>>cri,Stringp1,Stringp2){
HashMap<String,Double>p1m=cri.get(p1);
HashMap<String,Double>p2m=cri.get(p2);
List<String>simBook=newArrayList<String>();
for(Map.Entry<String,Double>entry:p1m.entrySet()){
if(p2m.containsKey(entry.getKey())){
simBook.add(entry.getKey());
}
}
//判断相同元素的个数
if(simBook.size()==0){
return1;
}
//对所有偏好求和
doublesum1=0d,sum2=0d;
//求平方和
doublesum1Sq=0d,sum2Sq=0d;
//求乘积和
doublepSum=0d;
for(Strings:simBook){
sum1+=p1m.get(s);
sum2+=p2m.get(s);
sum1Sq+=Math.pow(p1m.get(s),2);
sum2Sq+=Math.pow(p2m.get(s),2);
pSum+=p1m.get(s)*p2m.get(s);
}
//计算皮尔逊评价值
doublenum=pSum-(sum1*sum2/simBook.size());
doubleden=Math.sqrt((sum1Sq-Math.pow(sum1,2)/simBook.size())*(sum2Sq-Math.pow(sum2,2)/simBook.size()));
if(den==0){
return0;
}
returnnum/den;
}
}
Ⅶ 协同过滤java用什么实现
众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法;例如,我们要将数据库(不论是什么数据库)的数据导出到一个文件,一般是Excel或文本格式的CSV;对于Excel来讲,对于POI和JXL的接口,你很多时候没有法去控制内存什么时候向磁盘写入,很恶心,而且这些API在内存构造的对象大小将比数据原有的大小要大很多倍数,所以你不得不去拆分Excel,还好,POI开始意识到这个问题,在3.8.4的版本后,开始提供cache的行数,提供了SXSSFWorkbook的接口,可以设置在内存中的行数,不过可惜的是,他当你超过这个行数,每添加一行,它就将相对行数前面的一行写入磁盘(如你设置2000行的话,当你写第20001行的时候,他会将第一行写入磁盘),其实这个时候他些的临时文件,以至于不消耗内存,不过这样你会发现,刷磁盘的频率会非常高,我们的确不想这样,因为我们想让他达到一个范围一次性将数据刷如磁盘,比如一次刷1M之类的做法,可惜现在还没有这种API,很痛苦,我自己做过测试,通过写小的Excel比使用目前提供刷磁盘的API来写大文件,效率要高一些,而且这样如果访问的人稍微多一些磁盘IO可能会扛不住,因为IO资源是非常有限的,所以还是拆文件才是上策;而当我们写CSV,也就是文本类型的文件,我们很多时候是可以自己控制的,不过你不要用CSV自己提供的API,也是不太可控的,CSV本身就是文本文件,你按照文本格式写入即可被CSV识别出来;如何写入呢?下面来说说。。。在处理数据层面,如从数据库中读取数据,生成本地文件,写代码为了方便,我们未必要1M怎么来处理,这个交给底层的驱动程序去拆分,对于我们的程序来讲我们认为它是连续写即可;我们比如想将一个1000W数据的数据库表,导出到文件;此时,你要么进行分页,oracle当然用三层包装即可,mysql用limit,不过分页每次都会新的查询,而且随着翻页,会越来越慢,其实我们想拿到一个句柄,然后向下游动,编译一部分数据(如10000行)将写文件一次(写文件细节不多说了,这个是最基本的),需要注意的时候每次buffer的数据,在用outputstream写入的时候,最好flush一下,将缓冲区清空下;接下来,执行一个没有where条件的SQL,会不会将内存撑爆?是的,这个问题我们值得去思考下,通过API发现可以对SQL进行一些操作,例如,通过:PreparedStatementstatement=connection.prepareStatement(sql),这是默认得到的预编译,还可以通过设置:PreparedStatementstatement=connection.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);来设置游标的方式,以至于游标不是将数据直接cache到本地内存,然后通过设置statement.setFetchSize(200);设置游标每次遍历的大小;OK,这个其实我用过,oracle用了和没用没区别,因为oracle的jdbcAPI默认就是不会将数据cache到java的内存中的,而mysql里头设置根本无效,我上面说了一堆废话,呵呵,我只是想说,java提供的标准API也未必有效,很多时候要看厂商的实现机制,还有这个设置是很多网上说有效的,但是这纯属抄袭;对于oracle上面说了不用关心,他本身就不是cache到内存,所以java内存不会导致什么问题,如果是mysql,首先必须使用5以上的版本,然后在连接参数上加上useCursorFetch=true这个参数,至于游标大小可以通过连接参数上加上:defaultFetchSize=1000来设置,例如:jdbc:mysql://xxx.xxx.xxx.xxx:3306/abc?zeroDateTimeconvertToNull&useCursorFetch=true&defaultFetchSize=1000上次被这个问题纠结了很久(mysql的数据老导致程序内存膨胀,并行2个直接系统就宕了),还去看了很多源码才发现奇迹竟然在这里,最后经过mysql文档的确认,然后进行测试,并行多个,而且数据量都是500W以上的,都不会导致内存膨胀,GC一切正常,这个问题终于完结了。我们再聊聊其他的,数据拆分和合并,当数据文件多的时候我们想合并,当文件太大想要拆分,合并和拆分的过程也会遇到类似的问题,还好,这个在我们可控制的范围内,如果文件中的数据最终是可以组织的,那么在拆分和合并的时候,此时就不要按照数据逻辑行数来做了,因为行数最终你需要解释数据本身来判定,但是只是做拆分是没有必要的,你需要的是做二进制处理,在这个二进制处理过程,你要注意了,和平时read文件不要使用一样的方式,平时大多对一个文件读取只是用一次read操作,如果对于大文件内存肯定直接挂掉了,不用多说,你此时因该每次读取一个可控范围的数据,read方法提供了重载的offset和length的范围,这个在循环过程中自己可以计算出来,写入大文件和上面一样,不要读取到一定程序就要通过写入流flush到磁盘;其实对于小数据量的处理在现代的NIO技术的中也有用到,例如多个终端同时请求一个大文件下载,例如视频下载吧,在常规的情况下,如果用java的容器来处理,一般会发生两种情况:其一为内存溢出,因为每个请求都要加载一个文件大小的内存甚至于,因为java包装的时候会产生很多其他的内存开销,如果使用二进制会产生得少一些,而且在经过输入输出流的过程中还会经历几次内存拷贝,当然如果有你类似nginx之类的中间件,那么你可以通过send_file模式发送出去,但是如果你要用程序来处理的时候,内存除非你足够大,但是java内存再大也会有GC的时候,如果你内存真的很大,GC的时候死定了,当然这个地方也可以考虑自己通过直接内存的调用和释放来实现,不过要求剩余的物理内存也足够大才行,那么足够大是多大呢?这个不好说,要看文件本身的大小和访问的频率;其二为假如内存足够大,无限制大,那么此时的限制就是线程,传统的IO模型是线程是一个请求一个线程,这个线程从主线程从线程池中分配后,就开始工作,经过你的Context包装、Filter、拦截器、业务代码各个层次和业务逻辑、访问数据库、访问文件、渲染结果等等,其实整个过程线程都是被挂住的,所以这部分资源非常有限,而且如果是大文件操作是属于IO密集型的操作,大量的CPU时间是空余的,方法最直接当然是增加线程数来控制,当然内存足够大也有足够的空间来申请线程池,不过一般来讲一个进程的线程池一般会受到限制也不建议太多的,而在有限的系统资源下,要提高性能,我们开始有了newIO技术,也就是NIO技术,新版的里面又有了AIO技术,NIO只能算是异步IO,但是在中间读写过程仍然是阻塞的(也就是在真正的读写过程,但是不会去关心中途的响应),还未做到真正的异步IO,在监听connect的时候他是不需要很多线程参与的,有单独的线程去处理,连接也又传统的socket变成了selector,对于不需要进行数据处理的是无需分配线程处理的;而AIO通过了一种所谓的回调注册来完成,当然还需要OS的支持,当会掉的时候会去分配线程,目前还不是很成熟,性能最多和NIO吃平,不过随着技术发展,AIO必然会超越NIO,目前谷歌V8虚拟机引擎所驱动的node.js就是类似的模式,有关这种技术不是本文的说明重点;将上面两者结合起来就是要解决大文件,还要并行度,最土的方法是将文件每次请求的大小降低到一定程度,如8K(这个大小是经过测试后网络传输较为适宜的大小,本地读取文件并不需要这么小),如果再做深入一些,可以做一定程度的cache,将多个请求的一样的文件,cache在内存或分布式缓存中,你不用将整个文件cache在内存中,将近期使用的cache几秒左右即可,或你可以采用一些热点的算法来配合;类似迅雷下载的断点传送中(不过迅雷的网络协议不太一样),它在处理下载数据的时候未必是连续的,只要最终能合并即可,在服务器端可以反过来,谁正好需要这块的数据,就给它就可以;才用NIO后,可以支持很大的连接和并发,本地通过NIO做socket连接测试,100个终端同时请求一个线程的服务器,正常的WEB应用是第一个文件没有发送完成,第二个请求要么等待,要么超时,要么直接拒绝得不到连接,改成NIO后此时100个请求都能连接上服务器端,服务端只需要1个线程来处理数据就可以,将很多数据传递给这些连接请求资源,每次读取一部分数据传递出去,不过可以计算的是,在总体长连接传输过程中总体效率并不会提升,只是相对相应和所开销的内存得到量化控制,这就是技术的魅力,也许不要太多的算法,不过你得懂他。类似的数据处理还有很多,有些时候还会将就效率问题,比如在HBase的文件拆分和合并过程中,要不影响线上业务是比较难的事情,很多问题值得我们去研究场景,因为不同的场景有不同的方法去解决,但是大同小异,明白思想和方法,明白内存和体系架构,明白你所面临的是沈阳的场景,只是细节上改变可以带来惊人的效果。
Ⅷ Spark 推荐算法-协同过滤-java的语句意思
协同过滤(Collaborative Filtering)的基本概念就是把这种方式变成自动化的流程
协同过滤主要是以属版性或兴趣相近权的用户经验与建议作为提供个性化的基础。透过协同过滤,有助于搜集具有类似偏好或属性的用户,并将其意见提供给同一集群中的用户作为参考,以满足人们通常在决策之前参考他人意见的心态。
本人认为,协同过滤技术应包括如下几方面:(1)一种比对和搜集每个用户兴趣偏好的过程;(2)它需要许多用户的信息去预测个人的兴趣偏好;(3)通过对用户之间兴趣偏好相关程度的统计去发展建议那些有相同兴趣偏好的用户。
Ⅸ Java毕业设计哪个好做
毕业季马上到来,我相信很多人都已经在筹备毕业设计选题了,肯定有很多迷茫和不懂的学生,其实毕业设计并没有大家想的那么难,只要找对方法,方式,您可以很顺利的完成的自己的毕业设计作品,
1:先结合自身所学知识进行选取毕设方向,(例如:软件工程,网络技术,)
2:假设选定软件工程:那么包含了很多的开发语言。例如:Java php asp python 安卓,小程序等
3:选定开发语言后需要选定数据库软件:例如mysql sqlserver 选题有很多:
以下为JavaWeb方面的例子(更多题目请参考 https://java.xyz ,下面介绍的项目都可以在这里找到源码)
----jd----
1-CRM客户关系管理系统-ssh
2-户籍管理系统-jsp
3-Java聊天室的设计与实现-swing
4-进销存管理系统的设计与实现-springboot
5-超市积分管理系统-jsp
6-基于JSP的网上购书系统-ssh
7-基于SSH的婴幼儿产品销售系统的开发与设计
8-基于WEB的网上购物系统的设计与实现-ssh源码
9-网上手机销售系统-jsp
10-Java网上体育商城的设计与实现-ssh
11-基于JSP+Servlet开发高校社团管理系统
12-Java在线考试系统-ssh
13-java开发电影订票网站系统-ssh14-JavaWeb校园二手平台项目+论文-ssh
15-百货中心供应链管理系统+论文-ssh
16-固定资产管理系统+论文-ssh
17-网络考试系统的设计与实现+论文-jsp
18-基于JSP+Servlet开发简单的新闻发布系统
19-基于JSP+Servlet开发在线租车系统
20-基于JSP+Servlet开发火车票网上订票系统
21-基于JSP+Servlet开发简单的医院预约挂号系统
22-基于SSM开发在线考试系统
23-基于Struts2开发公司职工管理系统+说明书+任务书+方案书
24-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文
25-基于Struts2+Hibernate开发小区物业管理系统
26-基于S2SH开发学生考勤管理系统+报告
27-基于S2SH开发车辆租赁管理系统的设计与实现+论文
28- 基于S2SH开发银行个人业务管理系统
29-基于JavaSwing开发简单的银行管理系统
30-基于JavaSwing开发银行信用卡管理系统
31-基于JSP+Servlet开发简单的家居购物商城系统
32-基于JSP+Servlet开发手机销售购物商城系统
33-基于JSP+Servlet开发物流管理系统
34-基于JSP机票预定系统
35-基于S2SH开发病房管理系统的设计与实现
36-基于S2SH开发就业招聘管理系统
37-基于S2SH开发图书管理系统(新本版)+论文
38-基于S2SH开发学生公寓(宿舍)管理系统
39-基于SSM开发大学食堂采购管理系统
40-基于SSM开发学生信息管理系统
41-基于SSM开发在线家教预约系统
42-基于SSM开发自行车在线租赁管理系统
43-基于Struts2+Hibernate开发社区蔬菜、食品交易平台+论文
44-基于Struts2开发快递收发系统
45-基于Struts2开发校园二手购物商城
46-基于Struts2开发学生信息管理系统
47-基于Struts2开发学生宿舍管理系统
48-基于JSP+Servlet+bootstrap开发电影院购票系统
49-基于JSP+Servlet开发学生成绩管理系统+实验报告
50-基于JSP+Servlet开发超市日常管理系统
51-基于JSP+Servlet开发开放实验室预约系统+论文
52-基于JSP+Servlet开发网上服装销售购物商城系统+论文+PPT+任务书+检查表
53-基于JSP+Servlet开发旅游(景点宾馆)系统
54-基于JSP+Servlet开发图书管理系统+PPT+讲解视频
55-基于JSP+Servlet开发学生选课系统+论文
56-基于JSP开发云餐厅自助点餐系统(前台+后台) 讲解视频
57-基于JSP+Servlet开发药品管理系统
58-基于JSP+Servlet开发快递管理系统+UML图
59-基于JSP+Servlet开发小型酒店管理系统的设计与实现
60-基于JSP+Servlet开发在线聊天系统+论文+PPT
61-基于JSP+Servlet开发教师工资管理系统
62-基于JSP+Servlet开发汽车配件销售管理系统的设计与实现+论文
63-基于SSM开发仓库库存管理系统
64-基于SSM开发学生请假管理系统
65-基于S2SH开发彩票购买系统的设计与实现毕业设计+论文
66-基于SSM开发餐饮业点餐系统
67-基于SSM开发学生信息管理系统
68-基于SSM开发校园外卖零食购物商城系统
69-基于S2SH开发医院挂号预约系统
70-基于S2SH开发企业人事管理系统(新本版)
71-基于S2SH开发学生公寓(宿舍)管理系统
72-基于S2SH开发网上书店购物商城系统
73-基于S2SH开发学生宿舍管理系统
74-基于S2SH开发校园失物招领网+论文
75-基于S2SH开发教师科研项目管理系统
76-基于SpringMVC+Hibernate开发库存(仓库)管理系统
77-基于S2SH开发都匀房屋租售(租赁)系统+论文
78-基于SSH开发学生宿舍(公寓)管理系统+论文
79-基于SSM开发教务查询管理系统
80-基于SSM开发药店(药品)管理系统
81-基于S2SH开发宠物之家在线宠物购买系统(前台+后台)+论文
82-基于SSM开发行政服务管理系统
83-基于S2SH开发网上预约预约挂号系统
84-基于SSM开发高校共享单车管理系统
85-基于S2SH开发网上蛋糕店(甜品)购物商城系统
86-基于S2SH开发在线聊天系统(群聊)
87-基于SSM开发在线学习网站(前台+后台)
88-基于SSM开发网上书店商城购物系统
89-基于S2SH开发在线学堂系统(课程学习网站 前台+后台)
90-基于Struts开发在线音乐播放网站
91-基于S2SH开发图书管理系统
92-基于S2SH开发酒店点餐管理系统+论文
93-基于S2SH开发人力资源管理系统
94-基于S2SH开发房屋租赁管理系统
95-基于S2SH开发酒店管理系统+论文
96-基于S2SH开发网上鲜花(花店)商城的设计与实现+论文
97-基于S2SH开发医院信息管理系统
98-基于SSH开发高校选课系统的设计与实现+论文
99-基于SSH网上招聘系统+论文+任务书+PPT
100-基于JSP+Servlet开发收费停车场管理系统+论文101-javaweb垃圾分类查询系统源码 ssm+mysql
102-基于SSM开发医药管理系统
103-基于S2SH开发房地产管理系统
104-基于S2SH开发化妆品销售系统(购物商城 前台+后台)
105-基于SSM开发校园外卖零食购物商城系统(前台+后台)
106-基于S2SH开发中小学在线教育系统(前台+后台)107-基于JSP+Servlet开发失物招领系统
108-基于JSP+Servlet开发球队活动管理系统
109-基于JSP+Servlet开发公交在线查询
110-基于JSP开发Java在线学习平台
111-基于Struts2开发宠物领养系统的设计与实现+论文
112-基于Struts+Hibernate开发水果4S店营销(购物商场)管理系统的设计与实现+论文
113-基于S2SH开发农产品网上销售系统(购物商城 前台+后台)
114-jsp考勤管理系统-ic
115-jsp失物招领系统-ic
116-ssm毕业设计管理系统-ic
117-基于JSP的美食网站食谱网站、javaweb源码-cs
118-基于JSP的旅游信息发布网站、jsp+servlet+mysql+论文-cs
119-基于JSP的小说网站-cs
120-基于SSH的航空订票系统-cs
122-基于springboot的企业资产管理系统源码-cs
123-SSM实现类似京东的3C电子商城系统-cs
124-SSM实现复杂权限控制的教务管理,教务评教系统-cs
125-JavaWeb开发ssm在线考试系统-cs
126-基于SpringBoot的博客系统-cs
127-基于SSM的校园二手交易平台-cs
128-JSP高校社团管理系统
源码及原文链接:https://java.xyz/forum.php?mod=viewthread&tid=17
A-JSP项目
相册管理系统
JSP九宫格日记本
鞋子商城销售网站
图书商城项目管理系统
JSP小说网
美食菜谱分享系统
酒店预定管理系统
学校宿舍管理系统
航班机票订票网站
个人日记本
会员卡积分管理系统
宠物商城
企业财务管理系统
校园任务管理系统
校园一卡通管理系统
停车位预定管理系统
学生考勤管理系统
游戏购买网站
蛋糕甜品店管理系统
简单院校工资管理系统
校园运动会管理系统
师生交流学习管理系统
新闻发布管理系统
家政服务管理系统
图书借阅管理系统
私人牙科诊所病历管理系统
教师科研信息管理系统
宿舍寝室管理系统
在线医疗预约挂号管理系统
员工出差请假考勤管理系统
航班机票销售管理系统
失物招领管理系统
校友同学网站管理系统
物流公司企业管理系统
会议-会议室管理系统
学生社团管理系统
校园二手物品交易兼社交网站
图书销售管理系统
个人博客
鲜花销售商城管理系统
教务教学兼学生成绩管理系统
学生信息管理系统
学生成绩管理系统
人事管理系统
图书管理系统
论坛的实现
学生选课信息管理系统
网络教学平台
学生管理系统
学生成绩分析管理系统
图书借阅管理系统
在线考试系统
音乐管理系统
B-SSM项目
SSM个人记账本
垃圾分类查询管理系统
新闻发布管理系统
房屋出租管理系统
简单教务查询管理系统
快递物流管理系统
学生管理系统
企业工资管理系统
电子书网站管理系统
电影售票管理系统
酒店预定管理系统
酒店后台管理系统
学生选课管理系统
在线考试管理系统
停车场管理系统
汽车出租管理系统
校园帮跑腿管理平台
简单个人相册管理系统
客户关系管理系统
网上超市购物商城管理系统
健身房管理系统
简单网页聊天管理系统
在线视频教育网站
企业官方网站
新闻网站管理系统
个人博客管理系统
个人博客网站管理系统
毕业设计管理系统
餐厅点餐收银管理系统
房屋租赁管理系统
医药信息管理系统
协同过滤音乐推荐管理系统
农产品朔源管理系统
人力资源人事管理系统
健身房俱乐部管理系统
学生会管理系统
台球室计费管理系统
的KTV管理系统
驾校预约管理系统
医院挂号预约管理系统
汽车俱乐部管理系统
汽车维修中心管理系统
简单院校教师工资管理系统
网上零食超市商城
毕业设计选题管理系统
宿舍寝室管理系统
家庭理财记账管理系统
物流快递管理系统
宠物商城带后台管理系统
学生成绩信息管理系统
实验室设备管理
医院住院管理系统
网上外卖订餐管理系统
失物招领管理系统
C-SSH项目
SSH图书管理系统
SSH招聘网站
宠物交易管理系统
物业管理系统
失物招领管理系统
通讯录网站管理系统
物流快递管理系统
失物招领管理系统
教学辅助视频学习交流管理系统
简单学生信息管理系统
毕业生去向登记就业管理系统
生态旅游旅行网站
通讯录管理系统
房屋线下销售网站管理系统
小区物业管理系统
宠物领养饲养交流管理平台
网上问卷调查投票网站系统
网上拍卖管理系统
仓库管理系统
汽车票销售管理系统
火车票售票管理系统
房屋租赁管理系统
实验室预约管理系统
校友同学网站
校园运动会管理系统
网上银行管理系统
会议室管理系统
企业人力资源管理系统
新闻管理发布网站系统
酒店管理系统
电影订票管理系统
小区/公司/物业停车场管理系统
学生宿舍管理系统
企业进销存管理系统
的摄影网站
招聘网站,包含设计文稿
D-SpringBoot项目
SpringBoot招聘网站项目
企业固定资产管理系统
美容院预约管理系统
婚纱影楼摄影预约网站
美容院后台管理系统
线上网络文件管理系统
博客论坛管理系统
实现的一个简单博客管理系统
图书馆图书借阅管理系统
课程评分评价管理系统
校园报修管理
图书管理系统
在线电子商城管理系统
汽车配件管理系统
Ⅹ GitHub上面有哪些经典的java框架源码
Bazel:来自的构建工具,可以快速、可靠地构建代码。官网
Gradle:使用Groovy(非XML)进行增量构建,可以很好地与Maven依赖管理配合工作。官网
Buck:Facebook构建工具。官网
字节码操作
编程方式操作字节码的开发库。
ASM:通用底层字节码操作和分析开发库。官网
Byte Buddy:使用流式API进一步简化字节码生成。官网
Byteman:在运行时通过DSL(规则)操作字节码进行测试和故障排除。官网
Javassist:一个简化字节码编辑尝试。官网
集群管理
在集群内动态管理应用程序的框架。
Apache Aurora:Apache Aurora是一个Mesos框架,用于长时间运行服务和定时任务(cron job)。官网
Singularity:Singularity是一个Mesos框架,方便部署和操作。它支持Web Service、后台运行、调度作业和一次性任务。官网
代码分析
测量代码指标和质量工具。
Checkstyle:代码编写规范和标准静态分析工具。官网
Error Prone:将常见编程错误作为运行时错误报告。官网
FindBugs:通过字节码静态分析查找隐藏bug。官网
jQAssistant:使用基于Neo4J查询语言进行代码静态分析。官网
PMD:对源代码分析查找不良的编程习惯。官网
SonarQube:通过插件集成其它分析组件,对过去一段时间内的数据进行统计。官网
编译器生成工具
用来创建解析器、解释器或编译器的框架。
ANTLR:复杂的全功能自顶向下解析框架。官网
JavaCC:JavaCC是更加专门的轻量级工具,易于上手且支持语法超前预测。官网
外部配置工具
支持外部配置的开发库。
config:针对JVM语言的配置库。官网
owner:减少冗余配置属性。官网
约束满足问题求解程序
帮助解决约束满足问题的开发库。
Choco:可直接使用的约束满足问题求解程序,使用了约束规划技术。官网
JaCoP:为FlatZinc语言提供了一个接口,可以执行MiniZinc模型。官网
OptaPlanner:企业规划与资源调度优化求解程序。官网
Sat4J:逻辑代数与优化问题最先进的求解程序。官网
持续集成
Bamboo:Atlassian解决方案,可以很好地集成Atlassian的其他产品。可以选择开源许可,也可以购买商业版。官网
CircleCI:提供托管服务,可以免费试用。官网
Codeship:提供托管服务,提供有限的免费模式。官网
fabric8:容器集成平台。官网
Go:ThoughtWork开源解决方案。官网
Jenkins:支持基于服务器的部署服务。官网
TeamCity:JetBrain的持续集成解决方案,有免费版。官网
Travis:通常用作开源项目的托管服务。官网
Buildkite: 持续集成工具,用简单的脚本就能设置pipeline,而且能快速构建,可以免费试用。官网
CSV解析
简化CSV数据读写的框架与开发库
uniVocity-parsers:速度最快功能最全的CSV开发库之一,同时支持TSV与固定宽度记录的读写。官网
数据库
简化数据库交互的相关工具。
Apache Phoenix:HBase针对低延时应用程序的高性能关系数据库层。官网
Crate:实现了数据同步、分片、缩放、复制的分布式数据存储。除此之外还可以使用基于SQL的语法跨集群查询。官网
Flyway:简单的数据库迁移工具。官网
H2:小型SQL数据库,以可以作为内存数据库使用著称。官网
HikariCP:高性能JDBC连接工具。官网
JDBI:便捷的JDBC抽象。官网
Protobuf:Google数据交换格式。官网
SBE:简单二进制编码,是最快速的消息格式之一。官网
Wire:整洁轻量级协议缓存。官网
帮实现依赖翻转范式的开发库。官网
Apache DeltaSpike:CDI扩展框架。官网
Dagger2:编译时注入框架,不需要使用反射。官网
Guice:可以匹敌Dagger的轻量级注入框架。官网
HK2:轻量级动态依赖注入框架。官网
开发流程增强工具
从最基本的层面增强开发流程。
ADT4J:针对代数数据类型的JSR-269代码生成器。官网
AspectJ:面向切面编程(AOP)的无缝扩展。官网
Auto:源代码生成器集合。官网
DCEVM:通过修改JVM在运行时支持对已加载的类进行无限次重定义。官网
HotswapAgent:支持无限次重定义运行时类与资源。官网
Immutables:类似Scala的条件类。官网
JHipster:基于Spring Boot与AngularJS应用程序的Yeoman源代码生成器。官网
JRebel:无需重新部署,可以即时重新加载代码与配置的商业软件。官网
Lombok:减少冗余的代码生成器。官网
Spring Loaded:类重载代理。官网
vert.x:多语言事件驱动应用框架。官网
分布式应用
用来编写分布式容错应用的开发库和框架。
Akka:用来编写分布式容错并发事件驱动应用程序的工具和运行时。官网
Apache Storm:实时计算系统。官网
Apache ZooKeeper:针对大型分布式系统的协调服务,支持分布式配置、同步和名称注册。官网
Hazelcast:高可扩展内存数据网格。官网
Hystrix:提供延迟和容错。官网
JGroups:提供可靠的消息传递和集群创建的工具。官网
Orbit:支持虚拟角色(Actor),在传统角色的基础上增加了另外一层抽象。官网
Quasar:为JVM提供轻量级线程和角色。官网
分布式数据库
对应用程序而言,在分布式系统中的数据库看起来就像是只有一个数据源。
Apache Cassandra:列式数据库,可用性高且没有单点故障。官网
Apache HBase:针对大数据的Hadoop数据库。官网
Druid:实时和历史OLAP数据存储,在聚集查询和近似查询方面表现不俗。官网
Infinispan:针对缓存的高并发键值对数据存储。官网
发布
以本机格式发布应用程序的工具。
Bintray:发布二进制文件版本控制工具。可以于Maven或Gradle一起配合使用。提供开源免费版本和几种商业收费版本。官网
Central Repository:最大的二进制组件仓库,面向开源社区提供免费服务。Apache Maven默认使用Central官网Repository,也可以在所有其他构建工具中使用。
IzPack:为跨平台部署建立创作工具(Authoring Tool)。官网
JitPack:打包GitHub仓库的便捷工具。可根据需要构建Maven、Gradle项目,发布可立即使用的组件。官网
Launch4j:将JAR包装为轻量级本机Windows可执行程序。官网
Nexus:支持代理和缓存功能的二进制管理工具。官网
packr:将JAR、资源和JVM打包成Windows、Linux和Mac OS X本地发布文件。官网
文档处理工具
处理Office文档的开发库。
Apache POI:支持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。官网
documents4j:使用第三方转换器进行文档格式转换,转成类似MS Word这样的格式。官网
jOpenDocument:处理OpenDocument格式(由Sun公司提出基于XML的文档格式)。官网
函数式编程
函数式编程支持库。
Cyclops:支持一元(Monad)操作和流操作工具类、comprehension(List语法)、模式匹配、trampoline等特性。官网
Fugue:Guava的函数式编程扩展。官网
Functional Java:实现了多种基础和高级编程抽象,用来辅助面向组合开发(composition-oriented development)。官网
Javaslang:一个函数式组件库,提供持久化数据类型和函数式控制结构。官网
jOOλ:旨在填补Java 8 lambda差距的扩展,提供了众多缺失的类型和一组丰富的顺序流API。官网
游戏开发
游戏开发框架。
jMonkeyEngine:现代3D游戏开发引擎。官网
libGDX:全面的跨平台高级框架。官网
LWJGL:对OpenGL/CL/AL等技术进行抽象的健壮框架。官网
GUI
现代图形化用户界面开发库。
JavaFX:Swing的后继者。官网
Scene Builder:开发JavaFX应用的可视化布局工具。官网
高性能计算
涵盖了从集合到特定开发库的高性能计算相关工具。
Agrona:高性能应用中常见的数据结构和工具方法。官网
Disruptor:线程间消息传递开发库。官网
fastutil:快速紧凑的特定类型集合(Collection)。官网
GS Collections:受Smalltalk启发的集合框架。官网
HPPC:基础类型集合。官网
Javolution:实时和嵌入式系统的开发库。官网
JCTools:JDK中缺失的并发工具。官网
Koloboke:Hash set和hash map。官网
Trove:基础类型集合。官网
High-scale-bli:Cliff Click 个人开发的高性能并发库官网
IDE
简化开发的集成开发环境。
Eclipse:老牌开源项目,支持多种插件和编程语言。官网
IntelliJ IDEA:支持众多JVM语言,是安卓开发者好的选择。商业版主要针对企业客户。官网
NetBeans:为多种技术提供集成化支持,包括Java SE、Java EE、数据库访问、HTML5
Imgscalr:纯Java 2D实现,简单、高效、支持硬件加速的图像缩放开发库。官网
Picasso:安卓图片下载和图片缓存开发库。官网
Thumbnailator:Thumbnailator是一个高质量Java缩略图开发库。官网
ZXing:支持多种格式的一维、二维条形码图片处理开发库。官网
im4java: 基于ImageMagick或GraphicsMagick命令行的图片处理开发库,基本上ImageMagick能够支持的图片格式和处理方式都能够处理。官网
Apache Batik:在Java应用中程序以SVG格式显示、生成及处理图像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模块,可以集成使用也可以单独使用,还可以扩展自定义的SVG标签。官网
JSON
简化JSON处理的开发库。
Genson:强大且易于使用的Java到JSON转换开发库。官网
Gson:谷歌官方推出的JSON处理库,支持在对象与JSON之间双向序列化,性能良好且可以实时调用。官网
Jackson:与GSON类似,在频繁使用时性能更佳。官网
LoganSquare:基于Jackson流式API,提供对JSON解析和序列化。比GSON与Jackson组合方式效果更好。官网
Fastjson:一个Java语言编写的高性能功能完善的JSON库。官网
Kyro:快速、高效、自动化的Java对象序列化和克隆库。官网
JVM与JDK
目前的JVM和JDK实现。
JDK 9:JDK 9的早期访问版本。官网
OpenJDK:JDK开源实现。官网
基于JVM的语言
除Java外,可以用来编写JVM应用程序的编程语言。
Scala:融合了面向对象和函数式编程思想的静态类型编程语言。官网
Groovy:类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网
Clojure:可看做现代版Lisp的动态类型语言。官网
Ceylon:RedHat开发的面向对象静态类型编程语言。官网
Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言。官网
Xtend:一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网
日志
记录应用程序行为日志的开发库。
Apache Log4j 2:使用强大的插件和配置架构进行完全重写。官网
kibana:分析及可视化日志文件。官网
Logback:强健的日期开发库,通过Groovy提供很多有趣的选项。官网
logstash:日志文件管理工具。官网
Metrics:通过JMX或HTTP发布参数,并且支持存储到数据库。官网
SLF4J:日志抽象层,需要与具体的实现配合使用。官网
机器学习
提供具体统计算法的工具。其算法可从数据中学习。
Apache Flink:快速、可靠的大规模数据处理引擎。官网
Apache Hadoop:在商用硬件集群上用来进行大规模数据存储的开源软件框架。官网
Apache Mahout:专注协同过滤、聚类和分类的可扩展算法。官网
Apache Spark:开源数据分析集群计算框架。官网
DeepDive:从非结构化数据建立结构化信息并集成到已有数据库的工具。官网
Deeplearning4j:分布式多线程深度学习开发库。官网
H2O:用作大数据统计的分析引擎。官网
Weka:用作数据挖掘的算法集合,包括从预处理到可视化的各个层次。官网
QuickML:高效机器学习库。官网、GitHub
消息传递
在客户端之间进行消息传递,确保协议独立性的工具。
Aeron:高效可扩展的单播、多播消息传递工具。官网
Apache ActiveMQ:实现JMS的开源消息代理(broker),可将同步通讯转为异步通讯。官网
Apache Camel:通过企业级整合模式(Enterprise Integration Pattern EIP)将不同的消息传输API整合在一起。官网
Apache Kafka:高吞吐量分布式消息系统。官网
Hermes:快速、可靠的消息代理(Broker),基于Kafka构建。官网
JBoss HornetQ:清晰、准确、模块化,可以方便嵌入的消息工具。官网
JeroMQ:ZeroMQ的纯Java实现。官网
Smack:跨平台XMPP客户端函数库。官网
Openfire:是开源的、基于XMPP、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并可利用Web界面进行管理。官网GitHub
Spark:是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官网GitHub
Tigase: 是一个轻量级的可伸缩的 Jabber/XMPP 服务器。无需其他第三方库支持,可以处理非常高的复杂和大量的用户数,可以根据需要进行水平扩展。官网
杂项
未分类其它资源。
Design Patterns:实现并解释了最常见的设计模式。官网
Jimfs:内存文件系统。官网
Lanterna:类似curses的简单console文本GUI函数库。官网
LightAdmin:可插入式CRUD UI函数库,可用来快速应用开发。官网
OpenRefine:用来处理混乱数据的工具,包括清理、转换、使用Web Service进行扩展并将其关联到数据库。官网
RoboVM:Java编写原生iOS应用。官网
Quartz:强大的任务调度库.官网
应用监控工具
监控生产环境中应用程序的工具。
AppDynamics:性能监测商业工具。官网
JavaMelody:性能监测和分析工具。官网
Kamon:Kamon用来监测在JVM上运行的应用程序。官网
New Relic:性能监测商业工具。官网
SPM:支持对JVM应用程序进行分布式事务追踪的性能监测商业工具。官网
Takipi:产品运行时错误监测及调试商业工具。官网
原生开发库
用来进行特定平台开发的原生开发库。
JNA:不使用JNI就可以使用原生开发库。此外,还为常见系统函数提供了接口。官网
自然语言处理
用来专门处理文本的函数库。
Apache OpenNLP:处理类似分词等常见任务的工具。官网
CoreNLP:斯坦佛CoreNLP提供了一组基础工具,可以处理类似标签、实体名识别和情感分析这样的任务。官网
LingPipe:一组可以处理各种任务的工具集,支持POS标签、情感分析等。官网
Mallet:统计学自然语言处理、文档分类、聚类、主题建模等。官网
网络
网络编程函数库。
Async Http Client:异步HTTP和WebSocket客户端函数库。官网
Grizzly:NIO框架,在Glassfish中作为网络层使用。官网
Netty:构建高性能网络应用程序开发框架。官网
OkHttp:一个Android和Java应用的HTTP+SPDY客户端。官网
Undertow:基于NIO实现了阻塞和非阻塞API的Web服务器,在WildFly中作为网络层使用。官网
ORM
处理对象持久化的API。
Ebean:支持快速数据访问和编码的ORM框架。官网
EclipseLink:支持许多持久化标准,JPA、JAXB、JCA和SDO。官网
Hibernate:广泛使用、强健的持久化框架。Hibernate的技术社区非常活跃。官网
MyBatis:带有存储过程或者SQL语句的耦合对象(Couples object)。官网
OrmLite:轻量级开发包,免除了其它ORM产品中的复杂性和开销。官网
Nutz:另一个SSH。官网,Github
JFinal:JAVA WEB + ORM框架。官网,Github
用来帮助创建PDF文件的资源。
Apache FOP:从XSL-FO创建PDF。官网
Apache PDFBox:用来创建和操作PDF的工具集。官网
DynamicReports:JasperReports的精简版。官网
flyingsaucer:XML/XHTML和CSS 2.1渲染器。官网
iText:一个易于使用的PDF函数库,用来编程创建PDF文件。注意,用于商业用途时需要许可证。官网
JasperReports:一个复杂的报表引擎。官网
性能分析
性能分析、性能剖析及基准测试工具。
jHiccup:提供平台中JVM暂停的日志和记录。官网
JMH:JVM基准测试工具。官网
JProfiler:商业分析器。官网
LatencyUtils:测量和报告延迟的工具。官网
VisualVM:对运行中的应用程序信息提供了可视化界面。官网
YourKit Java Profiler:商业分析器。官网
响应式开发库
用来开发响应式应用程序的开发库。
Reactive Streams:异步流处理标准,支持非阻塞式反向压力(backpressure)。官网
Reactor:构建响应式快速数据(fast-data)应用程序的开发库。官网
RxJava:通过JVM可观察序列(observable sequence)构建异步和基于事件的程序。官网
REST框架
用来创建RESTful 服务的框架。
Dropwizard:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。官网
Feign:受Retrofit、JAXRS-2.0和WebSocket启发的HTTP客户端连接器(binder)。官网
Jersey:JAX-RS参考实现。官网
RESTEasy:经过JAX-RS规范完全认证的可移植实现。官网
RestExpress:一个Java类型安全的REST客户端。官网
RestX:基于注解处理和编译时源码生成的框架。官网
Retrofit:类型安全的REST客户端。官网
Spark:受到Sinatra启发的Java REST框架。官网
Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。官网
Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网
科学计算与分析
用于科学计算和分析的函数库。
DataMelt:用于科学计算、数据分析及数据可视化的开发环境。官网
JGraphT:支持数学图论对象和算法的图形库。官网
JScience:用来进行科学测量和单位的一组类。官网
搜索引擎
文档索引引擎,用于搜索和分析。
Apache Solr:一个完全的企业搜索引擎。为高吞吐量通信进行了优化。官网
Elasticsearch:一个分布式、支持多租户(multitenant)全文本搜索引擎。提供了RESTful Web接口和无schema的JSON文档。官网
Apache Lucene:是一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网
安全
用于处理安全、认证、授权或会话管理的函数库。
Apache Shiro:执行认证、授权、加密和会话管理。官网
Bouncy Castle,涵盖了从基础的帮助函数到PGP/SMIME操作。官网:多途加密开发库。支持JCA提供者(JCA provider)
Cryptomator:在云上进行客户端跨平台透明加密。官网
Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。官网
PicketLink:PicketLink是一个针对Java应用进行安全和身份认证管理的大型项目(Umbrella Project)。官网
序列化
用来高效处理序列化的函数库。
FlatBuffers:高效利用内存的序列化函数库,无需解包和解析即可高效访问序列化数据。官网
Kryo:快速、高效的对象图形序列化框架。官网
FST:提供兼容JDK的高性能对象图形序列化。官网
MessagePack:一种高效的二进制序列化格式。官网
应用服务器
用来部署应用程序的服务器。
Apache Tomcat:针对Servlet和JSP的应用服务器,健壮性好且适用性强。官网
Apache TomEE:Tomcat加Java EE。官网
Jetty:轻量级、小巧的应用服务器,通常会嵌入到项目中。官网
WebSphere Liberty:轻量级、模块化应用服务器,由IBM开发。官网
WildFly:之前被称作JBoss,由Red Hat开发。支持很多Java EE功能。官网
模板引擎
在模板中替换表达式的工具。
Apache Velocity:提供HTML页面模板、email模板和通用开源代码生成器模板。官网
FreeMarker:通用模板引擎,不需要任何重量级或自己使用的依赖关系。官网
Handlebars.java:使用Java编写的模板引擎,逻辑简单,支持语义扩展(semantic Mustache)。官网
Thymeleaf:旨在替换JSP,支持XML文件的工具。官网
测试
测试内容从对象到接口,涵盖性能测试和基准测试工具。
Apache JMeter:功能性测试和性能评测。官网
Arquillian:集成测试和功能行测试平台,集成Java EE容器。官网
AssertJ:支持流式断言提高测试的可读性。官网
Awaitility:用来同步异步操作的DSL。官网
Cucumber:BDD测试框架。官网
Gatling:设计为易于使用、可维护的和高性能负载测试工具。官网
Hamcrest:可用来灵活创建意图(intent)表达式的匹配器。官网
JMockit:用来模拟静态、final方法等。官网
JUnit:通用测试框架。官网
Mockito:在自动化单元测试中创建测试对象,为TDD或BDD提供支持。官网
PowerMock: 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具。官网
REST Assured:为REST/HTTP服务提供方便测试的Java DSL。官网
Selenide:为Selenium提供精准的周边API,用来编写稳定且可读的UI测试。官网
Selenium:为Web应用程序提供可移植软件测试框架。官网
Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.官网兼容JUnit框架,支持衍生的Groovy范的语言。
TestNG:测试框架。官网
Truth:Google的断言和命题(proposition)框架。官网
Unitils:模块化测试函数库,支持单元测试和集成测试。官网
WireMock:Web Service测试桩(Stub)和模拟函数。官网
通用工具库
通用工具类函数库。
Apache Commons:提供各种用途的函数,比如配置、验证、集合、文件上传或XML处理等。官网
args4j:命令行参数解析器。官网
CRaSH:为运行进行提供CLI。官网
Gephi:可视化跨平台网络图形化操作程序。官网
Guava:集合、缓存、支持基本类型、并发函数库、通用注解、字符串处理、I/O等。官网
JADE:构建、调试多租户系统的框架和环境。官网
javatuples:正如名字表示的那样,提供tuple支持。尽管目前tuple的概念还有留有争议。官网
JCommander:命令行参数解析器。官网
Protégé:提供存在论(ontology)编辑器以及构建知识系统的框架。官网
网络爬虫
用于分析网站内容的函数库。
Apache Nutch:可用于生产环境的高度可扩展、可伸缩的网络爬虫。官网
Crawler4j:简单的轻量级网络爬虫。官网
JSoup:刮取、解析、操作和清理HTML。官网
Web框架
用于处理Web应用程序不同层次间通讯的框架。
Apache Tapestry:基于组件的框架,使用Java创建动态、强健的、高度可扩展的Web应用程序。官网
Apache Wicket:基于组件的Web应用框架,与Tapestry类似带有状态显示GUI。官网
Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP官网API、JUnit集成、国际化支持和GUI控件。
Grails:Groovy框架,旨在提供一个高效开发环境,使用约定而非配置、没有XML并支持混入(mixin)。官网
Ninja:Java全栈Web开发框架。非常稳固、快速和高效。官网
Pippo:小型、高度模块化的类Sinatra框架。官网
Play:使用约定而非配置,支持代码热加载并在浏览器中显示错误。官网
PrimeFaces:JSF框架,提供免费和带支持的商业版本。包括若干前端组件。官网
Ratpack:一组Java开发函数库,用于构建快速、高效、可扩展且测试完备的HTTP应用程序。官网
Spring Boot:微框架,简化了Spring新程序的开发过程。官网
Spring:旨在简化Java EE的开发过程,提供依赖注入相关组件并支持面向切面编程。官网
Vaadin:基于GWT构建的事件驱动框架。使用服务端架构,客户端使用Ajax。官网
Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网
业务流程管理套件
流程驱动的软件系统构建。
jBPM:非常灵活的业务流程管理框架,致力于构建开发与业务分析人员之间的桥梁。官网
Activity:轻量级工作流和业务流程管理框架。官网github
资源
社区