Java 基础知识的精通主要体现在,能很顺畅的把 Java 的各种基础数据结构、各种内置对象,都融合到实际的场景中,能以最快的速度、最佳的方案,去解决实际中的工作问题。下面是昆明北大青鸟职业教育的小编为大家整理的相关内容,供参考。
Java 基础知识
要精通 Java 基础知识,大家可以深度思考一下我对各个知识点提出的几个问题:
1.1 Java 的类型转换
Java 是一种强类型语言,在编程中就离不开各种各样的类型转换。
可是大家有没有想过强制变换的底层细节是什么?有没有反过来想过,为什么 Java 向上转型是自动的,而向下转型却是强制的?
1.2 Java 的集合框架
Java 的集合框架用途是如此广泛,只要你开发个稍微复杂点的项目,就根本避不开要用它。在学习的时候,大家可以想想这么几个问题:
Java 的集合框架中的各种集合的最佳使用场景都是什么?
集合框架中的各种集合的子类实现都是为了解决他们父类的哪些不足的?
为什么在有了 Java 的集合框架后,我们还要使用 Guava 框架?
1.3 Java 的数组
Java 的数组大家都经常用了,可大家有没有想过:
我们什么时候使用数组,什么时候使用集合?
Java 的底层是如何对数组的越界进行检查的?
为什么 System.arrayCopy 方法会那么快?
1.4 Java 的 String
你有没有仔细看过 String 的代码呢?
有没有想过 String 为什么是不变的呢?
String 中的哪些方法创造出共享同一个 char 数组的字符串,又有哪些创造出有独立的 char 数组字符串呢?
1.5 接口和抽象类
Java 的接口和抽象类,在项目中如何最合适的使用一直都是一个不好解决的难题。大家在学习接口和抽象类的时候,可以想想:
Java 的接口相比抽象类有什么优势?又有什么劣势?
它们之间的特点各有什么不同?
有没有去看过一些开源项目中各个抽象类和接口是如何定义和使用的?
1.6 equals 和 hashcode
Java 的 equals 和 hashcode 方法之间总是有着重要的关联。
为什么重写 equals 方法要求 hashcode 方法也要跟着重写?
hashcode 方法都有哪些用处?
1.7 Java 的泛型和枚举
Java 的泛型和枚举对初学者来说是个比较难理解的知识点。还请大家多去查证一下:
泛型和枚举是为了解决什么问题才会被引入的?
Java 的泛型和枚举都有什么独有的特点?
泛型和枚举使用最经常出现的错误都有哪些?
1.8 Java 的 IO、NIO
IO 和 NIO 这里的学习,我在以前的文章也提过几次了。除了以前文章提过的一些学习建议,这里也有几个问题还请大家思考一下:
Java 的 IO 有什么缺陷才会引入 NIO 的?
NIO 中有哪些是经常被开源框架着重使用的?
1.9 Java 的网络编程
Java 的网络原生编程大家可能真的不常用,但是它确实是 Java 中的非常重要的基础,Java 的各种和网络相关的重要开源框架,之所以能拥有如此卓越的性能,都离不开 Java 原生网络底层优秀。
常用的 Java 开源网络框架,常用的编程模式有哪些?
Java 提供的网络编程基础,是不是还有什么不足之处?
1.10 Java 的正则表达式
Java 的正则表达式,可能很多工作多年的程序员掌握的也不好。但是,在做字符串匹配相关的业务时,是绕不开它的。
大家除了学习怎么使用正则表达式以外,还需要思考下:
有相同功能,但是写法不同的正则表达式之间,性能是不是有大的差别?
正则表达式能不能表达取反这个逻辑?
正则表达式在匹配上有哪些不够用的地方?
1.11 Java 的 JDBC
为什么我们总是习惯于 JDBC 的框架?
我们有没有办法使用 JDBC 去获取数据库中的各种元数据?
JDBC 的整体架构是什么样的?
有没有什么独特的地方你曾经在某些开源框架中见过?
1.12 Date、Time、Calendar
Java 的 Date、Time、Calendar 为什么难用?
有没有你觉得可以改进的地方?
为什么 JodaTime 这个框架会被人认为胜过 Java 的原生 Date、Time等。
教学点:1个 人气:385
教学点:1个 人气:278
教学点:1个 人气:272
教学点:1个 人气:218
教学点:1个 人气:209
关于我们 | 联系我们 | 咨询电话:4006-303-880
川ICP备07505283号
以上信息知识产权归“昆明北大青鸟职业教育”所有,并对内容的真实性和合法性负责,如有侵权或投诉,请联系我们处理。