学习一个新的技术时,其实不在于跟着某个教程敲出了几行、几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个学习路线有宏观、简洁的认识,确定大的学习方向,这样才能事半功倍。
我们经常会遇到这样的情况:
一开始学习一门新技术的时候,面对着很多很多陌生的名词,无从下手,一度想要放弃。
本文首先会给出关于Java后台开发的一些建议学习路线,接着简单解释一些应用到的高频技术,帮助大家理解和学习。
Java后台开发知识一览
1、后端
WEB服务器:Weblogic、Tomcat、WebSphere、JBoss、Jetty
核心框架:SpringFramework
分布式服务框架Dubbo
安全框架:ApacheShiro
视图框架:SpringMVC
服务端验证:Hibernate+Validator
布局框架:SiteMesh
工作流引擎:Activiti
任务调度:SpringTask+Quartz
持久层框架:MyBatis+MyBatis-Plus
数据库连接池:AlibabaDruid
缓存框架:Ehcache、Redis
日志管理:SLF4J、Log4j
会话管理:Spring-Session
工具类:ApacheCommons、Jackson、Xstream、Dozer、POI
消息队列:ActiveMQ
云存储:阿里云OSS腾讯云COS七牛云
版本管理:git(推荐)svn
2.高频技术
每个模块的功能如下:
核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。
Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。
SpringAOP:通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。
SpringDAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理。
SpringORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有这些都遵从Spring的通用事务和DAO异常层次结构。
SpringWeb模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与JakartaStruts的集成。
SpringMVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。
**Mybatis**
MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
Redis
Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
特点:
1.Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2.Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3.Redis支持数据的备份,即master-slave模式的数据备份。
Zookeeper
Zookeeper分布式服务框架是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等等。
DUBBO
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
一到五年经验,应该怎么走,学习方向路线是什么,需要掌握什么技术呢?请看下方:
阅读源码
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。
那要如何正确的分析源码呢?
分布式架构
随着我们的业务量越来越大和越重要,单体的架构模式已经无法对应大规模的应用场景,而且系统中决不能存在单点故障导致整体不可用,所以只有垂直或是水平拆分业务系统,使其形成一个分布式的架构,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。
微服务
关于微服务架构的取舍
1、在合适的项目,合适的团队,采用微服务架构收益会大于成本。
2、微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。
3、需要避免为了“微服务”而“微服务”。
4、微服务架构引入策略–对传统企业而言,开始时可以考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。
性能优化
我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其所以然的效果。除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案选型时的意识、思维以及做各种权衡的能力。
以上就是动力节点java培训机构小编介绍的“专业Java学习路线脑图,针对初学的进阶规划”的内容,希望能够帮助到大家,更多java最新资讯请继续关注动力节点java培训机构官网。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习