码迷,mamicode.com
首页 > 编程语言 > 详细

EverythingAboutJava

时间:2017-04-04 11:54:18      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:没有   支付宝支付   char   级别   com   java序列化   new   引用   tps   

1 GC gabage collection 垃圾回收
Java GC系列(1):Java垃圾回收简介 http://mp.weixin.qq.com/s?src=3&timestamp=1491136174&ver=1&signature=b1BrTvreiCRq8cd5MvCp4rtefuzjbTgTPSi6yhsoUR7OBA7K7ck2LkNCCnps7wfM-OPPYVhc9p9pZ88Ec8mdttQ4wGV4hwKJ06lmo*Khoh1t029Yp06Y10so14QDFsCjZNN--UHOn0*wprPl1wIl8Q==
Java GC系列(2):Java垃圾回收是如何工作的? http://mp.weixin.qq.com/s?src=3&timestamp=1491136174&ver=1&signature=b1BrTvreiCRq8cd5MvCp4rtefuzjbTgTPSi6yhsoUR4EYSIkic2Gl4Z*xJ2SLYfdRgR4nISQ*AVS9iBWx9IG93BZO5A6DDDYQwDTLr3IKEC3KGr52PV1-2C3MnWh2WzqbGru2K-cbu6pkr*abj5yug==
Java GC系列(3):垃圾回收器种类 http://www.doc88.com/p-2425232385159.html
Java GC系列(4):垃圾回收监视和分类 http://www.doc88.com/p-3032313142627.html

2 Reader 和 InputStream的区别
Reader用于读取Unicode编码的字符
InputStream的区别用于读取ASCII字符和二进制数据

3 == 和 equals的区别
equals用于比较内容是否相等
== 如果比较基本类型,是比较值是否相等,比较对象的变量类型,引用是否指向同一引用

4 String s = "aa" + "bb"编译器会做什么优化?
String s = "aabb";
如果是String s = "aa" + bb; //bb也是一个字符串
jdk1.4 new StringBuffer().append("aa").append(bb).toString();
jdk1.5 new StringBuilder().append("aa").append(bb).toString();

5 String、StringBuffer与StringBuilder之间区别
http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html

6 Java有哪些基本数据类型?String是不是基本数据类型?
Java有8种基本数据类型
boolean char byte short int long float double 整数长度固定,且没有无符号类型
String是标准库的类

7 如果在hashCode中返回常量1,会有什么结果?
在HashMap中,所有这个类的对象都会出现hash冲突,从而使HashMap的查找性能降低为线性级别

8 char型变量能不能存储一个中文汉字,为什么?
可以,因为Java内部使用UTF8

9 HashMap 和 HashTable的区别
http://www.cnblogs.com/langtianya/archive/2013/03/19/2970273.html

10,一个Java对象作为Map的key时需要满足的前提条件是什么?
该对象需要重载hashCode和equals方法

11,什么是Java序列化?如何实现Java序列化?
序列化是一种处理对象流的机制:将对象的内容流化,可以对流化后的对象进行读写操作,
也可以将流化后的对象传输于网络之间。
序列化的实现: 实现Serializable接口,该接口没有需要实现的方法,只是为了标注
该对象是可被序列化的。然后使用一个输出流构造一个 ObjectOutputStream对象,
接着使用该对象的writeObject(Object obj)方法就可以将参数obj的对象写出。

12,interface 和 abstract class的区别
interface 是一种 约定关系
abstract class 体现一种继承关系

13,如果A和B对象循环引用,是否可以被GC
可以

14,多态的实现
一,子类重写父类的方法
二,用父类的引用,引用不同的子类,这样调用同样的方法,就会根据子类对象
的不同而表现出不同的行为。

15,多态的例子
比如微信支付和 支付宝支付,对于通向的支付接口,根据具体对象,可以表现出不同的行为。

16,面向对象和面向过程的区别?
面向过程是以事件为中心的编程思想
面向对象以对象为中心,关注对象的行为。

17,重载和重写
重载发生在同一个类中,方法名相同,调用参数的不同。
重写发生在父类和子类之间, 根据不同的子类确定调用的具体方法。

18,里氏替换,任何时候都可以用子类型替换掉父类型

19,面向接口编程,因为抽象类型可以被它的任何一个子类型代替

20,
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

EverythingAboutJava

标签:没有   支付宝支付   char   级别   com   java序列化   new   引用   tps   

原文地址:http://www.cnblogs.com/fupeng/p/6664441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!