Java进阶资源汇总

简介: Java经过将近20年的发展壮大,框架体系已经丰满俱全;从前端到后台到数据库,从智能终端到大数据都能看到Java的身影,个人感觉做后台进要求越来越高,越来越难。 为什么现在Java程序员越来越难做,一是Java框架体系众多,学习成本提高,每一个细分问题又有很多可选方案;二是经过移动互联网的洗礼,以前单机单线程那一套行不通了,现在面临的是高并发低延迟,你可能要掌握缓存、分布

Java经过将近20年的发展壮大,框架体系已经丰满俱全;从前端到后台到数据库,从智能终端到大数据都能看到Java的身影,个人感觉做后台进要求越来越高,越来越难。


为什么现在Java程序员越来越难做,一是Java框架体系众多,学习成本提高,每一个细分问题又有很多可选方案;二是经过移动互联网的洗礼,以前单机单线程那一套行不通了,现在面临的是高并发低延迟,你可能要掌握缓存、分布式、集群、微服务等;物联网时代渐渐到来,将IT行业技能要求推向一个新高度,你的产品要提供7x24小时不间断服务,就像家里的自来水管,打开阀门水不间断流出来。面对成千上万的智能终端上传的海量数据,从数据压缩上传、优化存储、管理、备份防灾、分析利用等方面,要掌握的技能还很多。


所以我把这些年收集的资源共享给大家。大致分为Java基础框架,网络通讯相关框架,论文算法类、工具类型框架四个模块。

一、Java基础框架

二、网络通讯相关框架

框架部分暂时介绍这么多,各个框架间可灵活组合使用;之所以整理出来分享给大家,有以下几个原因: 

  • 它们都是开源的,并且得到广泛使用和验证

  • 它们是解决某个问题的最佳选择

  • 足够好的灵活性、扩展性让你轻松应对需求迭代

  • 它们都是基础框架,基础意味着重要,就好比房子的稳固程度取决于地基是否稳固

还有吗?当然有。


三、算法类


四、工具类


工具类不详细罗列网址了,可以自己去搜索一下。

  • 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


分享出来给需要的人,我也顺便收藏一波大笑不断补充中,有好的博客或其他什么类似的链接大家可以留言,都可以加进去。

转自:http://mp.weixin.qq.com/s?__biz=MzAxNDMwMTMwMw==&mid=2247484850&idx=1&sn=91e158780906d73415509f44bc3efde7&chksm=9b9424aaace3adbcef7d80e572804d30cd8759b274778a0a51f9e294d2988e62cd55253712ca&mpshare=1&scene=23&srcid=0416F9FAlNlMEwGtEKzN54LP#rd

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
3天前
|
Java 开发者 UED
【实战攻略】Java异常处理进阶:throw关键字,打造坚不可摧的错误防御体系!
【6月更文挑战第19天】在Java中,`throw`关键字用于主动抛出异常,特别是在检测到错误条件如非法参数时。通过`throw`,开发者能控制何时中断程序并提供清晰的错误信息。例如,在验证订单金额时,如果金额小于等于零,可以抛出`IllegalArgumentException`。此外,`throw`还可用于构建异常链,保留错误上下文,便于问题追溯。掌握`throw`使用,是构建健壮异常处理和提升用户体验的关键。
|
2天前
|
Java
死锁是线程间争夺资源造成的无限等待现象,Java示例展示了两个线程各自持有资源并等待对方释放,导致死锁。`
【6月更文挑战第20天】死锁是线程间争夺资源造成的无限等待现象,Java示例展示了两个线程各自持有资源并等待对方释放,导致死锁。`volatile`保证变量的可见性和部分原子性,确保多线程环境中值的即时更新。与`synchronized`相比,`volatile`作用于单个变量,不保证原子操作,同步范围有限,但开销较小。`synchronized`提供更全面的内存语义,保证原子性和可见性,适用于复杂并发控制。
12 3
|
1天前
|
机器学习/深度学习 Java Serverless
Java开发者的神经网络进阶指南:深入探讨交叉熵损失函数
今天来讲一下损失函数——交叉熵函数,什么是损失函数呢?大体就是真实与预测之间的差异,这个交叉熵(Cross Entropy)是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。在信息论中,交叉熵是表示两个概率分布 p,q 的差异,其中 p 表示真实分布,q 表示预测分布,那么 H(p,q)就称为交叉熵:
|
1天前
|
Java 数据挖掘 开发者
Java网络编程进阶:Socket通信的高级特性与应用
【6月更文挑战第21天】Java Socket通信是分布式应用的基础,涉及高级特性如多路复用(Selector)和零拷贝,提升效率与响应速度。结合NIO和AIO,适用于高并发场景如游戏服务器和实时数据分析。示例展示了基于NIO的多路复用服务器实现。随着技术发展,WebSockets、HTTP/2、QUIC等新协议正变革网络通信,掌握Socket高级特性为应对未来挑战准备。
|
8天前
|
存储 Java
Java 新手进阶:从变量到常量,一步步走向编程巅峰!
【6月更文挑战第14天】Java新手应掌握变量与常量,它们是编程基础。通过示例展示变量(如矩形的长度和宽度)用于存储可变数据,常量(如重力加速度)用于表示固定值。理解不同类型的变量,如字符串、整型和浮点型,并用`final`关键字定义常量。在银行账户管理程序案例中,变量跟踪账户信息,常量表示年利率。熟悉这些概念将提升编程技能。
|
19天前
|
Java 关系型数据库 MySQL
【JavaEE进阶】 Linux搭建Java部署环境
【JavaEE进阶】 Linux搭建Java部署环境
|
1天前
|
Java 程序员 数据处理
【技能升级】JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
【6月更文挑战第21天】在Java中,URL是网络资源的位置标识,如`http://www.example.com/resource.txt`,而URLConnection是与这些资源交互的接口。创建URL对象后,通过`openConnection()`获取URLConnection实例以读取或写入资源。读取时,设置请求头,获取输入流并读取数据;写入(POST)时,设置输出流并写入数据。处理网络操作时,别忘了异常处理、使用连接池以优化性能、设置超时以及恰当使用请求头和响应头。这些最佳实践能助你高效、稳定地进行网络编程。
|
1天前
|
Java 开发者
【技术觉醒】JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
【6月更文挑战第21天】Java网络编程中,URL和URLConnection是关键。案例一展示了如何使用它们从网站抓取数据:创建URL对象,打开连接,读取输入流获取HTML内容。案例二解释了POST请求:设定请求方法为POST,写入数据到输出流,上传至服务器。这两个基础工具在需要精细控制网络请求时尤其有用,是每个JAVA开发者必备技能。了解并熟练运用,能增强网络编程能力。
|
1天前
|
Java
Java 从入门到进阶之路(十九)
Java 从入门到进阶之路(十九)
|
1天前
|
安全 Java 网络安全
Java Socket编程技术详解:从基础到进阶的全方位指南
【6月更文挑战第21天】Java Socket编程是网络通信的关键,涉及`Socket`和`ServerSocket`类。基础教程展示了如何创建简单的客户端-服务端交互,而进阶内容涵盖了非阻塞I/O、多路复用(如使用`Selector`)以提升性能,以及通过SSL/TLS确保安全通信。学习Socket编程不仅是技术实践,也是理解网络原理的过程,强调了持续学习和实践的重要性。