Java百问
程序员经常可以通过搜索或者记忆来完成代码,但是许多时候并不真正理解为什么那样写。也就是说,有一定经验的程序员不会犯一些低级的语法错误,但是因为不深入理解有可能造成一些高级错误,比如说运行无效率,代码难Debug,等等。下面是一些常见的理解性问题,每一个问题尽量用图或代码去描述。带着问题去看有图的内容是一种娱乐和消遣。内容全部来自“码河网”(programcreek.com),包括基本语法、数组、集合类、泛型、面向对象、垃圾回收、异常控制、输入输出和内存。不断更新,欢迎大家提出有趣味的问题和意见。
从Hello World中你可以学到什么?
如何创建自己的库?
类如何初始化?
包和路径
–数据类型
关于double的一个常见问题
String不变性?
为什么String有不变性?
String是如何传递的?
length vs length()
什么是null?
–通用类和方法
比较Comparator与Comparable
hashCode()和equals()之间的协议
–面向对象
Overloading vs Overriding
Fields能不能被Overridden?
4种内部类
什么是内部接口?
构造函数如何使用?
访问权限
Private构造方法有什么作用?
– 异常处理
异常处理介绍
异常处理类结构
– 文件
一行一行读取文件
一行一行写入文件
– 多线程
多线程对日常编程有什么用?
一个图来演示Java处理多线程的原理
join()
notify()和wait()
– Collections & Maps
Collection和Map类以及接口
比较不同的List
比较不同的Set
比较不同的Map
怎样写一个有效率的计数器?
HashMap常用的方法:循环,打印,按值排序
什么是类型擦除?
为什么Java引进泛型Generics的概念?
— 反射
Java是值传递还是址传递?为什么这样设计
为什么需要反射Reflection? (1)
为什么需要反射Reflection? (2) Example List
什么是框架Framework?为什么到处都是它?
Why need Web framework?
— JVM
什么是JVM?
JVM运行时是什么样子?
垃圾收集器是如何工作的?
简单数据类型在内存中是什么形式?
数组在内存里是什么情况?
Java如何处理Aliasing?
运行时对象在内存中是什么样的?
什么是内存泄漏?
–有关应用的一些概念
什么是Servlet Container? Tomcat是什么?
为什么需要软件测试?
什么是面向方面编程
库与框架的区别
理解框架的一个小例子
把jar转化成exe
– 一些理论问题
循环与递归
Java与计算机核心课程
编译器是如何工作的?
8分钟了解什么是正则表达式
怎样用动态规划方法计算两字符串间的距离?
– 一些库的简单示例
Guava
JSoup
Spring
Struts 2
Swing
Eclipse RCP
–Top 10
图说Java
数组10大常用方法
String常见10大问题
正则表达式常见10大问题
异常处理常见10大问题
Collection常见的10个问题
Map常见的10个问题
–推荐收藏
Java常用库汇总
Java代码实例查询
讲故事理解设计模式
对Java高级程序员有益的10大网站
对Java高级程序员有益的10本书
编程面试10大算法概念汇总
优秀Java程序员博客汇总
– 娱乐
周末找点乐趣
程序员经常可以通过搜索或者记忆来完成代码,但是许多时候并不真正理解为什么那样写。也就是说,有一定经验的程序员不会犯一些低级的语法错误,但是因为不深入理解有可能造成一些高级错误,比如说运行无效率,代码难Debug,等等。下面是一些常见的理解性问题,每一个问题尽量用图或代码去描述。带着问题去看有图的内容是一种娱乐和消遣。内容全部来自“码河网”(programcreek.com),包括基本语法、数组、集合类、泛型、面向对象、垃圾回收、异常控制、输入输出和内存。不断更新,欢迎大家提出有趣味的问题和意见。
从Hello World中你可以学到什么?
如何创建自己的库?
类如何初始化?
包和路径
–数据类型
关于double的一个常见问题
String不变性?
为什么String有不变性?
String是如何传递的?
length vs length()
什么是null?
–通用类和方法
比较Comparator与Comparable
hashCode()和equals()之间的协议
–面向对象
Overloading vs Overriding
Fields能不能被Overridden?
4种内部类
什么是内部接口?
构造函数如何使用?
访问权限
Private构造方法有什么作用?
– 异常处理
异常处理介绍
异常处理类结构
– 文件
一行一行读取文件
一行一行写入文件
– 多线程
多线程对日常编程有什么用?
一个图来演示Java处理多线程的原理
join()
notify()和wait()
– Collections & Maps
Collection和Map类以及接口
比较不同的List
比较不同的Set
比较不同的Map
怎样写一个有效率的计数器?
HashMap常用的方法:循环,打印,按值排序
什么是类型擦除?
为什么Java引进泛型Generics的概念?
— 反射
Java是值传递还是址传递?为什么这样设计
为什么需要反射Reflection? (1)
为什么需要反射Reflection? (2) Example List
什么是框架Framework?为什么到处都是它?
Why need Web framework?
— JVM
什么是JVM?
JVM运行时是什么样子?
垃圾收集器是如何工作的?
简单数据类型在内存中是什么形式?
数组在内存里是什么情况?
Java如何处理Aliasing?
运行时对象在内存中是什么样的?
什么是内存泄漏?
–有关应用的一些概念
什么是Servlet Container? Tomcat是什么?
为什么需要软件测试?
什么是面向方面编程
库与框架的区别
理解框架的一个小例子
把jar转化成exe
– 一些理论问题
循环与递归
Java与计算机核心课程
编译器是如何工作的?
8分钟了解什么是正则表达式
怎样用动态规划方法计算两字符串间的距离?
– 一些库的简单示例
Guava
JSoup
Spring
Struts 2
Swing
Eclipse RCP
–Top 10
图说Java
数组10大常用方法
String常见10大问题
正则表达式常见10大问题
异常处理常见10大问题
Collection常见的10个问题
Map常见的10个问题
–推荐收藏
Java常用库汇总
Java代码实例查询
讲故事理解设计模式
对Java高级程序员有益的10大网站
对Java高级程序员有益的10本书
编程面试10大算法概念汇总
优秀Java程序员博客汇总
– 娱乐
周末找点乐趣