Java进阶资料汇总
Java经过将近20年的发展壮大,框架体系已经丰满俱全;从前端到后台到数据库,从智能终端到大数据都能看到Java的身影,个人感觉做后台进要求越来越高,越来越难。
为什么现在Java程序员越来越难做,一是Java框架体系众多,学习成本提高,每一个细分问题又有很多可选方案;二是经过移动互联网的洗礼,以前单机单线程那一套行不通了,现在面临的是高并发低延迟,你可能要掌握缓存、分布式、集群、微服务等;物联网时代渐渐到来,将IT行业技能要求推向一个新高度,你的产品要提供7x24小时不间断服务,就像家里的自来水管,打开阀门水不间断流出来。面对成千上万的智能终端上传的海量数据,从数据压缩上传、优化存储、管理、备份防灾、分析利用等方面,要掌握的技能还很多。
所以我把这些年收集的资源共享给大家。大致分为Java基础框架,网络通讯相关框架,论文算法类、工具类型框架。
一、Java基础框架
- spring Framework
对于java读者来说spring再熟悉不过了,它就像一个拥有无限插孔的插线板,大部分框架都可以集成到spring容器当中即插即用,当然魔力不仅于此。- spring所有开源项目:https://github.com/spring-projects
- spring官方文档:http://spring.io/docs/reference
- springboot官方Demo:https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
- springboot推荐Demo:https://github.com/dyc87112/SpringBoot-Learning
- 入门教程:http://www.tutorialspoint.com/spring/spring_hello_world_example.htm
- 相关书籍:《spring技术内幕》
- ORM Framework Hibernate vs mybatis
Hibernate和mybatis都是目前最流行的ORM框架,各有优缺,仁者见仁。- Hibnate官方文档:http://hibernate.org/orm/documentation/5.2/
- Hibernate开源地址:https://github.com/hibernate/hibernate-orm
- 马士兵Hibernate入门教程:http://blog.csdn.net/tanyit/article/details/6987279#_Toc251597143
- Hibernate映射:http://blog.csdn.net/bigtree_3721/article/details/42343639
- HQL:http://www.cnblogs.com/bobomail/archive/2005/09/20/240352.html
- mybatis官方文档:http://www.mybatis.org/mybatis-3/
- mybatis开源地址:https://github.com/mybatis/mybatis-3
- mybatis教程:http://blog.csdn.net/techbirds_bao/article/details/9233599/
- JPA规范:http://blog.csdn.net/jia20003/article/details/7907884
二、网络通讯相关框架
- dubbo分布式服务框架
- dubbo官方文档:http://dubbo.io/Developer+Guide-zh.htm
- dubbo开源地址:https://github.com/alibaba/dubbo
- dubbo入门:http://blog.csdn.net/top_code/article/details/51010614
- dubbo集成到springboot:https://github.com/teaey/spring-boot-starter-dubbo
- dubbo架构设计详解:http://shiyanjun.cn/archives/325.html
- zookeeper分布式应用程序协调服务
- netty网络应用通讯框架
- 官方文档:http://netty.io/wiki/index.html
- 开源地址:https://github.com/netty/netty
- 开源案例:https://github.com/blynkkk/blynk-server
- 原理实现讲解:http://www.infoq.com/cn/articles/netty-high-performance
- 相关书籍:《Netty权威指南(第2版)》
- MQ消息队列
知名的消息队列框架有ActiveMQ、RabbitMQ、Kafka,RocketMQ这些,根据需求场景选择不同的消息队列框架。- 什么是消息队列:http://blog.csdn.net/shaobingj126/article/details/50585035
- 各种消息队列框架对比:http://blog.csdn.net/sunxinhere/article/details/7968886
- RocketMQ原理与实践:http://www.jianshu.com/p/453c6e7ff81c
- RocketMQ入门:http://www.jianshu.com/p/ba2934571c77
- 序列化框架protobuf
protobuf是google 的一种数据交换的格式,类似json和xml,它独立于语言,独立于平台。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
框架部分暂时介绍这么多,各个框架间可灵活组合使用;之所以整理出来分享给大家,有以下几个原因:
- 它们都是开源的,并且得到广泛使用和验证
- 它们是解决某个问题的最佳选择
- 足够好的灵活性、扩展性让你轻松应对需求迭代
- 它们都是基础框架,基础意味着重要,就好比房子的稳固程度取决于地基是否稳固
还有吗?当然有,
三、算法类
- 发布/订阅模式:http://blog.csdn.net/xuchuangfeng/article/details/50767410
- 一致性Hash算法:https://www.codeproject.com/articles/56138/consistent-hashing
- Paxos分布式选举算法:
- 《Paxos Made Simple》:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/paxos-simple-Copy.pdf
- 《The-Part-Time-Parliament》:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/The-Part-Time-Parliament.pdf
- HDFS架构设计:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html
- Google MapReduce论文中文版:http://www.open-open.com/lib/view/open1328763069203.html
- Google BigTable论文中文版:http://dblab.xmu.edu.cn/post/google-bigtable/
四、工具类
工具类不详细罗列网址了,可以自己去搜索一下。
- mvn仓库:http://mvnrepository.com/
- Json库:fastjson / Gson
- Collections库:Guava
- Html内容匹配:Jsoup
- Http Client:Apache HttpClient
- JDBC Pools: Commons DBCP / Druid
- 模拟测试:Mockito
- 代码简化:lombok
- 图片处理:Thumbnails
- Mail:JavaMail API (compat)
- 定时器:Quartz
- 权限控制:Shiro / spring Security
- 长连接:spring-websocket
- 即时通讯:Openfire
- NoSQL:Jedis / spring-data-redis / spring-data-mongoDB
本次Java进阶资料汇总整理就到这里,欢迎大家留言补充。
你也可以关注我的微信公众号『ITNotes』, 一起交流学习 。

Java进阶资料汇总的更多相关文章
- Java进阶 -- 文章汇总
文章汇总 Java集合源码 -- Collection框架概述 Java集合源码 -- Map映射和Set集合 Java集合源码 -- List列表 String和StringBuffer 内部类 j ...
- windows下java开发资料汇总
开发环境搭建: (1) java开发环境配置 (2) maven环境快速搭建 项目部署: (1) Eclipse中项目部署方法 (2) 使用Eclipse构建Maven ...
- 来自于51CTO的经典学习资料汇总
移动开发类: 1.2012Android开发热门资料(110个) http://bbs.51cto.com/thread-934023-1.html 2.[绝对给力]Android开发免豆 ...
- 158个JAVA免豆精品资料汇总
附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70 ...
- 【转】【JAVA资料免费下载】158个JAVA免豆精品资料汇总——下载目录
附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70 ...
- Java 8 学习资料汇总【转载】
原文地址 2014年3月18日,Java SE 8 发布,而 Java 9 预期2016年发布: 2011年7月7日,Java 7 发布,是2009年4月20日被Oracle 以74亿美元收购首次推出 ...
- Java相关框架资料及其基础资料、进阶资料、测试资料之分享
个人说明:只为分享,不为其他,愿所有的程序员们在编程的世界自由翱翔吧! 在我看来,只有不断实战,不断学习,不断积累,不断归纳总结,形成自己的核心竞争力,方能在未来竞争中脱颖而出! 程序员谨记!重要的事 ...
- Java 学习资料整理
Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...
- Java 进阶路线图
前言 个人的从事Java开发行业已经也有一段时间,提升自己的Java水平,特整理下学习路线图,以备日后使用. 路线图资料收集 图片打不开,建议使用复制链接打开:或者私信告诉我. Java架构师学习路线 ...
随机推荐
- P1350 车的放置
P1350 车的放置 设$f[i][j]$为当前推到第$i$列,该列高度$h$,已经放了$j$个车的方案数 则$f[i][j]=f[i-1][j]+f[i-1][j-1]*(h-j+1)$ 但是我们发 ...
- 20145101《Java程序设计》第二周学习总结
20145101 <Java程序设计>第2周学习总结 教材学习内容总结 在第三章的学习中,我学到了很多新知识点,了解到Java语言中的类型及其变量主要类型为:整数,还有char型,bool ...
- noip杂题题解
这道题没有什么可说的,先统计,然后几次快排,答案就出来了 Code(整齐但不简洁的代码) #include<iostream> #include<cstdio> #includ ...
- flash,sram
flash写入的内容不会因电源关闭而失去,读取速度慢,成本较低,一般用作程序存储器或者低速数据读取的情况. sram有最快的读写速度,但电源掉落后其内容也会失去,价格昂贵,一般用作cpu的二级缓存,内 ...
- cogs 1962. [HAOI2015]树上染色
★★☆ 输入文件:haoi2015_t1.in 输出文件:haoi2015_t1.out 简单对比 时间限制:1 s 内存限制:256 MB [题目描述] 有一棵点数为N的树,树边有边 ...
- Python3基础 str + 字符串变量拼接
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Ubuntu 14.04 下解决maven访问速度慢问题
参考: maven国内镜像(maven下载慢的解决方法) maven中央仓库访问速度太慢的解决办法 Ubuntu 14.04 下解决maven访问速度慢问题 在启动OVX的时候,由于sh脚本中需要使用 ...
- SPOJ - HIGH Highways(矩阵树定理)
https://vjudge.net/problem/SPOJ-HIGH 题意: 给n个点m条边,求生成树个数. 思路: 矩阵树裸题. 具体的话可以看一下周冬的论文<生成树的计数及其应用> ...
- MySQL查询优化之性能提升一个数量级
这段时间一直在用kettle做数据抽取和报表,写SQL便是家常便饭了,200行+SQL经常要写.甚至写过最长的一个SQL500多行将近600行.这么长的SQL估计大部分人连看的意愿都没有,读起来也比较 ...
- 【bzoj】2733: [HNOI2012]永无乡
Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...