一:目的 写这一段程序的原因是需要监控部署的的应用是否正常运行,并且显示其运行状态.在进程莫名死掉后甚至可以自动启动该应用. 首先这段代码可以获取的信息如下 /** * 当前进程运行的主机名 */ private String host; /** * 当前进程所在的IP地址 */ private String ipAddress; /** * 空闲内存 */ private long freeMemory; /** * 内存总量 */ private long totalMemory; /**…
java获取手机号归属地 一般想获取手机号归属地等信息个人是无法获取的,但是可以通过调用第三方接口获取,具体百度搜索很多这里例子提供一个淘宝的接口 ,该功能已经发布到网站作为一个在线小工具,拿走不谢:http://www.yzcopen.com/con/iphone用都的jar httpClient相关代码: public class HttpTool { /** * 手机号地区接口 * @param request * @return */ private final static Strin…
终止线程的三种方法      有三种方法可以使终止线程.      1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止.      2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend.resume一样,也可能发生不可预料的结果).      3.  使用interrupt方法中断线程.  1. 使用退出标志终止线程      当run方法执行完后,线程就会退出.但有时run方法是永远不会结束的.如在服务端程序中使用线程进行监听客户端请求,或…
引入 JAVA提供了一些分析DUMP的工具,比如jmap,visualvm 等 JAVA还有寻找线程状态的工具,jstack等 数据库也有检查连接数,连接状态的命令,status,processlist等 代码中也可以添加一些时间的信息,对比信息发现可优化的地方 但这些都不是今天要记录的内容,今天要做的是使用一个比较暴力的方式查找出高并发模式下运行缓慢的线程 正文 写高并发的时候经常会遇到的问题: 单独观察每个分支线程或者主线程时,都执行地非常快,但是总体上运行的TPS却并不高,没有达到期望的值…
大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码: Jsp-html代码: 复制代码 代码如下:  <form action="input.do" name="formkk">   …
public String getUnixLocalIp() { String ip = ""; try { Enumeration<?> e1 = (Enumeration<?>) NetworkInterface.getNetworkInterfaces(); while (e1.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) e1.nextElement(); if (!ni.ge…
目录 1.线程的六个状态 2.sleep和wait的区别 3.锁池(EntryList)和等待池(WaitSet) 4.notify和notifyall的区别 五.线程的状态 1.线程的六个状态 2.sleep和wait的区别 3.锁池(EntryList)与等待池(WaitSet) 4.notify和notifyall的区别…
下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例子,如下: package com.classloading; public class Test { static class MyThread extends Thread { public void run() { // 死循环,消耗CPU int i = 0; while (true) {…
线程的基本概念 什么是线程 现代操作系统在运行一个程序的时候,会为其创建一个进程.例如,启动一个Java程序,操作系统就会创建一个Java进程.线代操作系统调度的最小单位是线程.也叫做轻量级进程.在一个进程里可以创建多个线程,这些线程都拥有自己的程序计数器.堆栈和局部变量等属性,并且能够访问共享的内存变量.处理器在这些线程上高速切换,让使用者感觉这些线程在同时执行.进程是资源分配的基本单位,线程时系统调用的基本单位. 实际上Java本身就是多线程程序,因为执行main方法的时候就是一个main线…
线程 什么是线程 操作系统调度的最小单元就是线程,也叫轻量级进程. 为什么要使用多线程 多线程程序能够更有效率地利用多处理器核心. 用户响应时间更快. 方便程序员将程序模型映射到Java提供的多线程编程模型上. 线程的状态 1. 初始态 NEW 线程被构建,但是还没有调用start()方法调用. 2 运行态 RUNNABLE 运行态又分为就绪态和运行态: 就绪态:该状态下线程已经具备执行所需要的所有资源,只等CPU分配执行权就能运行.所有的就绪态线程都排在就绪队列中. 运行态:获取CPU执行权的…