深入Java
文章平均质量分 76
jacin1
这个作者很懒,什么都没留下…
展开
-
jps无法获取到tomcat(java)进程
一、问题描述:Ubuntu 10.10版本,同个JDK 1.6版本,启动tomcat后,使用jps无法获取本机Java进程。二、jps工作原理:1. java进程启动时,若没有指定 -Djava.io.tmpdir参数,则会默认新建 /tmp/hsperfdata_${user_name} 文件2. jps查询java进程时会去扫描 /tmp/hsperfdata_${us原创 2014-11-27 15:15:56 · 4426 阅读 · 2 评论 -
掀起JVM的引擎盖——classloader
原文地址 对很多Java开发者来说,classloader是一个底层并且经常被忽略的知识面。在zeroTurnaround团队,我们的开发人员必须经常与classloader打交道,为的就是诞生JRebel技术,这是一项与classloader打交道,提供了在运行时可以做到热装载,避免长时间的重新编译、重新打包、重新发布的循环。 以下是我们学习classloader的翻译 2015-02-12 17:06:44 · 365 阅读 · 0 评论 -
解读commons-pools
commons-pool 是一个简单易用却又强大的对象池工具包,redis的Java client第三方包jedis就是使用commons-pool 的池化技术对其连接进行池化和管理。 在学习commons-pool之前,笔者尝试思考,一个对象池化工具需要提供哪些功能: 1. 对象的创建,销毁,检测健康状态 2. 对象池的管理维护,包括借用,归还,销毁。原创 2015-04-29 16:26:43 · 706 阅读 · 0 评论 -
C++入门(适合熟悉Java语言的开发者入门)
在鹅场,c/c++才是王道,工作需要,又得拾起c/c++。一、指针与引用 1. Java简单的地方就是摒弃了指针,一个指针变量存放的内容就是所指对象的地址。(对一个变量求地址,可以使用&)int main(){ int a = 3; int *p = &a; //p指向a的地址 int **q = &p; //q指向p地址 c原创 2015-05-12 10:25:14 · 787 阅读 · 0 评论 -
排他文件锁实现(Java版本)
一 .前言某年某月某天,同事说需要一个文件排他锁功能,需求如下:(1)写操作是排他属性(2)适用于同一进程的多线程/也适用于多进程的排他操作(3)容错性:获得锁的进程若Crash,不影响到后续进程的正常获取锁二 .解决方案排他锁,自然想到 java.nio.channels.FileLock ,于是有一段简单而不简约的代码 /** * @param原创 2016-08-14 21:11:42 · 2367 阅读 · 0 评论 -
JVM服务问题排查
线上的服务就像一个黑匣子,具体什么情况,这个就是体现监控运维的价值,监控报警运维解决了的软件服务最后一公里的问题。大公司一般都有很成熟的监控服务系统,可视化服务状态,自动化运维操作,这些自动化的工具对开发人员来说都是如沐春风,但是一般中小企业这些基础建设就没有那么优秀了,很多问题都需要开发人员自行定位解决。 线上的JVM服务运行久了或者出现访问压力时,服务往往会暴露一些问题,这个时候就需要开原创 2015-04-02 21:16:22 · 7616 阅读 · 1 评论