《Java必须知道的300个问题》读书总结
这本书是在图书馆随便逛的时候找到的书。花了一下午看完了,感觉有用的地方不是很多,大部分都是些概念,并没有太大用途。不过里边有些东西还是可以看一看的,总结如下。
Java语言基础
1.表达式3-2.6==0.4的值?
答:false。 这是有基本数据类型浮点数计算的不精确性造成的。
3-2.6=0.39999999999999999999..
可以用BigDecimal进行浮点数精确计算。
2.&和&&两个运算符的区别?
答:& 位与,&& 逻辑与。
3.不适用循环和条件语句如何求1+2+3+…+n?
答:函数递归调用。
4.能正确编译”short s=1;s=s+1;”吗?
答:不能。类型不匹配。可:s+=1;
5. += 计算结果一定正确吗?
答:不。可能溢出。
6.两个整数相乘结果一定正确吗?
不。
long num=2147483648.超出int范围,编译错误。
long num=214748364*10 结果为-10.int溢出。
long num=2147483648L*10 正确。
7.如何跳出多重嵌套循环?
label:
fori(){
break label;
}
8.存储相同数据量的一维数组和二维数组所占内存是否相同?
二维数组远远大于以为数组。???
9.只能通过构造方法构造对象吗?
不是。
Calendar c=Clalendar.getInstance();
10.接口和抽象类的区别?
1、抽象类可以提供成员的实现细节,而接口不能。数级抽象时如果要求提供成员的实现细节,可选抽象类。
2、如果涉及抽象时选择抽象类,在以后的版本中可以随意为抽象类添加新成员。而接口只有修改现有代码才能添加新成员。
3.一个类可以实现多个接口,但是能继承一个抽象类。如果要实现类似多重继承的效果,选接口。
两者相似,某些功能可以互换。但理念不同,抽象类用于继承,表示is-a;接口用于实现,表示like-a。
11.clone()方法的使用?
1.浅克隆
被克隆的对象各个属性都是基本类型,而不是引用类型,如果存在引用类型的属性,则需要进行深克隆。
2.深克隆
如果需要克隆的饿对象的域包含引用类型,则需要使用深克隆;
繁殖,可以直接使用Object类的clone()方法进行浅克隆。
12.两种方式可以实现深克隆,效率如何?
1.序列化,效率很差。
2.榆次克隆各个可变的引用类型域的方式。
13.在内部类中调用外部类同名的成员?
在内部类中调用内容类的x: this.x=…
在内部类调用外部类的X: TheSamName.this.x=…
14.反射?
额,不会。。
字符串和包装类
15.自动装包、拆包?
基本数据类型自动转换成类.集合中不能存储基本数据类型。
int a=3;
arraylist.add(a);
16.String可以被继承么?
不可以。final修饰的类不能被继承。
17.各种进制的转换
Integer.parseInt(“101001010”,2);二进制转int
Integer.toBinaryString(int i);
…
Java集合类框架
18.数组 和 集合的转换
List list=new Arrays.asList(1,2,3,4,5);
Interger[] array=list.toArray(new Integer[]{});
19.Collection 和 Collections 的区别?
Collection是集合类的派生接口。是Java集合类的基础。
Collections是为集合类定义的工具类,包含了一些查找排序的方法,非常实用。
20.获得Map中的全部键?
Map接口中的keySet()方法
Set keySet()
Set keySet=map.keySet();
然后通过键获得值。
21.获得Map中的全部值?
values()
Collection values()
Collection values=map.values();
22.获得Map中的全部键值对?
Set
异常处理
23.throw和throws区别
throws是方法里的声明要抛出什么异常
throw是抛出具体异常
I/O
24.对象流?
DataInput DataOutput 可以吧对象写入到磁盘中
但是读写的对象必须实现了Serializable接口。
《Java必须知道的300个问题》读书总结的更多相关文章
- 高性能MySQL --- 读书笔记(1) - 2016/8/2
此书不但帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径.全书包括14章,内容覆盖MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优. ...
- 高性能MySQL --- 读书笔记(2) - 2016/8/2
第1章 MySQL架构 MySQL架构与其他数据库服务器大不相同,这使它能够适应广泛的应用.MySQL足够灵活,能适应高要求架构.例如Web应用,同时还适用于嵌入式应用.数据仓库.内容索引和分发软件. ...
- 高性能mysql读书笔记(一):Schema与数据类型优化
4.5 加快ALTER TABLE 操作的速度 原理: MySQL 的ALTER TABLE 操作的性能对大表来说是个大问题. MySQL 执行大部分修改表结构操作的方法是用新的结构创建一个空表,从旧 ...
- 《高性能MySQL》读书笔记--锁、事务、隔离级别 转
1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进 ...
- 【高性能Mysql 】读书笔记(三)
第5章 创建高性能的索引 本文为<高性能Mysql 第三版>第四章读书笔记,Mysql版本为5.5 索引基础 索引的重要性:找一本800面的书的某一段内容,没有目录也没有页码(页码也可类比 ...
- 【高性能Mysql 】读书笔记(二)
第4章 Schema 与数据类型优化 本文为<高性能Mysql 第三版>第四章读书笔记,Mysql版本为5.5 选择优化的数据类型 选择合适数据类型的三个原则 更小的通常更好 - 速度更快 ...
- 《高性能MySQL》 读书总结
目录: 第一章.MySQL架构与历史 第二章.MySQL基准测试 第三章.服务器性能剖析 第四章.Schema与数据类型优化 第五章.创建高性能的索引 第六章.查询性能优化 第七章.MySQL高级特性 ...
- 【高性能Mysql 】读书笔记(一)
第1章 Mysql架构与历史 MYSQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理( Query Processing)及其他系统任务( Server Task)和数据的存储 ...
- 1121高性能MySQL之运行机制
本文来自于拜读<高性能MySQL(第三版)>时的读书笔记作者:安明哲转载时请注明部分内容来自<高性能MySQL(第三版)> MySQL的逻辑构架 MySQL服务器逻辑架构 最上 ...
- 高性能mysql——高性能索引策略
<高性能MySQL>读书笔记 一. 索引的优点 1. 索引可以让服务器快速定位到表的指定位置,大大减少了服务器需要扫描的数量: 2. 最常见的B-Tree索引按照顺序存储数据,可以用来做o ...
随机推荐
- 第42篇-JNI引用的管理(1)
在本地函数中会使用Java服务,这些服务都可以通过调用JNIEnv中封装的函数获取.我们在本地函数中可以访问所传入的引用类型参数,也可以通过JNI函数创建新的 Java 对象.这些 Java 对象显然 ...
- miRNA 基本知识
miRNA MicroRNA (miRNA) 是一类内生的.长度约为20-24个核苷酸的小 RNA,其在细胞内具有多种重要的调节作用.每个 miRNA 可以有多个靶基因的表达,而几个 miRNA 也 ...
- windows和linux文本的编码格式不一样所出的错
windows下编写的python脚本上传的linux下执行会出现错误: usr/bin/python^M: bad interpreter: No such file or directory 原因 ...
- 【JavaWeb安全】RMI-Remote Method Invocator
RMI-Remote Method Invocator 什么是RMI?RMI有什么用? RMI允许用户通过数据传输,调用远程方法,在远程服务器处理数据.例如将1,3传到远程服务器的加法运算器,加法运算 ...
- vim中搜索指定单词(不加前后缀)
\< : 搜索内容作为单词开头 \> : 搜索内容作为单词结尾 一起用即为将搜索内容指定为whole word e.g. : word_suffix word 如果用/word来搜索则两个 ...
- 高效读取大文件,再也不用担心 OOM 了!
内存读取 第一个版本,采用内存读取的方式,所有的数据首先读读取到内存中,程序代码如下: Stopwatch stopwatch = Stopwatch.createStarted(); // 将全部行 ...
- Fragment放置后台很久(Home键退出很长时间),返回时出现Fragment重叠解决方案
后来在google查到相关资料,原因是:当Fragment长久不使用,系统进行回收,FragmentActivity调用onSaveInstanceState保存Fragment对象.很长时间后,再次 ...
- Output of C++ Program | Set 18
Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...
- Spring DM 2.0 环境配置 解决Log4j问题
搭建 spring dm 2.0 环境出的问题 log4j 的问题解决办法是 一.引入SpringDM2.0的Bundle,最后完成如下图所示:注意:要引入slf4j.api.slf4j.log4j. ...
- MFC入门示例之单选框、复选框
设置默认选中一个单选按钮,OnInitDialog()函数中添加: CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO2); 按钮事件处理 1 voi ...