Simple Java
简介
1. 字符串和数组
什么是字符串的不可变性?
substring() 是如何工作的?
为什么字符串是不可变的?
创建 Java 字符串使用 " " 还是构造函数?
字符串是否通过引用传递?
length 与 length()
如何高效地检查一个数组是否包含某个值
什么是可变长度参数(Varargs)?
null 到底是什么?
2. 常用方法
Comparator 对比 Comparable
hashCode() 与 equals() 之间的契约
Java 通过引用还是按值传递对象?
迭代(Iteration)对比递归(recursion)
3. 类和接口
Overloading 对比 overriding
什么是实例初始化?
字段不能被覆盖?
继承(Inheritance)与组合(composition)
如何使用 Java 枚举?
有几种内部类?
什么是内部接口?
子类和超类的构造方法
Java 成员访问级别
什么时候使用私有构造函数?
4. 集合
Collection 与 Map 的层级结构
ArrayList vs. LinkedList vs. Vector
HashSet vs. TreeSet vs. LinkedHashSet
HashMap vs. TreeMap vs. HashTable vs. LinkedHashMap
按值对 Map 进行排序
一个 TreeSet 的例子
高效的计数器
HashMap 中常用的方法
深入理解 Arrays.sort(T[], Comparator < ? super T > c)
开发人员是如何排序的?
java.util.ConcurrentModificationException 异常
5. 泛型
为什么需要泛型类型?
为什么需要泛型方法?
什么是类型擦除?
Set 与 Set
将 Array 转换为 ArrayList 的最佳方式是什么?
6. 异常
异常处理是如何工作?
异常类的层级关系
7. 并发
监视器 - Java 同步的关键思想
如何让一个方法是线程安全的?
Java 中 join() 方法
Java 中 notify() 和 wait() 方法
通过覆盖的方式创建线程
8. IO 和 数据库
逐行读取文件
逐行写入文件
FileOutputStream 与 FileWriter
应该将 .close() 放在 finally 块中吗?
Java 序列化
如何使用属性文件?
9. 编译器和虚拟机
JVM 运行时数据区域
Java 如何处理别名?
数组在内存中看起来像什么?
什么是内存泄漏?
从 “Hello World” 中可以学到什么?
类是何时并且如何被加载和初始化的?
静态类型检查
为重载和覆盖方法生成代码
10. 热门收藏
Java 程序员常犯错误 Top 10
Java 数组常用方法 Top 10
Java 字符串常见问题 Top 10
Java 正则表达式常见问题 Top 10
Java 异常常见问题 Top 10
Java 集合常见问题 Top 10
Java Map 常见问题 Top 9
使用最广泛的 Java 库
Java 程序员进阶网站 Top 10
Java 程序员进阶书籍 Top 10
Java 精选博客 Top 100
面试中常见的10个算法问题
图解 Java
100个常用的 Java 类
11. 库和框架
Java 反射
什么是框架?
为什么我们需要像 Struts 2 这样的 Java Web 框架?
什么是 Servlet 容器? 什么是 Tomcat ?
什么是面向方面编程(AOP)?
库与框架
Spring
使用 Spring 框架的开源项目
Java 设计模式
Struts 2
CVS 版本控制系统是如何工作的?
为什么我们需要软件测试?
将 Java jar 文件转换为 exe 可执行文件
Guava
Log4j
JSoup
Swing
12. 其他
在命令行中编译和运行 Java
如何建立属于自己的库?
如何获取 double 类型?
Java 和计算机科学课程
Java 与 Python 之基本语法
Java 与 Python 之日期类型
如何通过 Java 写一个爬虫程序?
程序员可以在周末做的8件事
声明初始化和范围界定
日期格式
Java 包和类的路径
Powered by
GitBook
程序员可以在周末做的8件事
results matching "
"
No results matching "
"