Java 运算符、集合框架、泛型、异常
来源:互联网 发布:时间序列数据分析工业 编辑:程序博客网 时间:2024/06/06 18:27
一、二进制
一个字节=八位
1.二进制的最高位为符号位:0表示正数,1表示负数
2.正数的原码、反码、补码都一样
3.负数的反码=它的原码符位不变,其他取反(0->1,1->0)
4.负数的补码=它的反码+1
5.0的反码、补码都是0
6.java中的数都是有符号的
7.计算机在运行时,都是以补码的形式来运行的
取反、异或等均使用补码运算
1.按位与&:两位全为1,结果为1
2.按位或 |:两位有一个为1,结果为1
3.按位异或 ^ :两位一个为0,一个为1,结果为1
4.按位取反 : 0->1,1->0
算数移位运算
1.>>算数右移:低位溢出,符号为不变,并用符号位补溢出的高位
2.<<算数左移:符号位不变,低位补0
3.>>> 逻辑右移,低位溢出,高位补0
二、集合框架
常用的集合类:Vector、ArrayList、LinkedList、HashMap、Hashtable、Stack
ArrayList:ArrayList al=new ArrayList();
al.add();
al.remove();
al.size();
HashMap
Iterator迭代
HashMap和Hashtable的区别
1.历史与原因
Hashtable是陈旧的Dictionary类的,HashMap是java2.1引进的Map接口的一个实现
2.同步性
Hashtable是同步的。这个类中的一些方法保证了Hashtable中的对象是线程安全的。
而HashMap则是异步的,因此HashMap中的对象并不是安全的。因为同步要求会影响执行的效率,所以如果你不需要线程安全的集合,那么使用HashMap是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销,从而提高效率。
3.值
HashMap可以让你将空值作为一个表的条目的key或value
而Hashtable是不能放入空值的(NULL)
ArrayList和Vector的区别
1.同步性
Vector是同步的,线程安全
ArrayList是异步的,线程不安全
2.数据增长
Vector缺省情况下自动增长为原来的一倍长度
ArrayList增长为原来的50%
所以如果你在集合中保存大量数据,那么使用Vector有一些优势
总结:
①如果要求线程安全,使用Vector和Hashtable
②如果不要求线程安全,应使用ArrayList,LInkedList、HashMap
③如果要求键值对,则使用HashMap和Hashtable
④如果数据量很大,又要考虑线程安全,用Vector
三、泛型
①类型安全
②向后兼容
③层次清晰
④性能较高
java的反射机制
通过反射机制,可以得到class的方法名,等等一些信息
四、异常
无论哪种异常,都是继承了java.lang.Throwable
①检查性异常 (java.lang.Exception)
②运行性异常 (java.lang.RuntimeException)
③错误 (java,lang.Error)
- Java 运算符、集合框架、泛型、异常
- Java学习_06_二进制、位运算&移位运算、集合框架
- java集合框架(泛型)
- Java集合框架 泛型
- Java 集合框架 泛型
- 集合框架 异常
- 异常 集合框架
- Java 继承,多态,接口,异常和集合框架
- java笔记-集合框架-泛型、Map集合
- Java集合:集合框架
- Java-集合框架(上)、泛型
- java 集合框架 泛型--15
- JAVA 异常大集合
- java 异常 集合
- Java 知识点 集合+异常
- 【Java】java集合框架
- [Java]Java集合框架
- JAVA集合框架和集合
- SpringData Jpa、Hibernate、Jpa 三者之间的关系
- linux多网卡绑定的一些细节以及创建多个不同模式bond接口的正确姿势
- java word2vec 学习
- 出师门槛
- Node.js入门小记(四)Api之QueryString
- Java 运算符、集合框架、泛型、异常
- 移动前端面试知识点总结1
- 葵花宝典 十二 Jsp声明 动作
- android shape
- MFC中Resource.h 使用小技巧
- android自定义通知栏_推送图片
- 第八篇:通过UDP广播事件
- 基础概念
- java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/DatabaseIdProvider