在 Linux 下,你可以通过命令 kill -3 PID (Java 进程的进程 ID)来获取 Java 应用的 dump 文件.在 Windows 下,你可以按下 Ctrl + Break 来获取.这 样 JVM 就会将线程的 dump 文件打印到标准输出或错误文件中,它可能打印在 控制台或者日志文件中,具体位置依赖应用的配置.如果你使用 Tomcat.…
JAVA中如何获取变量的类型? package xiya; public class Demo { public static void main(String[] args) { String type = getType("123"); System.out.println(type.substring(type.lastIndexOf('.') + 1, type.length())); } public static String getType(Object o) { ret…
java中如何生成可执行的jar文件 最简单的方法就是: jar -cfe Card.jar CardLayoutDemo CardLayoutDemo$1.class CardLayoutDemo$myAct ionListener.class CardLayoutDemo.class myClosingListener.class myPanel.class jar命令为java自带的专用打包工具: c代表生成新的jar包: e代表可执行的类,亦即main方法所在的类.如果该类有所属的包,书…
死循环.死锁.阻塞.页面打开慢等问题,打线程dump是最好的解决问题的途径.所谓线程dump也就是线程堆栈,获取到线程堆栈有两步: (1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java (2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid 另外提一点,Thread类提供了一个getStackTrace()方法也可以用于获取线程堆栈.这是一个实例方法,因此此方法是和具体线程实例绑定…
CPU:10核 主频100MHz 1核  主频    3GHz 那么哪一个CPU比较好呢? CPU核不是越多越好吗?并不一定.主频用于衡量GPU处理速度的快慢,举个例子10头牛运送货物快还是1架飞机运算货物快?显然是1架飞机,因此1核3GHz的CPU较好,当然,在相同主频的情况下,CPU当然是越多越好. 在Java中,JVM虚拟机允许运行多个线程,他通过java.lang.Thread类来实现 Thread类特性: 每个线程都是通过某个特定的Thread对象的run()方法来完成操作的,经常把r…
转发自https://blog.csdn.net/MCC_MCC_MCC/article/details/80623156 1.Windows/Linux环境下查看Java进程ID方法 使用Java自带的工具VisualVM工具实现,在CMD或者是Linux终端下执行“jvisualvm”命令即可以进入VisualVM控制台,双击左侧的进程即可以查看到详细的信息. 2.生成DUMP文件 CMD执行“jmap -dump:format=b,file=F:/heamdump.out 16540”命令…
在java里,获取昨天的当前日期,可以采用calendar来做,也可以采用date来做:如下: 1.采用calendar来做: Calendar cal=Calendar.getInstance(); //System.out.println(Calendar.DATE);//5 cal.add(Calendar.DATE,-1); Date time=cal.getTime(); System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm…
一.在java中怎样实现多线程? extends Thread implement Runnable 方法一:继承 Thread 类,覆盖方法 run(),我们在创建的 Thread 类的子类中重写 run() ,加入线程所要执行的代码即可. 下面是一个例子: public class MyThread extends Thread { int count= 1, number; public MyThread(int num) { number = num; System.out.printl…
https://www.cnblogs.com/zhouqing/archive/2012/11/10/2757774.html 序言 在开发过程中经常会用到读写文件,其中就必然涉及路径问题.使用固定的绝对路径当然很方便,但会导致程序的可移植性差,比如在代码中写死了要在E盘建一个文件,而移植后的环境中木有E盘,那就只能改代码:又或者需要调用D盘某某某很长路径下的一个自定义文件,这个文件路径又不在项目文件夹下,则拷项目代码时很容易遗漏这个自定义文件,这样给项目的交接带来了不必要的麻烦.如果我们将自…
在Java中使用线程池,可以用ThreadPoolExecutor的构造函数直接创建出线程池实例,如何使用参见之前的文章Java线程池构造参数详解.不过,在Executors类中,为我们提供了常用线程池的创建方法.接下来我们就来了解常用的四种: newFixedThreadPool 首先,看一下这种线程池的创建方法: public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExec…