?????? 这个类不能被覆盖
3、findSystemClass方法
?????? 从本地文件系统装入文件。对于系统提供的ClassLoader,只有尝试其他方法装入类之后,才使用findSystemClass。
4、resolveClass方法
?????? 我们可以不解析地装入类,也可以解析地装入类。当编写我们的loadClass时,可以调用resolveClass(取决于loadClass的resolve参数)
5、findLoadedClass方法
?????? 充当一个缓存,当loadClass装入类时,调用该方法判断ClassLoader是否已经装入该类 避免重复装入类
6、findClass方法
?????? loadClass默认是先调用这个方法 一般覆盖这个方法重写类加载器
7、getSystemClassLoader方法
?????? 目的是运行ClassLoader获取到它的父类ClassLoader 当定制的ClassLoader找不到类时 可以使用这种方法
8、forName方法
?????? Class的静态方法。和loadClass一样都是加载类,但是作用有区别。
?????? Class.forName("some") 等同于 Class.forName("some",true,CALLCLASS.class.getClassLoader());
JVM的编码时unicode,奖一个字符分为两部分:JVM内部和OS的文件系统
?????? JVM内部统一使用Unicode表示,当这个字符从JVM内部移到外部,就完成了编码转化。所有的编码转化只发生再边界的地方,JVM和OS交界处,也就是各种输入/输出流起作用的地方
I/O基本上分为两大阵营:面向字符的I/O和面向字节的I/O
?????? 面向字节就是保证系统中的文件二进制内容和读入JVM内部二进制内容一致,不做0 1顺序变换。这种方式很适合读入视频文件或者音频文件,或者任何不需要做变换的文件内容。
?????? 面向字符就是希望系统中文件的字符和读入内存中的字符要一致。比如一个字符'国',我们只关心'国'这个字,只希望它都出来仍然是'永',不关心这个变量具体的二进制是多少。
?????? Reader/Writer是面向字符的顶层接口 InputStream和OutputStream是面向字节的顶层接口 InputStreamReader和OutputStreamWriter是字节流和字符流之间的适配器类

?????? 在I/O结构中,RandomAccessFile是比较不寻常的类,直接继承于Object,不属于Streams结构中的一部分。RandomAccessFile raf = new RandomAccessFile("myfile.txt","rw");
数据类型转化问题
?????? (byte,short,char这三个相加都是转化为int,char转化为ASCII码)-int-long-float-double
?????? Integer.valueOf(int)从int到Integer包装 i.intValue()从Integer到int转化
?????? 三目运算符是右结合的 如true?false:true == true?false:true等价于true?false:((true==true)?false:true)
?????? 三目运算符也会进行数据类型转换 比如a<5?10.9:9结果是9.0 不是 9
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-87102-4.html
第四就把海警舰队扩