程序员经常可以通过搜索或者记忆来完成代码,但是许多时候并不真正理解为什么那样写。也就是说,有一定经验的程序员不会犯一些低级的语法错误,但是因为不深入理解有可能造成一些高级错误,比如说运行无效率,代码难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()
- Collection和Map类以及接口
- 比较不同的List
- 比较不同的Set
- 比较不同的Map
- 怎样写一个有效率的计数器?
- HashMap常用的方法:循环,打印,按值排序
- 什么是类型擦除?
- 为什么Java引进泛型Generics的概念?
- Java是值传递还是址传递?为什么这样设计
- 为什么需要反射Reflection? (1)
- 为什么需要反射Reflection? (2) Example List
- 什么是框架Framework?为什么到处都是它?
- Why need Web framework?
- JVM运行时是什么样子?
- 数组在内存里是什么情况?
- Java如何处理Aliasing?
- 运行时对象在内存中是什么样的?
- 什么是内存泄漏?
- 什么是Servlet Container? Tomcat是什么?
- 为什么需要软件测试?
- 什么是面向方面编程
- 库与框架的区别
- 理解框架的一个小例子
- 把jar转化成exe
- 循环与递归
- Java与计算机核心课程
- 编译器是如何工作的?
- 8分钟了解什么是正则表达式
- 怎样用动态规划方法计算两字符串间的距离?
- Guava
- JSoup
- Spring
- Struts 2
- Swing
- Eclipse RCP
- 图说Java
- 数组10大常用方法
- String常见10大问题
- 正则表达式常见10大问题
- 异常处理常见10大问题
- Collection常见的10个问题
- Map常见的10个问题
- Java常用库汇总
- Java代码实例查询
- 讲故事理解设计模式
- 对Java高级程序员有益的10大网站
- 对Java高级程序员有益的10本书
- 编程面试10大算法概念汇总
- 优秀Java程序员博客汇总
- 周末找点乐趣
via programcreek