1. 首页 > 科技

Java 如何通过线程号来立即结束一个线程? java线程的几种状态

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允许!