JAVA
become__better
大胆去问,大胆去做,效率
展开
-
java 程序堵塞的排查方式
从 主线程(#1)进行查看,先分析 主线程在什么停顿,通过主线程的调用栈,就可以大概了解 整个程序的逻辑。然后 将其他线程的调用栈信息进行查看汇总,结合代码,基本就可以确定 堵塞的方法。如果 有日志的话,查看日志的最后打印信息,帮助快速定位问题。## 常见的堵塞1 read 等待 输入流2 wait 之后没有执行notify3 存在线程一直死循环,抢占了资源。## 死锁问题先确实是否死锁问题,使用arthas ,执行 thread -b 命令。不是死锁问题,执行 jstack 命令 保留 当前执行命令。原创 2023-12-29 14:20:24 · 595 阅读 · 0 评论 -
十万个随机数冒泡排序和快速排序
package Demo1;public class Main { static void bubbleSort(int a[]){ int length=a.length; for(int i=0;i<length;i++){ for(int j=1;j<length-i;j++){ if(a[j-1]>a[j]){ int num=a[j-1];原创 2020-10-15 19:16:36 · 1886 阅读 · 0 评论 -
Java实现生产者消费者问题
import java.util.Queue;import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;public class ProviderConsumerTest{ public static LinkedBlockingQueue<Integer> queue = new L...原创 2020-02-16 12:20:37 · 235 阅读 · 0 评论 -
Java注意点
byte、short、int、long 四种基本数据类型表示整数,需要注意的是 long 类型,使用 long 修饰的变量需要在数值后面加上 L 或者 l,比如long num=1L;,一般使用大写 L,为了避免小写 l 与数值 1 混淆。float 和 double 类型表示浮点数,即可以表示小数部分。需要注意的是 float 类型的数值后面需要加上 F 或者 f,否则会被当成 double ...原创 2020-02-06 16:17:10 · 172 阅读 · 0 评论 -
类对象的创建的小知识点
import java.util.Scanner;class student{ int a;}public class practice { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); student a1=new student(); ...原创 2019-03-16 10:13:15 · 134 阅读 · 0 评论