排序
java start()和run()的区别
1、概念区别 start():产生线程对象后,调用start()方法启动线程,线程处于运行状态RUNNABLE中的Ready就绪状态中,此时线程等待被CPU调度,调度后再执行run()方法,使用start()方法启动线程,真...
java中hashCode()是什么
1、hashCode的作用是获取哈希码,也叫散列码,实际上是返回int整数。该哈希码的作用是确定该对象在哈希表中的索引位置。 2、hashCode定义在JDK的Object类中,这就意味着Java中的任何类都包含有h...
Java内存分配是什么
概念 1、内存是计算机的重要原件,临时存储区域,作用是运行程序。Java虚拟机必须运行程序,分配和管理内存。 我们写的程序存放在硬盘上,硬盘上的程序不能运行。 必须放入内存运行,运行结束后...
java中jstack是什么
说明 1、jstack是java虚拟机自带的栈跟踪工具。jstack用来输出给定java进程ID、corefile或远程调试服务的Java堆栈信息。2、可以使用Jstack工具为java虚拟机当前时刻生成线程快照。 作用 线程停...
java中ArrayList集合的扩容机制
1、扩容要看添加方法,从属性中可以看出有一个DEFAULT_CAPACITY属性值10。 publicbooleanadd(Ee){ //验证是否需要扩容操作 ensureCapacityInternal(size+1);//IncrementsmodCount!! //在对应的...
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、对于局部变量,如果可以从变量的初始值来推断其类型,则不需要声明类型。 只需要使...