程序员做着简单的CRUD工作,拿的是30K的高薪,是不是让人特羡慕?要说CRUD不能说特简单,大部分的数据处理业务基本也就是各种花样的CRUD工作,真要把CRUD做溜做好,不是一件容易的事情。但如果长期只是做这一项事情而且是很简单的CRUD而不涉及其它,还是挺让人心里发慌的。
一朋友小王在公司做开发两年了,做项目的分工基本就是数据的CRUD而且不算特复杂的那种。做了一段时间觉得心里发毛,长此下去不知道以后还能干什么。而且都是业务不复杂的。作为程序员来说,各种各样的业务处理各种技术都想尝试,像程序员这样勇于学习勇于尝试新东西的工作的人并不多见。很多其它行业的人巴不得有这样轻松的而且拿着高薪的工作。这样舒适的工作,小王正在纠结是否要跳出来。
确实这样情况属于舒适区。可能项目分工比较细,一个萝卜一个坑,每个人就干自己那点儿事。如果不增加难度,就这样简单的CRUD下去,估计后果堪忧。如果是复杂有难度的CRUD,比如几百万级别用户的CRUD那还是有挑战性的。一旦把事情做简单了以后,久而久之就没有什么新鲜感,技术上也没有什么进步。这时候心里就会担心未来一旦发生状况,不知道未来找工作是否存在困难。其实一个项目中,还是可以多和其他成员交流学习新的技术新的业务,还是可以提升自己的。不一定非得要跳出公司。
如果不满足于目前的舒适状况,也可以试着到外面看看,但这个有风险啊。如果以前的技术过于简单或者单一,能否找到适合自己想法的公司或工作呢?找到的工作薪资待遇是否与现在一样呢?新工作确实就有挑战性能够学得到新东西吗?
程序员的学习能力超强,新的技术学起来基本还是很快的。提升自己的技术能力也有很多方法的,比如与项目组成员的的互相学习,或者多看看进阶知识。分享一个Java学习路线,Java常用工具包学习思维导图+Java核心进阶知识整理。目前已经收到了七八个网友的反馈,说是面试问到了很多这里面的知识点。
内容涉及:Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、反射等
一:Java开发介绍
- DOS常用命令
- JVM、JRE、JDK之间的关系
- Java开发环境的搭建:安装JDK,配置环境变量
- Java入门程序(Java的开发流程)
- Java的注释,标识符、标识符的命名规范
- Java基本数据类型
- 变量和常量的定义及初始化
- Java的运算符
- 运算符的优先级
- Java分支语句之if...else
- 循环的嵌套
- 方法的定义
- 方法的形参和实参
- 方法的递归调用
二、Java数组
- Java 数组的定义
- Java 数组的声明
- 数组的优势与局限
- 数组的遍历访问(普通循环,增强for循环)
- 数组元素的顺序查找
- 数组元素的冒泡法排序
- Arrays工具类的使用
- 二维数组
三、Java面向对象
- 面向对象设计思想
- 面向对象的分析与设计
- Java与面向对象
- 类中成员变量的定义与意义
- 构造方法的定义和调用
- 面向对象的封装特性
- 局部变量和成员变量的作用域问题
- 静态属性、静态方法、静态代码块
- 面向对象的继承特性
- 继承中构造方法的细节
- 面向对象的多态特性
- 抽象方法与抽象类
- 接口
四、异常
- 异常的概念
- 异常的分类
- 异常的理解
- 常见异常介绍
- 运行时异常
- 编译时异常
- 运行和编译异常区别
- 异常的处理方式之捕获异常
- 异常的处理方式之抛出异常
- 异常的处理方式之断点调试
- 断点调试之引导运行步骤
- 自定义异常
- 异常关键字处理
- 关键字执行流程
- 异常总结
五、集合
- 集合的概念和作用
- 集合和数组的区别
- 集合框架体系介绍
- 集合框架之Collection接口
- ArrayList和LinkedList的方法使用
- ArrayList和LinkedList各自的工作原理分析原理分析
- 使用多种方式遍历集合
- HashSet和LinkedHashSet各自的工作原理分析
- 集合框架之Map接口
- 泛型的使用
- Collections工具类的使用
六、IO流
- File类的作用
- File类中常用方法的使用介绍
- 使用File类操作文件和文件夹
- 相对路径和绝对路径的介绍
- IO流的概念和工作原理
- IO流的分类
- 文件流的使用
- 转换流的使用
- 缓冲流的使用
- 对象流的使用
- 内存流的使用
- 使用不同的流实现文件内容的拷贝
七、多线程
- 进程和线程的介绍
- 进程和线程之间的区别与联系
- 线程实现方式之继承自Thread类
- 线程实现方式之实现Runnable接口
- 线程实现方式之线程池
- 线程的生命周期
- 线程中常用方法的使用
我把一些常用Java工具包的思维导图做了汇总,持续更新中,方便读者查阅。