1.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1.
public class TestThread3 {
private int j;
public static void main(String[] args) {
TestThread3 tt = new TestThread3();
Inc inc = tt.new Inc();
Dec dec = tt.new Dec();
for(int i=0;i<2;i++){
Thread t = new Thread(inc);
t.start();
t = new Thread(dec);
t.start();
}
}
public synchronized void inc() {
j++;
System.out.println(Thread.currentThread().getName() + "---inc----" +j);
}
public synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName() + "------dec--------" + j);
}
class Inc implements Runnable {
public void run() {
for(int i=0;i<5;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run() {
for(int i=0;i<5;i++){
dec();
}
}
}
}
方法二:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
public class JustForFun {
public static void main(String[] args) {
final AtomicInteger i = new AtomicInteger();
Runnable increment = new Runnable() {
public void run() {
int temp = i.incrementAndGet();
System.out.println("增加了,值为:" + temp);
}
};
Runnable decrement = new Runnable() {
public void run() {
int temp = i.decrementAndGet();
System.out.println("减少了,值为:" + temp);
}
};
ExecutorService exec = Executors.newFixedThreadPool(4);
exec.submit(increment);
exec.submit(increment);
exec.submit(decrement);
exec.submit(decrement);
exec.shutdown();
}
}
2.oracle分页
3.表:账户:account 余额:ammount
银行同行转账A账户转给B账户,跨行转账;
4.静态变量与实例变量的区别
5.实例变量是类的成员变量吗?
6.
class parent{
static{
System.out.println("parent static blog");
}
public parent(){
System.out.println("parent constructor");
}
}
class son extends parent{
static{
System.out.println("sonstatic blog");
}
public parent(){
System.out.println("son constructor");
}
}
class test{
main(){
new son();
new parent();
}
}
输出结果是?
7.多表连接,看到表连接的数据结果,写sql
8.MVC的各个部分都有那些技术来实现?如何实现?
9.自我介绍
10.内部类的考察
11.方法名与构造器可否同名?
12.垃圾回收
13.String、StringBuffer、StringBuilder区别;
14.final关键字考察
15.static关键字考察
16.线程的创建方式
17.父类的private变量,在子类中是否可以访问,如:parent.var