Java百问

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

  1. 从Hello World中你可以学到什么?
  2. 如何创建自己的库?
  3. 类如何初始化?
  4. 包和路径

–数据类型

关于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程序员博客汇总

– 娱乐

周末找点乐趣

转载于:https://my.oschina.net/u/554222/blog/185191

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值