Java 如何通过线程号来立即结束一个线程? java线程的几种状态
java有几种实现线程的方式
java创建线程的方式有三种
第一种是继承Thread类 实现方法run() 不可以抛异常 无返回值
第二种是实现Runnable接口 实现方法run() 不可以抛异常 无返回值
第三种是实现Callable<T>接口,接口中要覆盖的方法是 public <T> call() 注意:此方法可以抛异常,而前两种不能 而且此方法可以有返回值
第三种如何运行呢 Callable接口在util.concurrent包中,由线程池提交
import java.util.concurrent.*;
ExecutorService e = Executors.newFixedThreadPool(10); 参数表示最多可以运行几个线程
e.submit(); 这个里面参数传 实现Callable接口那个类的对象
求java习题?
1.给定一个Java程序代码,如下:运行编译后,输出结果是(). (选择一项)
pubilc class Test{
int count = 9;
pubilc void count1(){
int count = 10;
SYstem.out.println("count1"+count);
}
pubilc void count2(){
SYstem.out.println("count2"+count);
}
pubilc static void main(String args[]){
Test t =new Twst();
t.count1();
t.count2();
}
}
A.count1=9 count2=9
B.count1=10 count2=9
C.count1=10 count2=10
D.count1=9 count2=10
2.给定java代码,如下:运行时,会产生()类型的异常.(选择一项)
String s=null;
s.concat("abc");
A.AritthmeticException
B.NullpointerException
C.IOException
D.EOFException
3.给定java代码片段,如下:
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a==b);
运行后,这段代码将输出()。(选择一项)
A.true
B.false //对象比较用EQUALS
C.0
D.1
4.在JAVA中的布局管理器,以下说法中错误的是(). (选择一项)
A.FlowLayout以由上到下的方式从左到右排列组件
B.BorderLayout使用 "东"."西"."南"."北","居中"来指定组件的位置
C.GridLayo...1.给定一个Java程序代码,如下:运行编译后,输出结果是(). (选择一项)
pubilc class Test{
int count = 9;
pubilc void count1(){
int count = 10;
SYstem.out.println("count1"+count);
}
pubilc void count2(){
SYstem.out.println("count2"+count);
}
pubilc static void main(String args[]){
Test t =new Twst();
t.count1();
t.count2();
}
}
A.count1=9 count2=9
B.count1=10 count2=9
C.count1=10 count2=10
D.count1=9 count2=10
2.给定java代码,如下:运行时,会产生()类型的异常.(选择一项)
String s=null;
s.concat("abc");
A.AritthmeticException
B.NullpointerException
C.IOException
D.EOFException
3.给定java代码片段,如下:
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a==b);
运行后,这段代码将输出()。(选择一项)
A.true
B.false //对象比较用EQUALS
C.0
D.1
4.在JAVA中的布局管理器,以下说法中错误的是(). (选择一项)
A.FlowLayout以由上到下的方式从左到右排列组件
B.BorderLayout使用 "东"."西"."南"."北","居中"来指定组件的位置
C.GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整
D.可以通过容器的setLayout方法为容器指定布局管理
5.在J2EE中,下列元素经过排序的集合类是()。(选择一项)
A.LinkedList
B.Stack
C.Hashtable
D.TreeSet
6.在Java中,要想使定义该类所在的包外的类不能访问这个类应用的关键字是()。(选择一项)
A.不需要任何关键字
B.private
C.final
D.protected
7.某一 java程序中有如下代码:
Datalnputstream din=new DataInputstream(new BufferedInputstream
(new FileInputstream(“employee.dat”) ));
假设在employee.dat文件中只有如下一段字符:abcdefg。则:System.out.println(din)在屏幕上打印().(选择一项)
A.A
B.B
C.97
D.98
8.()位于集合框架的体系结构的顶层。(选择一项)
A.ArrayList类
B.Collection接口
C.Set接口
D.List接口
9.Java程序中读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为“something’s wrong!”,语句为()。(选择一项)
A.if (I>10) throw Exception(“something’s wrong!”);
B.if (I>10) throw Exception e (“something’s wrong!”);
C.if (I>10) throw new Exception(“something’s wrong!”);
D.if (I>10) throw new Exception e (“something’s wrong!”);
11.下面是Java程序中的一些声明,选项中能够通过编译的一项是()。(选择一项)
String s1=new String(“Hello”);
String s2=new String(“there”);
String s3=new String();
A.s3=s1+s2
B.s3=s1&s2
C.s3=s1||s2
D.s3=s1&&s2
JAVA编写1+1/4+1/9+1/16+....+1/100
11得1 22得4 33得9 ... 1010得100
题目就是1/i*i
double sum=0;
for(int i=1;i<=10;i++){
sum+=1/(i*i);
}
Java哪些集合类是线程安全的
在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:
vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。
statck:堆栈类,先进后出
hashtable:就比hashmap多了个线程安全
enumeration:枚举,相当于迭代器
除了这些之外,其他的都是非线程安全的类和接口。
线程安全的类其方法是同步的,每次只能一个访问。是重量级对象,效率较低。
其他:
1. hashtable跟hashmap的区别
hashtable是线程安全的,即hashtable的方法都提供了同步机制;hashmap不是线程安全的,即不提供同步机制 ;hashtable不允许插入空值,hashmap允许!