《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 ...
随机推荐
- cvc-complex-type.2.3: Element 'servlet' cannot have character [children], because the type's content
错误原因:粘贴代码 <servlet> <servlet-name>barServlet</servlet-name> <servlet-class>S ...
- Hive(五)【DQL数据查询】
目录 一. 基本查询 1.1 算数运算符 1.2 常用聚合函数 1.3 limit 1.4 where 1.5 比较运算符(between|in|is null) 1.6 LIKE和RLIKE 1.7 ...
- 转 Android Monkey压力测试使用
转自:https://www.jianshu.com/p/c8844327f5e9 一.Monkey简介: Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送 ...
- ganglia -api
setup 命令: virtualenv ve source ve/bin/activate pip install -r requirements.txt python ganglia/gangli ...
- 【JAVA】【Basic】概念
1. 历史 1.1. Sun, Green Project, 90年代初,为机顶盒提供一个统一的语言层,oak-->Java, James Gosling, Sun World 1995:JAV ...
- JS 的三种定义变量 var let const
Let 只在 let 命令所在的代码块内有效,在外就会报错 Let 是块级作用域,函数内部使用let定义后,对函数外部无影响 Let/const 不存在变量提升,使用前一定要声明后,在使用,否则会报错 ...
- 【C/C++】BanGDream活动点数计算器
作为一个白嫖咸鱼,我每个活动都只打出三星卡就不玩了,于是写了一个模拟器,算算还要打几把hhh #include <iostream> #include <algorithm> ...
- java中关于string类和常量池的一点猜想
public class StringTest { /** * @param args */ public static void main(String[] args) { test1 ...
- centos部署代码仓库gitlab
目录 一.简介 二.程序部署 部署gitlab 汉化gitlab 三.设置管理员密码 网页方式 指令方式 一.简介 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托 ...
- Kubernetes-存储(二)
前言 本篇是Kubernetes第十三篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战. Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubern ...