java是一门通用的编程语言,其实可以干很多事情,怎么学java就看怎么用了
熟悉一种文本编辑器,比如:vim,Emacs,Notepad++,TextMat等。知道哪些是开源的,哪些是闭源的,哪些要收费。养成不用盗版软件的习惯。
最近看资料的时候,浏览到一个程序员小哥哥的学习路线,觉得还不错,今天就给大家刨过来了。
第一阶段:JAVASE
用书参考《疯狂java讲义》,查字典方式使用
01、内容:
数据类型,基本型,引用型区别,
这里要了解内存区别,那些变量是放在哪里的。了解就行,以后有用。
02、特性:
多态,继承,在中级往高级过渡用得上,尤其是后期写比较优雅的代码。
接口与抽象类:要学习,知道是怎么回事。后期往高级有用。包括学习设计模式。
知道接口抽象类是什么,有什么区别就行。
03、数组:
数组的各种使用,排序算法要学,面试容易写冒泡排序。
做java开发快8年时间,如果大家对于学习java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的java交流学习qun:732308174。 多多交流问题,互帮互助,qun里有不错的学习教程和开发工具。
04、集合框架
这是很重要的,
List接口实现类,arraylist ,LinkdList使用,重点学习arraylist使用,知道底层是数组,数据结构是队列。知道arraylist的初始化长度是多少。长度是怎么变化的(了解后期有用)
LinkdList,背几个特点和arraylist的区别就行。(后期再学习)
Set:接口使用:去重场景下使用。
Map接口使用。重点练习HasMap的使用,知道Map的的底层是哈希表+数组。知道为什么key不重复。
HashTable背几个概念和HashTable的区别就行。(后期再学习)
集合框架非常重要:据我所知这部分知识是各大一线公司最爱问的问题,因为涉及到的知识很多,很深。算法也多。如果以后的目标10K左右的代码搬运工,那么只需要熟练使用arraylist和HashMap。不然就在基础阶段对各个特点,概念有个大概了解。后期逐步深入。
结合List,Map背几个队列,链表数据结构特点(15K以下面试,若问到也只是把这个几个概念背出来就行了)
05、常见类库的使用
Striing类
Object类
Date类
File类
包装类
这都不说了。每个API的方法眼熟一遍。
06、IO流
IO是很重要的,要学习字节流,字符流的接口常见实现类的使用。以及包装流使用
IO这部分重要是因为:
10-15K基本就是要运用各种流。熟练使用就行。
在后面涉及到通信,网络编程等学习,都要用到这块。
基础阶段只需要:达到读写文本。文件,图片,电影复制就行。
07、多线程
这部分知识,中级阶段,基本不用,如果要学习。但是面试容易问到
知道Thread,Runnale接口。以及写几个demo就行了。
如果要应付13K以下的面试多线程问题:把Thread和Runnable的基础类特点背几个,
了解start方法,run方法,锁,sleep,wait(背几个特点),有精力再了解死锁,假死,线程通信
08、反射:
反射纯属java中的高级知识:18K以下工作几乎不使用。但是非常重要,不用要了解,
也可以为后期做学习做铺垫。
基础阶段有学习内容:
反射是怎么回事,
类加载器,
使用反射操作类,方法,属性demo。
09、网络编程
能写几个socket demo,知道TCP,UDP.就行了。
到这里javaSE的学习基本完善。Java基础阶段主要是打好基础。对重点常用知识熟练使用,对各个技术点有个概念。知道是怎么回事。尤其是反射,多线程,网络编程。
JAVA第二阶段学习:
01、Servlet的学习:
Servelet的生命周期,是个什么东西,怎么初始化,初始化干了什么事。
Request的 response的,session ,Context的使用。区别,各个APi都要熟悉
那种场景下使用。
l Html+js基础
l Jsp+JSTL标签
l JDBC操作数据库+事物
l Mysql的安装,使用
这部分学习能使用servlet +jsp+JSTL+JDBC开发一个web。实现web界面增删该查,用户能登陆,
这部分的延伸学习:
1、会装虚拟机,会在虚拟机上使用linux。几个命令就行了。
2、学习至少两种设计模式。单例模式+包装模式
3、学习代理模式+动态代理(眼熟程度),+复习反射
4、学会使用监听器request,session的监听
5、学会使用过滤器
6、了解xml结构,含义。能解析xml文档
7、如果有精力装一个redis,能使用jedis操作redis。了解redis 5种数据结构
8、其他知识积累
今天就分享到这里,大家记得点赞收藏,分享转发