Friday, August 28, 2015
Wednesday, August 26, 2015
2015-1-14周记
生命源于运动。而实践证明运动多了人也会是虚的。只有有节制的,合理的运动才是营造良好的身体的前提。最近可能运动的有些过了头,周六上2个多小时的羽毛球,继而周日又打了3个半小时的篮球,加之转周周4又3个小时篮球。好像彻底把我的经历耗光了一样。常常觉得浑身乏力,没有精神,大部分时间都处在一种昏昏欲睡的状态。于是身体机能和情绪也或多或少的受到了影响。也才堪堪明了,任何事情都要有个度才好。运动如此,生活更加如此。只有学会了克制与把控,才能享受优质的生活。这点是我需要向你学习并不断改进的地方。
好像暴风雨的前夜总是很安宁,海啸的前兆也异常平静。平淡而简单的生活,时间长了便总会生出些意想不到却也意料之中的事端。物极必反的道理时时刻刻的在我们的生活里体现。最近常因为一些我们将来需要面对的问题。或者是我的一些不是很明确的表示让我们觉得未来可怕的像是风雨欲来却明知故犯。太在意了所以畏惧,便萌生了退意。也会上我们之间出现些小小的嫌隙。但是我相信我们最终可以一起战胜所有的困难一步步夯实的走向共同期待的生活。所以不要去将那些我们还没办法决定的事情统统的考虑完全了,不要去猜忌前路是怎样的情形。一步步的走我们总会知道未来的生活是什么样子。而生活本身也就如同《大话西游》里紫霞仙子说的一样,我猜的着这开始,却猜不到这样的结局。那么既然如此又何必的无限放大心中所想,画饼充饥呢。已经有了饼的我们,只要好好想想如何争取获得一块肉就好了。而我也常相信着你我,能够踏踏实实的走好衣食无忧的生活。
最近常常觉得自己和朋友的联系变的少了,以前常是说你要多和同学联系啊。简单的一个电话或者短息都是一种表示。可现在自从手机坏掉,再加上肠胃生病以来有太久没有跟我的好基友们聊过天,谈过心。并没有以身作则的呈现一种好的引导。于是乎即使很多时候很想了解一下他们的近况,却因为这样那样的事情而变得懒了起来。片刻抛至于九霄云外。于是常深刻的认识到自己的不该。所以决定从新开始主动的捡起那些放下去的友谊。常联系,让自己更加的有所依,有所兴。
朋友固然重要,家人则尤甚。最近常给家里打电话各种各样的事情便不绝于耳,萦绕于心。说的多了无非就是哥哥的那些事情让家里人跟着着急罢了。虽然说真的是很让人累心的,但是也都总会解决好的不是。人活着还能被事情憋死吗?只要有志气和决心我相信什么事情都是可以迎刃而解的。回到我们两个人的事情上来,只要我们努力抱有信息我始终相信我们可以解决所有的困难。因为我们在乎呢!
最后,真的很期待,很期待24号呢。我们又可以一整天腻在一起了。在为数不多的可以24小时一起的生活里。我始终那么的期待和幸福着。那么亲爱的,我们24号见啦,嘿嘿嘿嘿嘿~~~~
治
那一个你(2014.6.12)
你说的那一个你,何尝不是每一个人心中都有的自己呢。
善良的自己和邪恶的自己,也都只是孩子而已。没有什么不能理解的。地球人的世界里,到最后也没有人会把邪恶的自己完全消灭的,因为就不完整。
我和你说过,觉得现在的自己不适合谈恋爱。只是委婉地表达,用不适合来解释不擅长。我就是不擅长。我不知道自己应该为自己喜欢的男生留多少面子算刚刚好,不确定自己关心多少算是不多不少不啰嗦,不知道送什么样的礼物不偏不倚能用得上且喜欢。
我自尊。对自己要求很高,什么都要求自己做得很好。有人说这是要强,以前还会争辩几句,现在都不会了。因为我那么理解的,要强,介意于与他人相比。而更多的我,只是想比自己想象中好一点。后来的我,越来越懒,越来越讨厌争辩,觉得毫无意义。(从什么事都要求意义上来说,我果然做事情目的性很强。)
我可以接受不完美的自己,却接受不了一点努力改变都没有的自己。会希望自己能够越来越好,从不擅长到还像学得还有模有样。
做不好的时候当然很容易会崩溃,但是崩溃也未曾说要放弃啊。即使是说了,也没有做呀。那天室友问我一道智力题,很简单的,要求20秒给答案,然后我看了几秒,就说我做不出来。那一刻让自己无限唏嘘起来。什么时候我也变得那么害怕失败了,都至于要提前认输,哈哈。说什么不到最后一秒决不放弃,简直胡扯,这还能是榜样。
你说我可能让你没有面子的时候,我也会很无助的。因为我在乎,在乎是不是我做的不好了,你就会离开我了。
你说我不能理解你的时候。
不能包容你的时候。
我真的也许就达不到你的期望值。可能以后也达不到。
我也和你一样,喜欢从自己身上先考量问题。
所以哪怕介意,还是很开心你那么告诉我了。只是我很想多问几句,我该怎么做呢,等着看吗。可是我不知道怎么开口啊。
不希望你心里把我当成比较的对象。不想你是为了变得比我更强在努力。尺有所长,寸有所短。迫不及待地把自己学习过的文档发给你,不是为了向你炫耀我在某一条路上走得比你远,是希望,你可以在这之上走更多的地方,这不是习题集的答案,仅仅一个例子而已。
那些我当成目标在努力的人,有可能有一天就被我甩在后面了。你说自己希望也成为我心里偶像一样的人物,我不知道你是怎么定义的。而坦白说,我希望你对我而言永远都不是偶像一样的人物,当偶像很累的,还要担心自己什么时候是不是配不上偶像的名字了。
我期待那个人,与我一同像平行的两条溪,奔涌向前。拍打的溪水就是我们对话的语言,沟通从不停止。我们来自大海,又流向大海。怀抱着大海一样的心,面对生活。
如果有一天我们达不成共识了,那么可能我们真的走远了吧。
生命中不完美的角落,我已经不再介怀,总要长大的。
我会
自尊 固执 虚荣 小气,可是谦虚,宽容,实在,大方的善良的自己还没有迷失的。
JAVA I/O system 8/27
==============2015/8/27==================================
- 对象序列化
对象序列化主要是为了能够将对象实现轻量级持久性。“持久性”意味这一个对象的生存周期并不取决于程序是否正在执行,它可以生存于程序的调用之间。通过将一个序列化对象写入磁盘,然后再重新调用程序时恢复该对象,就能够实现持久性的效果。之所以称其为“轻量级”,是因为不能用某种“persistent”关键字来简单地定义一个对象,并让系统自动维护其他细节问题。相反,对象必须在程序中显示地序列化和反序列化还原。
Java的对象序列化将那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可用过网络进行;这意味着序列化机制能够自动弥补不同操作系统之间的差异。
对象序列化的概念加入语言中是为了支持两种主要特性。一是Java的远程方法调用(Remote Method Invocation, RMI),它使存活于其他计算机上的对象使用起来就像是存活在本机上一样。二是,对Java Beans来说,对象的序列化也是必要的。使用一个Bean时,一般情况下是在设计阶段对它的状态信息进行配置。这种状态信息必须保存下来,并在程序启动时进行后期恢复。
要序列化一个对象,首先要创建某些OutputStream对象,然后将其封装在一个ObjectOutputStream对象内。这时,只需调用writeObject()即可将对象序列化,并将其发送给OutputStream。
要反向进行该过程,需要将一个InputStream封装在ObjectInputStream内,然后调用readObject()。我们最终获得的是一个引用,它指向一个向上转型的object,所以需要向下转型才能直接设置它们。
// 读写的是文件
ObjectOutputStream out = new
ObjectOutputStream(new FileOutputStream("worm.out"));
out.writeObject("Worm
storage\n");
out.writeObject(w);
out.close(); // Also flushes output
ObjectInputStream in = new
ObjectInputStream(new FileInputStream("worm.out"));
String s = (String)in.readObject();
Worm w2 = (Worm)in.readObject();
print(s+"w2 = "+w2);
//读写的是字节数组
ByteArrayOutputStream bout = new
ByteArrayOutputStream();
ObjectOutputStream out2 = new
ObjectOutputStream(bout);
out2.writeObject("Worm
storage\n");
out2.writeObject(w);
out2.flush();
ObjectInputStream in2 = new
ObjectInputStream(new ByteArrayInputStream(bout.toByteArray()));
s = (String)in2.readObject();
Worm w3 = (Worm)in2.readObject();
print(s+"w3 = "+w3);
|
1.
一旦从另外某个流创建了ObjectOutputStream,writeObject()就会将对象序列化。也可以为一个String调用一个writeObject()。也可以用与DataOutputStream相同的方法写入所有基本数据类型(它们具有相同的接口)。
2.
这两段看起来相似的独立的代码。一个读写的是文件,而另一个读写的是字节数组(ByteArray)。
序列化的控制
对于特殊需求的序列化(比如说考虑特殊的安全而难题,或者说你不希望对象的某一部分被序列化),可通过实现Externalizable接口——代替实现Serializable接口来对序列化过程进行控制。Externalizable接口继承了Serializable接口,同时增添了两个方法writeExternal()和readExternal()。这两个方法会在序列化和反序列化还原的过程中被自动调用,以便于执行一些特殊操作。
1.在Blips.java的例子中,Blip2的构造器不是public,而是default。这一点造成了它恢复时的异常。其原因是:在恢复对象时,会调用Blip1(Blip2)的默认构造器。
这与恢复一个Serializable对象不同。对于Serializable对象,对象完全以它存储的二进制位为基础来构造,而不调用构造器。而对于一个Externalizable对象,所有普通的默认构造器都会被调用(包括字段定义时的初始化),然后调用readExternal()。
public
class Blip3 implements Externalizable {
private int i; private String s;// No initialization
public Blip3() {
print("Blip3 Constructor");
// s, i not initialized
}
public Blip3(String x, int a) {
print("Blip3(String x, int
a)");
s = x;
i = a;
// s && i initialized only in
non-default constructor.
}
@Override
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException {
print("Blip3.readExternal");
// You must do this:
s = (String)in.readObject();
i = in.readInt();
}
@Override
public void writeExternal(ObjectOutput
out) throws IOException {
print("Blip3.readExternal");
out.writeObject(s);
out.writeInt(i);
}
…}
|
3.我们如果从一个Externalizable对象继承,通常需要调用基类版本的writeExternal()和readExternal()来为基类组件提供恰当的存储和恢复功能。
Subscribe to:
Posts (Atom)