学习Java的三个阶段
第一阶段: 【初识Java——课堂笔记】A:走出校园,迈进社会,走进企业成为了一名程序员
B:懂得团队协作,懂得项目版本如何控制、我们写的代码如何进行测试,项目如何上线运行等等基本功。当你掌握了这些东西之后就可以迈入第二阶段,一般在2~5年,薪资在10-25k
进入第一阶段需要掌握哪些知识
A:前端知识(作为一个后端工程师,要懂得前端。但是前端可以不懂后端)
1、Html(表单的各种请求)、CSS(绝对定位,相对定位,盒子模型等等)、JS(JavaScript)、jQuery.js(选择器,Ajax,JSON)
2、前端框架:BootStrap、日期组件(laydate)、图表统计(echarts.js)、数据节点(Ztree.js)VUE(是现在使用比较广泛的一个js组件)
B:JavaSE部分
1、Java的基本数据类型、Java引用概念,JVM内存模型、关于数组的一些算法、递归(为了方便学习数据结构)、继承、多态、抽象类、接口等相关知识、泛型、反射(非常重要)、集合(Map,Set,List等等)、关于设计模式(设计模式有二十多种,之前是有23种。至少需要掌握:单例设计模式[懒汉式和饿汉式],工厂设计模式[简单工厂,方法工厂,抽象工厂],模板设计模(Servlet就是最好的体现),适配器设计模式、代理设计模式[静态代理和动态代理])
2、数据结构:数组、堆栈、二叉树、红黑树(Java中的TreeSeT、Linux的虚拟内存管理都是使用红黑树去实现的)、链表(双向链表和单向链表)、hash
3、线程(生产者模式和消费者模式)、各种线程池的定义和理解。
C:数据库
1、要掌握两款数据库:Oracle和MySQL,但是他们的基本语句都差不多,但是也有区别,比如Oracle的分页使用子查询+排序实现的,MySQL使用关键字Limit,尤其是查询语句要熟练使用,在面试和开发中一定会使用到、JDBC
D:JavaEE
1、就jsp、el表达式、jstl标签库、Servlet等等
E:Java框架
1、mybatis持久层框架、hibernate(可以玄学)
2、Spring+SpringMVC(理解aop,依赖注入,控制反转,相关注释,任务调度等概念)
3、SpringBoot(为了简化配置文件而出现的)
4、SpringCloud(微服务开发)
5、Shrio(实现登陆认证等操作,与它实现同样功能的是SpringSecurrity)
6、数据库连接池(比如说阿里巴巴的Druid连接池)
F:其他知识
1、Linux的简单命令要记住,能在Linux上安装jdk、数据库、安装web服务器(Tomcat)、安装Redis,安装Nginx等,能在上面部署和启动项目,会观察项目的动态气质等等(tail-f catAlina.out)
2、Redis缓存性数据库(nosql),Redis可以保存数据类型、主从配置、高并发配置、高可用配置、乐观锁和悲观锁的概念等等。
3、Nginx反向服务器代理的各种配置。
第二阶段 区分Java工程师的一个分水岭,也是第二个门槛,你在第一阶段除了完成工作还需要自己不断去研究技术,重视某些技术的细节,那么这样的人在经历了第一阶段之后必然能成为企业在技术上独挡一面的人才,并且清楚他未来的发展方向。一般担任系统分析师后者架构师等职位,薪资一般在25-50k。时间大概是5-10年。
第三阶段 又是Java工程师的第二个分水岭
目标:你应该成长为一名对行业有着深入认识,对技术有着自己独到见解,能从0开始对一个项目分析设计(并且考虑项目未来的扩展性)的工程师
在企业担任角色:一般是CTO,技术专家,首席架构师等等职位。薪资一般在45-100k
推荐阅读
- 算法系列|【算法基础1】舍友课间上了个厕所,回来就告诉我他掌握了二分查找【内附搜索模板】
- java|自学java(2)
- 数据库|MySQL数据库
- leetcode刷题实录|leetcode226 翻转二叉树
- 刷题|leetcode226翻转二叉树(JAVA版)
- leetcode|LeetCode226翻转二叉树(递归)
- java|springboot缓存+springboot整合redis缓存
- java|SpringBoot整合Redis以及Redis缓存
- 春招|【Android春招每日一练】(三十二) LeetCode Hot 10题