Java
liusxg
--生活是因为好奇
展开
-
linux下查找java进程占用CPU过高原因
1. 查找进程top查看进程占用资源情况明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程使用top -H -p 查看线程占用情况 3.查找java的堆栈信息将线程id转换成十六进制#printf %x 15664#3d30 然后再使用jstack查询线程的堆栈信息语法:jstack | grep -原创 2016-12-28 21:56:44 · 9124 阅读 · 1 评论 -
Tomcat开启远程Debug配置
查看是否已经开启debug模式首先ps -ef|grep tomcat 查看一下tomcat进程的信息,如果出现下面的信息-server -Xms1024m -Xmx1024m -Dworker.hostname=xxxxx -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=xxxx那就是已经开了debug模式,无需再设置,直原创 2017-03-24 00:22:19 · 1381 阅读 · 0 评论 -
Idea远程Debug配置
如下步骤: 添加Remote Name可填可不填,Host和Port必填,Host和Port的内容要参考目标服务器Tomcat的配置 http://blog.csdn.net/u014738683/article/details/65503585原创 2017-03-24 10:40:38 · 302 阅读 · 0 评论 -
Tomcat开启远程监控Jconsole配置
HEAD请求来源是HTTP1.0。HTTP1.0就定义了三种请求方式GET,POST,HEAD。HTTP1.1则新增了OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 此处主要是讲HEAD请求。w3.org定义在w3.org里面是这么说的The HEAD method is identical to GET except that the server MUST原创 2017-03-24 10:14:52 · 5192 阅读 · 1 评论 -
HashSet保存自定义不重复对象
前言首先要了解HashSet实现的机制,如果不了解,对于下面的操作也是一直半解,用过一次就忘,并没有什么意义。HashSet实现原理HashSet的实现内部其实是一个HashMap,HashMap的实现就是根据key来进行Hash变换映射到index下,如果index相同,会根据equal来判断key是不是相同,不相同就在这个index使用链表存储,key相同就覆盖原来的值。这样就保证了key的唯一原创 2017-03-09 11:12:44 · 2282 阅读 · 0 评论 -
Java实现死锁
在多线程中,为了保证数据等准确性和一致性,一般在进行共享数据进行操作等时候,我们都会进行加锁,保证同一时间只有一个线程在操作这个对象。由于加锁的原因,如果一不注意的话很容易导致死锁。死锁的原因是两个线程或者多个线程在互相等待对方释放资源,一直在阻塞等待,这就造成了死锁。由于Java中没有对死锁进行监管的东西,在死锁中,线程会一直被阻塞,程序不会有任何提示的消息,也无法继续下去。 下面是一个死锁的原创 2017-02-12 15:53:51 · 351 阅读 · 0 评论 -
Java多线程导论
单线程实际上一个进程就是一个线程,主线程。多线程 多线程的意思是在主线程之外再新建几个线程,目的是高效率使用cpu的资源。创建多线程基本上分为两种创建方式: 继承java.lang.Thread类,然后实例化子类,并且start启动。 实现Runnable接口,Runnable实际上也叫任务,它需要一个线程来执行它,所以需要用new Thread(runnable)来实例化,并且s原创 2017-02-04 18:25:11 · 220 阅读 · 0 评论 -
Maven3.3.9下载安装配置
下载地址:http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip 1.解压,将解压的文件夹放置在随意的目录下,比如,D:\software\apache-maven-3.3.92.配置环境变量MAVEN_HOME=D:\software\apache-maven-原创 2017-02-20 20:51:48 · 4706 阅读 · 1 评论 -
面向对象编程OOP(Object Oriented Programming)
面向对象的三大特性:封装,继承,多态。封装就是将类的实现和使用分开,将内部属性和方法隐藏好,只保留部分接口和方法与外部联系。继承子类自动继承父类开放的属性和方法,并可以增加新的属性和方法或对部分属性和方法进行重写,继承提高了代码的可用性。多态多态的定义是允许不同类对同一消息作出响应,也就是同一消息根据对象的不同而采取不同的行为方式。 多态有三种表现形式,一种是重载(overload),一种是覆原创 2017-02-06 16:00:14 · 435 阅读 · 0 评论 -
设计模式-单例模式
定义 保证一个类只有一个实例,并且提供一个访问这个实例的全局访问点。 使用场景 一般用在一些本质上具有唯一性的系统资源,比如资源管理器这些。实现技巧 1.首先限制类从构造器实例化,比如new一个实例这种的(一个类只有一个实例的原则)。办法是将构造器变为私有的。 2.既然不能使用构造器,那必须有一个可以获取实例的方法,而且是直接从类获取的,说明是静态的。 3.从这个静态方法里获取每原创 2017-10-07 14:17:40 · 274 阅读 · 0 评论