java技术学习路线(自用)
一:常见模式与工具
1.常用设计模式:
1.1.Proxy代理模式:指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。详见https://www.cnblogs.com/qifengshi/p/6566752.html
1.2.Factory工厂模式:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。详见https://www.cnblogs.com/cxxjohnson/p/6403938.html
1.3Singleton单例模式:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。详见https://www.cnblogs.com/edisonchou/p/6618503.html
1.4.Delegate委派模式:有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理,详见https://blog.csdn.net/shb2058/article/details/53895024
1.5.Strategy策略模式: 属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。详见https://www.cnblogs.com/whoislcj/p/5554541.html
1.6.Prototype原型模式:是一种创建型设计模式,它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。详见https://www.cnblogs.com/kid-li/archive/2006/05/18/403559.html
1.7.Template模板模式:完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。详见https://www.cnblogs.com/qq-361807535/p/6854191.html
2.Spring5做应用必不可少的最新框架:
2.1.IOC容器设计原理及高级特性
2.2.AOP原理设计
2.3.FactoryBean和BeanFactory
2.4.Sring事务处理机制
2.5.基于SringJDBC手写ORM框架
2.6.SringMVC九大组件
2.7.手写实现SringMVC框架
2.8.SringMVC与Struts2对比分析
2.9.Sring5新特性
3.MyBatis玩数据库必不可少的插件:
3.1.代码自动生成器
3.2.MyBatis关联查询、嵌套查询
3.3.缓存使用场景及选择策略
3.4.Spring集成下的SqlSession
3.5.Mapper MyBatis的事务
3.6.分析MyBatis的动态代理的真正实现
3.7.手写实现Mini版的MyBatis
二:工程化与工具:Maven:项目管理
Jenkins:持续集成
Sonar:代码质量管理
Git:版本管理
三:分布式架构:
1.分布式架构原理:
1.1.什么是Git以及Git的工作原理
1.2.Git常用命令Beat Practise
1.3.Git冲突怎么引起的、如何解决
1.4.架构师职责:Git Flow规范团队Git使用规程
2.分布式架构策略:
2.1.分布式架构网络通信原理剖析
2.2.通信协议中的序列化和反序列化
2.3.基于框架的RPC技术 WebService / RMI / Hession
2.4.深入分析Zookeeper再disconf配置中心的应用
2.5.基于Zookeeper实现分布式服务器动态上下线感知
2.6.深入分析Zookeeper Zab协议以及选机制源码解读
2.7.Dubbo管理中心及监控平台安装部署
2.8.基于Dubbo的分布式系统架构实践
2.9.Dubbo容错机制及高扩展性分析
3.分布式架构中间件:
3.1.分布式消息通信 ActiveMQ / Kafka / RabbitMQ
3.2.Redis主从复制原理及无磁盘复制分析
3.3.图解Redis中AOF和RDB持久化策略的原理
3.4.MongoDB企业级集群解决方法
3.5.MongoDB数据分片、转存及恢复策略
3.6.基于OpenResty部署应用层Nginx以及Nginx+lua实践
3.7.Nginx反向代理服务器及负载均衡服务配置实战
3.8.基于Netty实现高性能M聊天
3.9.基于Netty实现Dubbo多协议通信支持
3.10.Netty无锁串行设计及高并发处理机制
4.分布式架构实战:
4.1.分布式全局ID生成方案
4.2.Session跨域共享及企业级单位单点登录解决方案实战
4.3.分布式事务解决方案实战
4.4.高并发下的服务器降级、限流实战
4.5.基于分布式架构下分布式锁的解决方案实战
4.6.分布式架构下实现分布式定时调整
四:Docker虚拟化:
1.Docker的镜像、仓库、容器
2.Docker Flie构建LNVP环境部署个人博客Wordpress
3.Docker Compose构建LNVP环境部署个人博客Wordpress
4.Docker网络组成、路由互联、Openvswitch
五:性能优化:
1.理解性能基准:
1.1.性能基准
1.2.衡量维度
2.JVM调优:
2.1.什么是jvm调优,如何实现
2.2.详解什么是jvm运行时数据
2.3.详解什么是jvm内存模式JMM
2.4.详解GC可达
2.5.详解各垃圾回收器使用场景(Throughput \ CMS )
2.6.详解GC日志,从日志看端倪
2.7.实战MAT分析dump文件
3.Tomcat调优:
3.1.Tomcat工作机制
3.2.分析tomcat线程模式
3.3.tomcat系统参数认识调优
3.4.基准测试
4.Mysql调优篇:
4.1.理解Mysql底层B+Tree机制
4.2.SQL执行计划详解
4.3.索引优化详解
4.4.sql语句优化
六:底层知识:
1.Java内存模型JMM
2.内存模型
3.Synchronized
4.Volatile
5.Dcl
6.并发基础
7.锁
8.并发工具类
9.并发集合
10.原子操作
11.引用类型
12.线程池
本文参考微信公众号”Java知音“的文章--《Java体系化高级学习路线图》
转载于:https://www.cnblogs.com/hachiman/p/9322507.html
java技术学习路线(自用)相关推荐
- Java研发技术学习路线
Java研发技术成长路线 作为一名Java研发者,深感Java技术的学习是一个漫长过程,从一名Java菜鸟开始,加之持之以恒的耐心和脚踏实地的精神,不间断理论的学习,不停止技术实践,终成为一名技术佼佼 ...
- 这21 张思维导图,足足让我肝了半个月的「后端技术学习路线」长啥样?(附全套Java资料)
写的文章也都是围绕着这个主题,这位读者的问题让我突然意识,我忽略了读者群体里有很多是初学编程,或者刚接触计算机的同学. 作为一个普通大学非计算机专业,自学后端技术进入腾讯从事后端开发工作,我自己也是非 ...
- 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图
初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...
- 听听阿里老哥对算法工程师技术学习路线的建议
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 来源丨https://zhuanlan.zhihu.com/p/192633890 前言 知乎 ...
- 【大学到研究生自学Java的学习路线】这是一份最适合普通大众、非科班的路线,帮你快速找到一份满意的工作
这篇文章主要针对初学者来写的,因为,在我刚刚开始学习的时候,也是很迷茫的,根本不知道怎么入手,因为需要学习的技术太多了,没有明确的目标就效果很差,所以,今天给大家梳理一下Java的学习路线,这个是我的 ...
- java基础不好框架能学会吗_转行Java能学会吗?零基础学习Java的学习路线
Java的跨平台性.通用性.安全性.高效性决定了这门语言在未来10年都会是最热门的语言之一.Java技术的安全性和平台移植性足够让他应用到不同的领域,它的工作需求足够大,现实一点来说即使Java濒临o ...
- 成都两年JAVA工程师_成都Java工程师学习路线
成都Java工程师学习路线.java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以java并不是单机版的,只是面向对象语言.建议如果学习java体系的话可以 ...
- 干货:18 张思维导图,后端技术学习路线长这样!
来源 |后端技术学堂(ID:lemon10240) 作者 | LemonCoder 头图 | CSDN下载自视觉中国 思来想去,学习方向和路线很重要.比起具体的技术细节,可复制的经验.清晰的学习路线, ...
- Java新手学习路线
------Java新手学习路线------ 第一阶段:J2SE(java基础部分) java开发前奏; . ①计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量 ...
- 【java后端学习路线3】SSM+Linux+Git学习指南,985本海硕自学转码
JAVA后端学习路线 路线总览 javase->Mysql->计算机网络->JavaWeb->Maven(1)->Spring->SpringMVC->Myb ...
最新文章
- 计算机应用能力 中文字处理,全国职称计算机应用能力考试《Word 2003中文字处理》考试大纲...
- Linux ubuntu16.04 安装opencv4教程(源码编译)
- linux shell运行脚本命令行参数,shell脚本命令行参数简介
- mysql innodb 写锁_MySQL-InnoDB-锁
- 央视《新闻联播》正式入驻快手平台
- 感觉非常经典的一片博文(关于缓存)
- DL实战(1):tensorflow在mnist上实现siamese net
- python在线翻译小程序_Python 做一个翻译小程序
- DB2数据库迁移,数据库导入导出
- Fortran入门教程(三)——输入输出
- TCP/UDP Socket调试工具(SocketTool) v4
- 浏览器-错误 未能加载 PDF 文档
- 唱好铁血丹心谐音正规_铁血丹心(谐音歌词)
- 沉痛悼念互联网[云原生领域]技术大牛----左耳朵耗子(陈皓老师)
- 凡事当立则行,虽令不行
- [DeeplearningAI笔记]序列模型3.3-3.5集束搜索
- 从self-attention到transformer之transformer
- Visual Studio 2019 和 qt 5.15.1 下 opengl 的运用 - Lighting - 01 - Colors
- 《基于机器视觉的输电线路交叉点在线测量方法及技术方案》论文笔记
- java计算机毕业设计H5新冠防疫宣传网站设计与实现MyBatis+系统+LW文档+源码+调试部署