Java面试题-朋友的面试题

这里写图片描述

/**
 * 
 * @author feng
 *
 */
public class TestCode {
    private static volatile int count = 0;
    @Test
    public void testThread(){
        Runnable myThread = new Runnable(){
            @Override
            public void run() {
                while (true) {
                    synchronized (this) {
                        if (count == 200) {
                            break;
                        }
                        count++;
                        System.out.println(Thread.currentThread().getName() + " ; "
                                + count);
                    }
                }
            }
        };
        new Thread(myThread,"张三").start();
        new Thread(myThread,"李四").start();
        new Thread(myThread,"王五").start();
    }
    @Test
    public void testCollection(){
        String str = "practice makes perfect";
        char[] cs = str.toCharArray();
        Map<Character,Integer> map = new HashMap<Character,Integer>();
        for (Character c : cs) {
            if(Character.isLetterOrDigit(c)){
                map.put(c, map.get(c) == null ? 1 : ((int)map.get(c))+1);
            }
        }
        for (Map.Entry<Character,Integer> entry : map.entrySet()){
            System.out.println(entry.getKey()+" ; " + entry.getValue());
        }
    }
    @Test
    public void testException(){
        try{
            for(int i = 1; i<100000; i++){
                if(number > 100000){
                    throw new RuntimeException("乘积超过100000了,当前值为 : "+ number);
                }
                method(i);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{

        }
    }
    private int number = 1;
    public void method(int  number){
        this.number *=number;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值