java线程解析文档格式.docx

上传人:b****8 文档编号:22652059 上传时间:2023-02-05 格式:DOCX 页数:11 大小:16.82KB
下载 相关 举报
java线程解析文档格式.docx_第1页
第1页 / 共11页
java线程解析文档格式.docx_第2页
第2页 / 共11页
java线程解析文档格式.docx_第3页
第3页 / 共11页
java线程解析文档格式.docx_第4页
第4页 / 共11页
java线程解析文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

java线程解析文档格式.docx

《java线程解析文档格式.docx》由会员分享,可在线阅读,更多相关《java线程解析文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

java线程解析文档格式.docx

4.创建Thread对象,并且把Runnable实现类的对象作为参数传递。

5.调用Thread对象的start方法开启线程。

线程安全问题的解决方案:

线程安全问题出现的根本原因:

1.必须要存在两个或者两个以上的线程共享着一个资源。

2.操作共享资源的代码必须有两句或者两句以上。

1.同步代码块

synchronized(锁){

需要被同步的代码

}

2.同步函数。

修饰符synchronized返回值类型函数名(形参列表..){

注意:

1.同步代码块的锁可以是任意的对象。

同步函数的锁是固定的,非静态函数的锁对象是this对象。

静态函数的锁对象是class对象。

2.锁对象必须是多线程共享的对象,否则锁不住。

3.在同步代码块或者是同步函数中调用sleep方法是不会释放锁对象的,如果是调用了wait方法是会释放锁对象的。

*/

publicclassDemo1extendsThread{

publicDemo1(Stringname){

super(name);

}

@Override

publicvoidrun(){

for(inti=0;

i<

100;

i++){

System.out.println(Thread.currentThread().getName()+"

:

"

+i);

publicstaticvoidmain(String[]args){

Demo1d=newDemo1("

狗娃"

);

d.start();

//开启线程。

线程一旦开启就会指定run方法中的代码。

}

输出

main:

狗娃:

1

2

3

4

5

6

7

8

9

10

Junit单元测试框架

packagecn.itcsat.junit;

importstaticorg.junit.Assert.*;

importjava.util.Arrays;

importjavax.management.RuntimeErrorException;

importorg.junit.Test;

junit(单元测试框架)

目前存在的问题:

1.目前的方法如果需要测试,都需要在main方法上调用。

2.目前的结果都需要我们人工对比。

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+被测试的方法的方法名

publicclassDemo1{

@Test//注解

publicvoidgetMax(inta,intb){

/*inta=3;

intb=5;

*/

intmax=a>

b?

a:

b;

System.out.println("

最大值:

+max);

@Test

publicvoidsort(){

int[]arr={12,4,1,19};

i<

arr.length-1;

for(intj=i+1;

j<

arr.length;

j++){

if(arr[i]>

arr[j]){

inttemp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

}

数组的元素:

+Arrays.toString(arr));

测试环境

importjava.io.FileInputStream;

importjava.io.IOException;

importorg.junit.After;

importorg.junit.AfterClass;

importorg.junit.Before;

importorg.junit.BeforeClass;

publicclassDemo2{

//准备测试的环境

//@Before

@BeforeClass

publicstaticvoidbeforeRead(){

准备测试环境成功..."

//读取文件数据,把把文件数据都

publicvoidreadFile()throwsIOException{

FileInputStreamfileInputStream=newFileInputStream("

F:

\\a.txt"

intcontent=fileInputStream.read();

内容:

+content);

读取文件数据排序.."

//清理测试环境的方法

//@After

@AfterClass

publicstaticvoidafterRead(){

清理测试环境.."

Tool.java

publicclassTool{

publicstaticintgetMax(){

inta=3;

intb=5;

returnmax;

publicstaticintgetMin(){

intb=5;

intmin=a<

returnmin;

ToolTest.java

importjunit.framework.Assert;

//测试类

publicclassToolTest{

publicvoidtestGetMax(){

intmax=Tool.getMax();

if(max!

=5){

thrownewRuntimeException();

}else{

System.out.println("

+max);

//断言

//Assert.assertSame(5,max);

//expected期望actual真实==

//Assert.assertSame(newString("

abc"

),"

//Assert.assertEquals(newString("

//底层是使用Equals方法比较的

//Assert.assertNull("

aa"

//Assert.assertTrue(true);

publicvoidtestGetMin(){

intmin=Tool.getMin();

if(min!

=3){

最小值:

+min);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1