摘要:
wait()方法和notify()方法的区别: 这两个方法都是属于Object类中的,也是配套使用的,当调用这两个方法阻塞时要释放占用的锁,而锁是任何对象都具有的,调用任意对象的wait()方法导致线程阻塞,并且该对象上的锁被释放; 而调用任意对象的notify()方法则导致从调用该对象的wait( 阅读全文
摘要:
start()方法被用来启动新创建的线程,而且start()内部调用了run()方法, 区别: 当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动; start()方法才会启动新的线程 阅读全文
摘要:
多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮流使用CPU。不同的线程切换使用CPU发生的数据切换等就是上下文切换 阅读全文
摘要:
程序运行完毕,jvm会等待非守护线程完成后关闭,但是jvm不会等待守护线程。 守护线程最典型的的例子是:GC线程 阅读全文
摘要:
常用的有两种办法: 阅读全文
摘要:
类型 位数 字节数 short 2*8 2 char 2*8 2 int 4*8 4 float 4*8 4 long 8*8 8 double 8*8 8 阅读全文
摘要:
finally:finally是一个关键字,与try和catch一起用于异常的处理,finally块一定会执行,无论在try快中是否有发生异常。 finalize:finalize方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用finalize没有保证。 final是最重要的,以下重点介绍以下:1、可以修饰类,不可以被继承;2、可以修饰方法,不可以被重写;... 阅读全文