各位大神快进来java解答

本人大二学生,以后想往java方向发展,到课堂学的东西毕竟有限,所以希望各位有没有什么好的建议对于我在java中该干些什么,或者买些什么书

  首先,Java基础无语法系统了解,会用也还了解其原理,经典书籍<<Java编程思想>>和<<Java编程规范>>;其次,就是Java Web l技术框架,系统地了解,学会用;最后就是进阶学习,Java虚拟机底层知识,Java并发编程基础。关注jdk源代码,那都是大师级人物的产出。总之,多编码,多思考,一勤天下无难事。

1、基本语法

这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天面试我问你static关键字有哪些作用,如果你答出static

修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因

为能看出你非常热衷研究技术。

最深入的一次,LZ记得面试官直接问到了我volatile关键字的底层实现原理(顺便插一句,面试和被面试本身就是相对的,面试官能问这个

问题同时也让面试者感觉到面试官也是一个喜爱研究技术的人,增加了面试者对公司的好感,LZ最终选择的就是问了这个问题的公司),不

要觉得这太吹毛求疵了----越简单的问题越能看出一个人的水平,别人对你技术的考量绝大多数都是以深度优先、广度次之为标准的,切记

2、集合

非常重要,也是必问的内容。基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。

集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,能流利作答,当然能掌握

CopyOnWrite容器和Queue是再好不过的了。另外多说一句,ConcurrentHashMap的问题在面试中问得特别多,大概是因为这个类可以衍生出非

常多的问题,关于ConcurrentHashMap,我给网友朋友们提供三点回答或者是研究方向:

(1)ConcurrentHashMap的锁分段技术
(2)ConcurrentHashMap的读是否要加锁,为什么
(3)ConcurrentHashMap的迭代器是强一致性的迭代器还是弱一致性的迭代器

3、设计模式

本来以为蛮重要的一块内容,结果只在阿里巴巴B2B事业部面试的时候被问了一次,当时问的是装饰器模式。

当然咱们不能这么功利,为了面试而学习,设计模式在工作中还是非常重要、非常有用的,23种设计模式中重点研究常用的十来种就可以了

,面试中关于设计模式的问答主要是三个方向:

(1)你的项目中用到了哪些设计模式,如何使用
(2)知道常用设计模式的优缺点
(3)能画出常用设计模式的UML图

4、多线程

文章总结过多线程的40个问题,可以参看40个Java多线程问题总结。

5、IO

6、JDK源码

7、框架
8、数据库
9、数据结构和算法分析
10、Java虚拟机

可以先学习java web基础,包括HTML、JSP、JDBC、JavaScript、Servlet;
然后再学一些框架:Spring、SpringMVC、Hibernate;前端的jquery、bootstrap等,每一种类型的框架学习一种就可以。
当然数据库SQL是基础,计算机专业的同学应该都会。
搞清楚以上知识,java web技术体系会有一个比较全面的了解。然后可以选择一个方向深入学习,比如分布式系统、大数据。