而后,我在蓝墨云上请教了王老师,王老师给我了一个连接。html
参考资料:序列化和持久化的区别与联系 |
序列化和持久化很类似,有些人甚至混为一谈,其实仍是有区别的,序列化是为了解决对象的传输问题,传输能够在线程之间、进程之间、内存外存之间、主机之间进行。我之因此在这里提到序列化,是由于咱们能够利用序列化来辅助持久化,能够说凡是能够持久化的对象均可以序列化,由于序列化相对容易一些(也不是很容易),因此主流的软件基础设施,好比.net和java,已经把序列化的框架完成了。java
因此,序列化只是辅助持久化而已,是有必定区别的,换句话说,实现持久化就能够实现序列化。git
参考资料:Vector,ArrayList, LinkedList的区别 |
问题3:Java集合不能存放基本数据类型,只存放对象的引用。那么,为何ArrayList能够存放int类型的数据?
数据库
问题3解决方案:编程
能够经过包装类把基本类型转为对象类型,存放引用就能够解决这个问题。更方便的,因为有了自动拆箱和装箱功能,基本数据类型和其对应对象(包装类)之间的转换变得很方便,想把基本数据类型存入集合中,直接存就能够了,系统会自动将其装箱成封装类,而后加入到集合当中。数组
也就是说,集合类能够存放基本类型的包装类。那么,由于系统能够自动的装箱和拆箱,咱们就能够不用考虑添加的元素是不是基本数据类型了。
网络
参考资料: Java集合不能存放基本数据类型,只存放对象的引用 |
问题1:在作PP13.3的时候,我想逐个比较列表中的数。结果
数据结构
问题1解决方案:经过两次结果的对比,我发现了,这个循环做用是,前一个和后一个相比较,并非第一个依次与后几个比较。这是和题意相悖的。而后,我总结我须要运用两个循环,因此我定义了两个指针。让他们分别去循环。
框架
理解:首先,咱们要清楚call stack trace
是什么意思,在书P344,堆栈踪影。咱们可能不是很熟悉,可是咱们应该清楚什么是堆栈。而堆栈是一种以
后进先出方式管理数据的线性数据结构。 堆栈跟踪提供了储存在运行时堆栈中的发生异常方法、文件和代码行号。若是是,先进后出,那么就是反序输出的。ide
The idea that an object can exist separate from the executing program that creates it is called C
A . transience
B . static
C . persistence
D . serialization
E . finality
那么,咱们来看下解析:
对象存储在内存中,当它们再也不被引用时,被垃圾回收器回收。当Java程序终止时,没有对象被引用,所以全部对象都被回收。可是,能够保存任何给定的对象以供未来使用。这种特性称为持久性,经过将对象的实例数据保存到文件中来实现这一点。这能够经过将每一个实例数据写入数据文件来实现,可是使用对象序列化简化。
垃圾回收的什么咱们都懂,问题是persistence(持久化)是什么。
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
其实,就是把对象存入文件或者数据库中,跟IO流有关系?
同时,我也查了一下其余的选项。E应该是常量化,A不知道,主要是D序列化。咱们再看一下序列化的定义:
序列化是将对象状态转换为可保持或传输的格式的过程在MFC中储存或恢复对象的过程即为Serialization,也称为Persistent(永续生存)。在序列化期间,对象将其当前状态写入到临时或永久性存储区(存入文件中)。之后,能够经过从存储区中读取或反序列化对象的状态,从新建立该对象。以此达到面向对象中的永续生存。
咱们接着查下API加以理解接口Serializable。
参考资料: Persistence VS Serialization serialization 持久化 什么是java persistence |
Character streams manage C
A . byte-sized data
B . binary data
C . Unicode characters
D . ASCII characters
E . compressed data
理解:这题确实是鲁莽了。在书P352:
System类中有三种对象引用变量(in, out, err),分别表明了三种标准I/O流。
因此,System.err应该是一个对象,表明的是错误流。
理解:这道题,我选了D。那为何不会抛出异常呢。咱们须要了解空指针异常有哪些。
参考资料:通常报java.lang.NullPointerException的缘由有如下几种 |
- 字符串变量未初始化;
- 接口类型的对象没有用具体的类初始化;
- 当一个对象的值为空时,你没有判断为空的状况。
恍然大悟。
理解:如图。
编程方面一切如常,可是测试方面却有了大幅度的下滑。其实,我感受测试难度并不小。而我每次都是掐着时间,30道题大约40分钟。因此,此次正确率就比较低了。其实,我感受,并非我没有努力,只是个人进步没有其余人大吧。我也注意到此次测试有满分的,一样也有30分钟之内作完题目的。因此,我以为应该仔细查找一下本身的失误在哪里,毕竟你们学的都是一本教材。另外一方面,因为四则运算项目的缘由,我并无详细的预习11章,这是应该避免的。调整好本身的状态,要能承担的起生活的压力。不论是学习,仍是其余。但愿本身可以调整好心态,迎接以后的挑战。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 122/122 | 1/1 | 20/20 | |
第二周 | 487/609 | 1/2 | 18/38 | |
第三周 | 482/1091 | 1/3 | 22/60 | |
第四周 | 1357/2448 | 1/4 | 20/80 | |
第五周 | 628/3106 | 1/5 | 20/100 | |
第六周 | 566/3672 | 2/7 | 20/120 | |
第七周 | 934/4606 | 1/8 | 25/145 | |
第八周 | 2407/7013 | 1/9 | 30/175 | |
第九周 | 1504/8517 | 1/10 | 20/195 | |
第十周 | 981/9498 | 1/11 | 18/213 |