Java基础系列<一>

来源:互联网 发布:oracle linux安装教程 编辑:程序博客网 时间:2024/04/28 13:52

1、 泛型 的好处:

1> 把运行时出现 的问题提前至了编译时。2>避免了无谓的强制类型转换。

2、在泛型中没有多态的概念,两边的数据必须要一致。 或者是只写一边 的泛型类型。

推荐使用: 两边的数据类型都写上一致的。

3.线程安全问题出现 的根本原因:
1> 必须要存在两个或者两个以上的线程共享着一个资源。
2> 操作共享资源的代码必须有两句或者两句以上。

4、1>同步代码块的锁可以是任意的对象。 同步函数的锁是固定 的,非静态函数的锁对象是this对象。 静态函数的锁对象是class对象。
2> 锁对象必须是多线程共享的对象,否则锁不住。
3> 在同步代码块或者是同步函数中调用sleep方法是不会释放锁对象的,如果是调用了wait方法是会释放锁对象的。

5、 IO解决问题: 解决设备与设备之间 的数据传输问题。 比如: 硬盘—>内存 内存—–>硬盘.

6、字节流:

输入字节流:
————| InputStream 所有输入字节流的基类。 抽象类。
————| FileInputStream 读取文件的输入字节流。
————| BufferedInputStream 缓冲输入字节流。 该类内部其实就是维护了一个8kb字节数组而已。该类出现的目的是为了提高读取文件数据的效率。

输出字节流:
————| OutputStream 所有输出字节流的基类。 抽象类。
————| FileOutputStream 向文件输出数据 的输出字节流。
————| BufferedOutputStream 缓冲输出字节流。 该类出现的目的是为了提高向文件写数据的效率。 该类内部其实也是维护了一个8kb的字节数组而已。

什么情况使用字节流: 读取到数据不需要经过编码或者解码的情况情况下这时候使用字节流。比如:图片数据;

字符流 = 字节流 + 编码(解码)
字符流:

输入字符流
——–| Reader 所有输入字符流的基类。 抽象类。
———–| FileReader 读取文件字符的输入字符流。
———–| BufferedReader 缓冲输入字符流。 该类出现的目的是为了提高读取文件字符的效率并且拓展了功能(readLine()),它内部 其实就是维护了一个8192个长度的字符数组。

输出字符流
——-| Writer 所有输出字符流的基类。 抽象类。
————| FileWriter 向文件输出字符数据的输出字符流。
—————| BufferedWriter 缓冲输出字符流。该类出现的目的是为了提高写文件字符的效率并且拓展了功能(newLine())。

什么情况下使用字符流:如果读写的都是字符数据,这时候我们就使用字符流。

转换流:

输入字节流的转换流 输入字节流———输入字符流
InputSrteamReader

输出字节流的转换流
OutputStreamWriter

转换流的作用:
1. 可以把对应的字节流转换成字符流使用。
2. 可以指定码表进行读写文件的数据。

7、JUnit
不用JUnit单元测试,如果方法需要测试,都需要在main方法上调用,得到的接果还需要人工对比。
junit要注意的细节:

  1. 如果使用junit测试一个方法的时候,在junit窗口上显示绿条那么代表测试正确,如果是出现了红条,则代表该方法测试出现了异常不通过。
  2. 如果点击方法名、 类名、包名、 工程名运行junit分别测试的是对应的方法,类、 包中 的所有类的test方法,工程中的所有test方法。
  3. @Test测试的方法不能是static修饰与不能带有形参。
  4. 如果测试一个方法的时候需要准备测试的环境或者是清理测试的环境,那么可以@Before、 @After 、@BeforeClass、 @AfterClass这四个注解。
    @Before、 @After 是在每个测试方法测试的时候都会调用一次, @BeforeClass、 @AfterClass是在所有的测试方法测试之前与测试之后调用一次而已。

junit使用规范:

1> 一个类如果需要测试,那么该类就应该对应着一个测试类,测试类的命名规范 : 被测试类的类名+ Test.
2> 一个被测试的方法一般对应着一个测试的方法,测试的方法的命名规范是: test+ 被测试的方法的方法名.

8.内省
内省的本质就是反射;
内省作用:把对象的属性数据封装到对象中。

9.XML
XML文件以xml后缀名结尾。
XML文件需要使用xml解析器去解析。浏览器内置了xml解析器。
特殊字符 转义字符
“<” “&lt”;
“>” “&gt”;
” ” ” “&quot”;
“&” ” &amp”;
“空格” “&nsbp”;

CDATA块:可以让一些需要进行包含特殊字符的内容统一进行原样输出。
XML解析方式: DOM解析 ; SAX解析。

  解析工具:                                   1)JAXP (oracle-Sun公司官方)  2)JDOM工具(非官方)  3)Dom4J工具(非官方)                                                                                                                                                 三大框架(默认读取xml的工具就是Dom4j)                                          .......   SAX解析原理:[传送门](http://blog.csdn.net/xradio/article/details/9323875)

10.DOM解析 vs SAX解析:
这里写图片描述

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕后喝了酒怎么办 不知道怀孕喝酒了怎么办 不知道怀孕了喝酒了怎么办 怀孕5天喝酒了怎么办 打孩子耳光后脸肿了怎么办 老师说上课不专心怎么办 孩子不专心好动马虎怎么办 学生上课不认真听讲怎么办 一年级孩子上课不注意听讲怎么办 一年级孩子上课说话不听课怎么办 一年级孩子上课不听课怎么办 小学一年级学生上课不专心怎么办? 小孩听课注意力不集中怎么办 小孩子上课精神不集中怎么办 孩子说我不画了怎么办 幼儿园小朋友上课不专心怎么办 孩子写作业不专心怎么办 小孩做作业不专心怎么办 孩子上课精力不集中怎么办 四岁宝宝吃饭慢怎么办 5岁宝宝吃饭慢怎么办 小学一年级上课不专心怎么办 5岁儿童不专心怎么办 小孩子做作业不专心怎么办 孩子做作业不专心怎么办 小孩学了就忘怎么办 小孩学过就忘了怎么办 做事老是注意力不集中怎么办 做事无法专注注意力不集中怎么办 幼儿园孩子上课不认真听讲怎么办 孩子在课间打闹家长应该怎么办 孩子打闹家长额钱怎么办 我又打孩子了怎么办 打排卵针不排卵怎么办 总是控制不住打骂孩子怎么办 叛逆期的孩子打骂妈妈怎么办 孩子屁股打青了怎么办 父亲把孩子屁股打流血怎么办 孩子屁股长了湿疹怎么办 宝宝发脾气摔东西躺地上怎么办 生气拿棍子打了孩子怎么办