java谁能帮我详细解释下下面的代码,谢谢

public synchronized void start() {

if (threadStatus != 0)
throw new IllegalThreadStateException();

group.add(this);
boolean started = false;
try {
start0();
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) {

}
}
}
private native void start0();

@Override
public void run() {
if (target != null) {
target.run();
}
}

group是一个线程池,而你的变量boolean started 是为了记录当前线程是否运行成功,如果运行成功,就会走下一步为boolean started 赋值为true说明运行成功了,如果运行失败boolean started 还是false 在finnaly中判断started 为false也就是线程运行失败,提醒线程池group,线程运行失败追问

第九行的finally是干什么的,有什么用 法啊?第一次见finally......

追答

意思是不管try中的代码执行成功,或者失败,finally都会被执行

温馨提示:内容为网友见解,仅供参考
无其他回答

JAVA问题。麻烦帮我解释一下下面的代码,谢谢!
您好,提问者: 首先,这是在JSP中写的代码:<%String query="select*from book"; \/\/sql语句,查询book表所有内容Statement s=db.getConnection().createStatement(); \/\/连接数据的方法调用。 ResultSet rs=s.executeQuery(query); \/\/执行sql语句,返回查询的sql集合while(rs.next()) \/\/遍历sql...

在java的学习中,请高手解释下如下的代码是什么意思?
if(rs.next()),这一句是看rs,也就是结果集中是否有数据,如果有,则进去if代码段,否则输入“您输入的管理员或密码错误!”这句话。String PWD=request.getParameter("PWD"); 这一句取得从上一个页面传过来的参数,pwd,也就是你输入的密码。f(PWD.equals(rs.getString("PWD")))这一句判断你...

java 问题,希望有人详细解释一下下面代码,谢谢
java.math.BigDecimal是java.math包中提供的类,用来对超过16位有效位的数进行精确的运算。new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();.setScale(0, RoundingMode.HALF_UP);\/\/第一个参数是:保留多少位小数,第二个是四舍五入。.intValue();\/\/是将B...

java中帮忙解释一下下面代码 for( int i=0;i<6;i++){ int k =++i...
int k =++i; \/\/i的值先加1再赋值给k while(k<5){ \/\/k小于5进入循环 System.out.print(i); \/\/输出i的值 k+=2 \/\/k加2再赋值给k

Java问题,程序解释,能告诉我以下程序的每一句话都是什么意思吗?帮忙写...
程序一:\/\/导入输入输出文件包import java.io.*;\/\/类public class CreateFile {\/\/ 主函数public static void main(String[] args) throws IOException {\/\/打印出目标路径,用于标识System.out.println("生成目录:e:\\\\MJava\\\\xs2");\/\/定义路径,可用于创建File file1 = new File("e:\\\\MJava...

请教大家帮我解释一段 JAVA 程序代码,越详细越好!谢谢...
通过这两个参数你可以方便的给sql赋值参数了。如:sql中department.getQuery_parentDeptName() 赋值部门名称。又如:dept= jdbcDao.queryForPage(pageRequest, sb.toString(),DepartmentVO.class, values);传入pageRequest对象参数以方便分页设置参数。顺便讲下这个方法的四个参数:分页对象(提供分页参数),...

谁能帮我解释下下面JAVA代码中的for(string arg:args)
你可以实验一下:(就懂了)一。数组:int[] num = {1,2,3,4,5};for(int arg:num){ System.out.println(arg);} 二。集合类:ArrayList<String> list = new ArrayList<String>();list.add("A");list.add("B");list.add("C");list.add("D");for(String arg: list){ System.out....

请Java高手帮我解释一下这段代码,谢谢了
for(Student st : students)System.out.println(st.toString());这相当于一个foreach语句~是jdk1.5以上的版本才有的 相当于 for(int i=0;i<students.size();i++){ Student st = (Student)students.get(i);System.out.println(st.toString());} 或者用迭代其也可以实现:Iterator it = ...

本人新学java看别人代码有些不理解 希望有人能帮我注释下越详细越好感...
第一段:package cn.zuoye;import java.util.Scanner;public class rili{ \/ param args \/ public static void main(String[] args) \/\/ 程序入口 { int yearDays=0;int Days=0;int week;int monthDays=0;int finnalDays=0;Scanner input=new Scanner(System.in); \/\/ input变量, 从控...

一段有意思的java代码请大家解释~
原理很简单,因为在java中,int是占4个字节大小,double占8个字节的大小,当你把某变量乘以2的时候,在计算机里面的处理方式是左移一位。当使用浮点数进行乘法运算时,若结果很大,会以科学计数法表示。下面具体分析:1、表达式0x7FFFFFFF == (int)(0x7FFFFFFF * 2.0)0x7FFFFFFF 已经占了4个...

相似回答