P672
try(FileReader fr = new FileReader("FileReaderTest.java"))
{
}为什么需要这样。。。感觉定义变量应该是在try的里面定义呀。。然后在FileReaderTest.java中,,明明在main处已经throws为什么还要try catch??
P673
使用java的IO流执行输出的时,不要忘记关闭输出流,关闭数据流除了可以保证流的物理资源被回收之外,可能还可以将输出流缓冲区的数据flush到物理节点(因为在执行close()方法之前,自动执行输出流的flush()方法)。。。怎么理解还可以将输出流缓冲区的数据flush到物理节点??flush是什么??flush与close的区别?
windows的换行符是\r\n??linux是\n??感觉不是换行符不都是\n??
P674
PrintStreamTest中ps.println(new PrintStreamTest())....感觉这句理解不起??
System.out是PrintStream类型。。有什么特征??为什么可以使用System.out.println("")??这个输出有什么特征?
GBK字符集与UTF-8字符集的区别??
P676
由于String是不可变的字符串对象,所以StringWriter使用StringBuffer作为输出节点,为什么String是不可变的字符串对象??为什么String是不可变的字符串对象,StringWriter使用StringBuffer作为输出节点??
4个缓冲区流增加了缓冲功能,增加缓冲功能可以提高输入、输出的效率,增加缓冲功能后需要使用flush()才可以将缓冲区的内容写入到实际的物理节点,如何理解缓冲功能??增加缓冲功能为什么可以提高输入、输出的效率??增加缓冲功能后为什么需要使用flush()才能将缓冲区的内容写入到实际的物理节点??
如何理解对象流??对象流主要用于实现对象的序列化,怎么理解对象的序列化?什么是对象的序列化?
P679
PushbackTest程序抛异常 而且程序执行结果不对。。
P680
为什么在RedirectOut中使用PrintStream ps = new PrintStream(new FileOutputStream(....))但是在RedirectIn中却不使用PrintStream。。而直接使用FileInputStream??
搞不懂这些对象??还有到底什么时候用什么类??
什么时候介绍使用Runtime对象的exec()方法可以运行平台上的其他应用,exec()方法如何使用??有什么作用??该方法产生一个Process对象??Process对象与之前的对象有什么联系??
P681
如果试图让子进程读取程序中的数据,那么应该用输入流还是输出流??不是输入流而是输出流。。感觉不是子进程去读取数据应该是输入流吗??为什么是输出流??
权衡输入、输出时总是站在运行本程序所在的内存的角度,怎么理解??
getRuntime()是什么??为什么不是Runtime直接调用exec()?
不仅如此,也可以通过Process的getOutputStream()方法获得向进程输入数据的流,该流对java程序是输出流,,对子进程是输入流??为什么??感觉输入流与输出流已经弄混了。
P682
完全看不懂WriteToProcess程序。。。晕
以p进程的输出流创建PrintStream对象,这个输出流对本程序是输出流,对p进程是输入流。。。??
想ReadStandard程序写入内容,这些内容将被ReadStandard读取??为什么此处ps.println("....")就是这些内容将被ReadStandard读取??
定义一个ReadStandard类,该类可以接收标准输入,并将标准输入写入到out.txt文件中。。感觉程序里面没有标准输入。。。
运行上面的WriteToRead类,程序运行结束将看到产生一个out.txt文件。。貌似没看见呢?
P686
为什么序列化是RMI过程的参数和返回值都必须实现的机制??
P688
反序列化读取的仅仅是java对象的数据,而不是java类,因此采用反序列化恢复java对象时,必须提供该java对象所属类的class文件,否则将会引发。。。读取的java对象的数据与java类的对象有什么区别??为什么必须提供java对象所属类的class文件??
当反序列化读取java对象时,并没有看到程序调用该构造器,这表明反序列化机制无须通过构造器来初始化java对象。。。只是打开文件为什么会看到程序调用构造器??
搞不懂这句话?
当一个序列化类有多个父类时(包括直接父类和间接父类),这些父类要么有无参数的构造器,要不也是可序列化的---否则反序列化时将抛出异常。。为什么呢??如果父类是不可序列化的,只是带有无参数的构造器,则该父类中定义的成员变量不会序列化到二进制流中,为什么父类中定义的成员变量不会序列化到二进制流中??
P689
当程序序列化一个Teacher对象时,如果该Teacher对象持有一个Person对象的引用,为了在反序列化时可以正常恢复该Teacher对象,程序会顺带将该Person对象也进行序列化,所以Person类也必须是可序列化的,否则Teacher类将不可序列化??为什么??
P716
并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。。。感觉多个进程也可以在多个处理器上并发执行??
线程与子进程的区别??
什么是线程?
P722
在这种方式下,多个线程可以共享同一个target对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。感觉明明是多个线程共享了target对象之后还有共享的问题,需要上锁等问题不是更麻烦了??为何可以将CPU、代码和数据分开??又怎么较好的体现了面向对象的思想??
P723
为什么启动线程使用start方法而不是run方法??
P724
所有现代的桌面和服务操作系统都采用抢占式调度策略,但一些小型设备如手机则可能采用的协作式调度策略。。协作式调度策略是什么??两者有什么区别??
线程调用一个阻塞式IO方法,在该方法返回之前,该线程被阻塞。。阻塞式IO方法是??
线程试图获得一个同步监视器,但该同步监视器正被其他线程所持有,同步监视器是什么??
线程在等待某个通知。。。通知??是内核通知??等待通知是否就等于阻塞??
程序调用了suspend方法将该线程挂起,但这个方法容易导致死锁,,为什么会导致死锁??死锁是??感觉suspend挂起阻塞之后,就将资源释放了呀为何会死锁??