Java编程知识解析:NIO.2与JDBC深入探讨
1. Java序列化与流操作要点
在Java编程中,序列化和流操作是重要的基础概念。对于序列化,在反序列化过程中,Java会调用第一个非可序列化无参父类的构造函数,跳过中间可序列化类的构造函数和默认初始化。例如,若有相关代码,当进行反序列化时, Object()
是第一个被调用的构造函数,所有默认初始化都会被跳过。而且,如果某个属性被标记为 transient
,那么反序列化后该属性的值为 null
。
在流操作方面,并非所有的 java.io
流都支持 mark()
操作。在未调用 markSupported()
方法之前,无法确定流是否支持 mark()
操作,直到运行时才能知晓结果。若流支持 mark()
操作, reset()
操作会将流恢复到 mark()
之前的位置, skip(1)
会跳过一个字符;若不支持,则可能会抛出运行时异常。
2. NIO.2 相关知识
2.1 路径操作问题
在路径操作中,有一些常见的错误和正确的处理方式。比如,代码中使用 Path.get()
是错误的,应该使用 Paths.get()
。同时, relativize()
方法需要