给自己——java学习路线

一个java程序猿的技能经验储备分为两大块 : 一. Java语言本身及高级特性   二. Java项目经验


先从一说起,除了使用java完成基础工作外,哪些方面需要必备呢:

1)Java数据结构相关的类的实现原理:比如 LinkedList,ArrayList,HashMap,TreeMap等

    比如:哪些集合是有序的? 它是如何保证自己的有序性? 哪个集合的有序性实现的比较好?有没有更好更高效的实现方式?

2)Java并发包

    比如:想实现程序的并发执行,有什么好的办法吗?哪个办法更好?

3)IO和NIO (NIO重要)

    NIO模型?(selector一定要非常清楚它的职责和实现原理,记住NIO的核心是IO线程池)

    IO包的设计模式?(装饰器模式)为什么这样设计?

4)Java虚拟机内容 (三大部分:GC,类加载机制,内存模型) 

    比如:GC:对象什么时候会被GC?GC策略有哪些?为什么要选择这个策略?

             类加载机制:类加载机制有哪些?每个类加载器都加载哪些类?什么是双亲委派机制?为什么要用双亲委派机制?

             内存模型:内存分为哪几部分?哪些部分参与GC?Java内存模型是怎么设计的?为什么这么设计?什么是内存可见性?

以上就是Java语言稍微高级点的内容,包含了JVM,并发机制,多线程,数据结构类实现原理等,也是工作中最常见的问题所在。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值