排序
java main的使用
在java的语法中,有一种主要的方法是每个人都要学习的,它的名称是main方法。在使用在和虚拟机密不可分,通过main进行启动程序,并检查类的装载情况。下面我们就main方法的概念进行全面讲解,同...
java数组如何访问和迭代
1、数组的访问 数组名称[索引],如a[0]、a[1] 注意事项 数组索引从0开始。 索引的数据类型是整形索引的值和数组长度总是差1。 2、数组的迭代 (1)for循环 int[]b1=newint[]{1,2,3,4,5,6,7}; fo...
java线程池死锁的产生及处理
说明 1、死锁是指两个或两个以上的过程在实施过程中,由于竞争资源或相互通信而造成的堵塞现象,如果没有外力作用,就不能推进。 线程池死锁实例 2、解决办法:扩大线程池线程或任务结果不再相...
gc在java中原理分析
本教程操作环境:windows7系统、java10版,DELL G3电脑。 1.GC堆内存 Java将堆内存分为3大部分:新生代、老年代和持久代,其中新生代又进一步划分为Eden、S0、S1(Survivor)三个区。 我们在程序...
java变量的初始化
1、在声明变量后,必须使用赋值语句对变量进行显式初始化。 2、变量声明尽可能靠近变量第一次使用的地方。 3、对于局部变量,如果可以从变量的初始值来推断其类型,则不需要声明类型。 只需要使...
java中有哪些时间API?
1、Clock类可用于访问当前日期和时间。Clock可以获得当前时区,而不是System.currenttimeMillis()。 Clockclock=Clock.systemDefaultZone();longmillis=clock.millis(); Instantinstant=clock.i...
java线程执行的两种情况
1、如果队列已经满了,执行put操作的新线程将被添加到notFull的条件队列中等待。 2、队列未满,当有线程执行移除队列元素的操作时,移除成功并唤醒put线程。 实例 publicEtake()throwsInterrupt...
java线程的三种结束方式
1、完成线程运行的run()方法。 2、线程抛出未捕获的Exception或Error。 3、另一个线程调用该线程的stop()方法(该方法已被抛弃)。它们仍然存在,但不应该在新代码中使用它们,并试图在现有代码中...
java使用同步的注意点
1、同步代码块尽量小,在保证锁定相关变量的基础上,尽量移出前后代码。 2、不要在同步代码块中写会导致堵塞的方法。 例如InputStream.read() 3、持锁时不要调用其他方法,可以大大降低死锁的概...
java停止线程的方式
1、使用Interrupt来通知 while(!Thread.currentThread().isInterrupted()&&moreworktodo){domorework} 首先通过 Thread.currentThread().isInterrupt() 判断线程是否被中断,随后检查是...




























