你可曾计算过,大学四年一共有多少天? 365*3+1=1461天。在这珍贵的1461天里,你为以后的人生做了那些准备?
其他鸡汤我就不写啦,直接说结果。
如果你在大学3或4年掌握了以下知识点,如你不嫌弃,你找实习单位来我公司吧,包你10K+的月薪。
1、JAVA基础扎实
2、理解HTTP网络协议,了解TCP和UDP的区别,知道GET和POST的区别,知道在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么
3、熟悉Spring IOC/AOP,SpringMVC,Mybatis等框架体系,并有实际开发经验
4、熟练掌握sql,比如mysql、oracle
5、熟练使用Eclipse开发工具,Maven管理工具
6、熟练使用git版本管理工具
7、了解一些操作系统的知识
下面我会一一说明如何达成这个目标。
一、JAVA基础扎实
何为JAVA基础扎实?玩好JDK!
JDK就是JavaSE Development Kit的缩写,要玩好这东西也没那么简单。JDK主要包含了三部分,第一部分就是Java运行时环境,也就是JVM。第二部分就是Java的基础类库,这个类库的数量还是非常可观的。第三部分就是Java的开发工具,它们都是辅助你更好的使用Java的利器。
那么很显然,要玩好JDK,就是要玩好JDK的这三部分。
1.1 Java运行时环境
这一部分其实就是常说的jre,而它的核心其实就一个东西,就是JVM。
至少要了解“jvm 内存模型”,推荐书籍《深入理解Java虚拟机:JVM高级特性与最佳实践》
1.2 Java的基础类库
Java的基础类库从你刚开始学Java就开始接触了,但是,直到你结束整个Java生涯,你都不一定能把所有的类都见一遍。
这说明了什么?是不是说明了Java基础类库的庞大?
错!大错特错!这其实真正说明的是,有很多类你完全不必要care它们,因为它们从你接触Java到放弃,都不一定能接触到。
所以,搞清楚哪些类重要,哪些类不重要,就非常有必要了。这可以让你以最短的时间,做最有价值的事。
下面我只推荐几个常用的类库。
精通java.io、java.lang、java.util源码;
深刻理解java.lang.reflect、java.net、javax.net.*、java.nio.*、java.util.concurrent.*;
还有少部分会用就行,其他大部分根本就不需要了解。
推荐书籍《Java编程思想》
1.3 Java的开发工具
这些开发工具主要就是辅助你开发的了,javac应该是最常用的一个了,虽然你几乎不用手动执行它。此外,其实还有一些比较实用的工具,可以帮助你排查问题。而且有的面试官,也会问你这类问题,比如问你平时都用什么工具排查问题。LZ觉得比较实用的几个工具主要有jmap、jconsole、jstack、jvisualvm,至于这几个工具有什么作用,LZ这里就不提了,如果你要了解这些命令的详细内容,可以去谷歌或者官网上找,还是非常好找的。当然,如果你有兴趣的话,也可以自己去JDK的bin目录下找找,看有没有什么更好玩的工具。
二、理解HTTP网络协议
看我上一篇文章HTTP|GET 和 POST 区别?网上多数答案都是错的!,你需要了解TCP和UDP的区别,知道GET和POST的区别,知道在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。
推荐书籍《HTTP权威指南》。
三、熟悉Spring IOC/AOP,SpringMVC,Mybatis等框架体系,并有实际开发经验
同样看我之前的文章Java|Spring+SpringMVC+MyBatis框架科普,这里最主要的是了解Spring相关的。
推荐书籍《Spring实战》。
四、熟练掌握mysql
知道索引的作用,知道如何创建合适的索引,知道如何鉴别一条sql是否有使用索引。
知道mysql事务的作用,了解各事务隔离级别的区别。
推荐书籍《高性能Mysql》
五、熟练使用Eclipse开发工具,Maven管理工具
使用eclipse开发过java web项目,熟悉常用的快捷键。
熟练掌握maven能够干嘛,jar管理,项目构建等。
六、熟练使用git版本管理工具
推荐廖雪峰的网站Git教程 - 廖雪峰的官方网站
七、了解一些操作系统的知识
锁、进程线程、cpu、内存等
这两天高考,又有一批学生要进入大学学习软件编程,希望对大家有用。
大学的课程很多,找准自己要走的方向,重点学习与你要走的路的课程,偶尔逃课在寝室做项目或去图书馆看书也不是不可以。
当然你也可以不学,只是你毕业找工作时会很狼狈不堪,月薪一千的工作都找不到,这没有夸张,就是现实。