程序员经常可以通过搜索或者记忆来完成代码,但是许多时候并不真正理解为什么那样写。也就是说,有一定经验的程序员不会犯一些低级的语法错误,但是因为不深入理解有可能造成一些高级错误,比如说运行无效率,代码难Debug,等等。下面是一些常见的理解性问题,每一个问题尽量用图或代码去描述。带着问题去看有图的内容是一种娱乐和消遣。内容全部来自programcreek.com,包括基本语法、数组、集合类、泛型、面向对象、垃圾回收、异常控制、输入输出和内存。不断更新,欢迎大家提出有趣味的问题和意见。

Java

  1. 从Hello World中你可以学到什么?
  2. 如何创建自己的库?
  3. 类如何初始化?
  4. 包和路径
  5. 关于double的一个常见问题
  6. String不变性?
  7. 为什么String有不变性?
  8. String是如何传递的?
  9. length vs length()
  10. 什么是null?
  11. 比较Comparator与Comparable
  12. hashCode()和equals()之间的协议
  13. Overloading vs Overriding
  14. Fields能不能被Overridden?
  15. 4种内部类
  16. 什么是内部接口?
  17. 构造函数如何使用?
  18. 访问权限
  19. Private构造方法有什么作用?
  20. 异常处理介绍
  21. 异常处理类结构
  22. 一行一行读取文件
  23. 一行一行写入文件
  24. 一个图来演示Java处理多线程的原理
  25. join()
  26. notify()和wait()
  27. Collection和Map类以及接口
  28. 比较不同的List
  29. 比较不同的Set
  30. 比较不同的Map
  31. 怎样写一个有效率的计数器?
  32. HashMap常用的方法:循环,打印,按值排序
  33. 什么是类型擦除?
  34. 为什么Java引进泛型Generics的概念?
  35. Java是值传递还是址传递?为什么这样设计
  36. 为什么需要反射Reflection? (1)
  37. 为什么需要反射Reflection? (2) Example List
  38. 什么是框架Framework?为什么到处都是它?
  39. Why need Web framework?
  40. JVM运行时是什么样子?
  41. 数组在内存里是什么情况?
  42. Java如何处理Aliasing?
  43. 运行时对象在内存中是什么样的?
  44. 什么是内存泄漏?
  45. 什么是Servlet Container? Tomcat是什么?
  46. 为什么需要软件测试?
  47. 什么是面向方面编程
  48. 库与框架的区别
  49. 理解框架的一个小例子
  50. 把jar转化成exe
  51. 循环与递归
  52. Java与计算机核心课程
  53. 编译器是如何工作的?
  54. 8分钟了解什么是正则表达式
  55. 怎样用动态规划方法计算两字符串间的距离?
  56. Guava
  57. JSoup
  58. Spring
  59. Struts 2
  60. Swing
  61. Eclipse RCP
  62. 图说Java
  63. 数组10大常用方法
  64. String常见10大问题
  65. 正则表达式常见10大问题
  66. 异常处理常见10大问题
  67. Collection常见的10个问题
  68. Map常见的10个问题
  69. Java常用库汇总
  70. Java代码实例查询
  71. 讲故事理解设计模式
  72. 对Java高级程序员有益的10大网站
  73. 对Java高级程序员有益的10本书
  74. 编程面试10大算法概念汇总
  75. 优秀Java程序员博客汇总
  76. 周末找点乐趣

via programcreek


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity