摘要: 序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 如何实现Java的序列化? 只需让一个类实现Serializable接口,但引入序列化后,它的许多标准类库的类,包括primitive的wrapper类,所有的容器类,以及别的很多类,都会 阅读全文
posted @ 2018-11-07 21:51 image_erfsfj 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 如果一个数是2的阶次方数,则它的二进制数的首位一般是1,后面全为0.比如8:1000,64:1000000,如果将这个数减1后再作与&运算,则应该全为0,(x&(x-1)==0&&x!=0)则是2的阶次方数。 阅读全文
posted @ 2018-11-07 21:49 image_erfsfj 阅读(652) 评论(0) 推荐(0) 编辑
摘要: int i = 0; i++; System.out.println(i);//打印1 i = i++; System.out.println(i);//打印1 int i = 0; i++; System.out.println(i);//打印1 i = i++; System.out.print 阅读全文
posted @ 2018-11-07 21:47 image_erfsfj 阅读(123) 评论(0) 推荐(0) 编辑
摘要: (1)线程是CPU独立运行和独立调度的基本单位; (2)进程是资源分配的基本单位; 两者的联系:进程和线程都是操作系统所运行的程序运行的基本单元。 区别: (1)进程具有独立的空间地址,一个进程崩溃后,在保护模式下不会对其它进程产生影响。 (2)线程只是一个进程的不同执行路径,线程有自己的堆栈和局部 阅读全文
posted @ 2018-11-07 21:43 image_erfsfj 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 有一种对象只叫对象,有一种对象叫实例化对象(实例)。 我们知道抽象类是不可以被实例化的,那它的对象就不能叫实例化对象,只能叫对象, 而普通类的对象,既可以叫对象,也可以叫实例化对象(实例) 阅读全文
posted @ 2018-11-07 21:42 image_erfsfj 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 可以再预计正常情况下不会到达的任何位置上放置断言,断言可以用于验证传递给私有方法的参数。不俺的参数过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态 阅读全文
posted @ 2018-11-07 21:41 image_erfsfj 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 1,对象没有引用 2,作用域发生未捕获异常 3,程序在作用域正常执行完毕 4,程序执行了System.exit() 5,程序发生意外终止(被杀进程等) 阅读全文
posted @ 2018-11-07 21:40 image_erfsfj 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1. 存储结构 HashTable 数组 + 链表 HashMap的存储规则: 优先使用数组存储, 如果出现Hash冲突, 将在数组的该位置拉伸出链表进行存储(在链表的尾部进行添加), 如果链表的长度大于设定值后, 将链表转为红黑树. HashTable的存储规则: 优先使用数组存储, 存储元素时, 阅读全文
posted @ 2018-11-07 21:39 image_erfsfj 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Error(错误) 是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。 Ex 阅读全文
posted @ 2018-11-07 21:36 image_erfsfj 阅读(244) 评论(0) 推荐(0) 编辑
摘要: final: 1、被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承 2、将变量或方法声明为final,可以保证他们在使用的过程中不被修改。 3、被final声明的方法也同样只能使用,即不能方法重写。 finally: 1、finally是在异常处理时提供finally块来 阅读全文
posted @ 2018-11-07 21:34 image_erfsfj 阅读(239) 评论(0) 推荐(0) 编辑