前言
怎样的经历,才能让一名Java初学者成为开发程序员,再到高级架构师呢?
这个问题,不仅困惑着一个刚刚踏入职场的初级程序员,也是工作几年之后开始迷茫的Java开发们常常思考的一部分。如果您也一样困惑,希望这篇文章可以给到一些帮助。
我常问自己:程序员是吃青春饭的吗?还是自身的能力达不到年龄的要求?
近期,我与团队同学探讨了职业发展规划的问题。有些同学表示希望后续能进一步在技术领域(或管理方向)有进一步的积累;有的同学表示希望在新的一年能具有更好的技术影响力,自己能做一些技术决定,去影响其他人,这样自己会很有成就感。不管你想得到什么,我们都应该明白Java开发总归是一门技术活,用技术来讲解最清晰不过。所以我整理一份Java知识体系,下面一起来看看。
一、编程基础
不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。
数据结构
一致性算法
JAVA算法
加密算法
二、Java语言基础
诞生不过二十余年的Java语言凭借其跨平台、面向对象、适合于分布式计算的特性,广泛应用于Web网站、移动设备、桌面应用中,并且已经连续多年稳居TOBIE编程语言排行榜前列,最近更是登上冠军宝座。Java有哪些优秀而又与众不同的地方首先一定要清楚。
三、数据库相关
前面说到了数据结构,数据库简单来说就像是电子化的档案柜,是按照一定的数据结构来组织、存储和管理数据的仓库。
四、Java多线程并发
多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。
五、主流框架及工具
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
MyBatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
六、Java虚拟机
JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。
七、More
这份Java知识体系文档总计283页,需要完整版学习的同学点赞文章,关注我私信“666”即可获取。
最后
Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。加油吧,每一位还在开发岗位的程序员们。
网友评论