`

java 高级工程师 笔试题

阅读更多

1.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1.

参考答案:
http://zhidao.baidu.com/link?url=HH8aM4LT3rdrwmGrq0Dt6C3-a8qggeggtEKBGdDv36hXIkktnnjPMIWIyOoWvSHHy59AeMB2OF12ccdkdJxyga
方法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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics