- 博客(40)
- 资源 (97)
- 收藏
- 关注
转载 java Jstatd命令(Java Statistics Monitoring Daemon)
1、介绍 jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。 jstatd是基于RMI的,所以在运行jstatd的服务器上必须存在RMI注册中心,如果没有通过选项"-p port"指定要连接的端口,jsta
2015-02-28 22:44:12 673
转载 java JNI简单示例
JNI(Java Native Interface)是Java本地方法调用接口,从Java1.1开始,Java Native Interface(JNI)标准就成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 Java中很多地方都使用到了JNI,如
2015-02-28 21:56:32 650
转载 java jinfo命令(Java Configuration Info)
jinfo可以输出并修改运行时的java 进程的opts。用处比较简单,用于输出JAVA系统参数及命令行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。在JVM提供地几百个参数中,jinfo可以动态修改其中地很多参数,但是很多参数也是无法修改地。例如一些内存尺寸的参数是无法修改的(但可以通过ji
2015-02-28 21:11:33 1053
转载 java jstack命令(Java Stack Trace)
1、介绍jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信
2015-02-28 18:19:13 748
转载 java Thread Dump 日志分析
jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIM
2015-02-28 18:17:29 830
转载 java jmap命令(Java Memory Map)
1、介绍打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。
2015-02-28 15:33:33 551
转载 java jstat命令(Java Virtual Machine Statistics Monitoring Tool)
用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。 Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序
2015-02-28 14:19:24 693
转载 java jps命令(Java Virtual Machine Process Status Tool)
jps -- Java Virtual Machine Process Status Tool 可以列出本机所有java进程的pid jps [ options ] [ hostid ] 选项 -q 仅输出VM标识符,不包括class name,jar name,arguments in main method -m 输出main method的参数 -l 输出完全
2015-02-28 09:25:32 804
转载 社会动物 读书笔记
一本关于爱、性格和成就的潜在根源的励志书籍。不过布鲁克斯认为成功的根源来自于人的潜意识,和主流的励志书籍强调理性意识思维决定论略有不同。该书涉及到心理学、社会学、政治学、哲学、经济学、脑科学等对人类心理和行为的研究成果,适合各个领域的人阅读。评价4颗星。布鲁克斯虚构了两个成功人士,他们是一对美国的夫妻:丈夫哈罗德出身中产阶级家庭,妻子埃丽卡则是来自贫民区破碎家庭的中墨混血儿。故事追溯了他们
2015-02-27 16:59:32 1509
转载 编程能力层次模型
前言 程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。 下面通过两个维度展开编程能力层次模型的讨论。 一个维度是编程技能层次,另一个维度是领域知识层次。编程技能层次 编程技能层次,指的程序员设计和编写程序的能力。这是程序员的根本。0段—非程序员:
2015-02-19 21:57:02 941
转载 我常去的中文技术网站
第一个:http://www.iteye.com(www.iteye.com) 不解释。 第二个:http://www.infoq.com/cn/(英文主站:www.infoq.com) 非常著名的架构师站点,主要面向企业架构,做JaveEE方向的同学应该经常看。 第三个:http://www.ibm.com/developerworks/cn/,IBM develop
2015-02-12 23:47:47 676
转载 jvm 内存管理:深入垃圾收集器与内存分配策略
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,
2015-02-12 23:37:38 589
转载 jvm 实战OutOfMemoryError
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/f
2015-02-12 23:31:43 892
转载 java 对象内存结构
学C/C++出身的我,对Java有一点非常困惑,那就是缺乏计算对象占用内存大小的机制。而在C++中就可以通过sizeof运算符来获得基本类型以及类实例的大小。C和C++中的这个操作符对于指针运算、内存拷贝和IO操作都非常有用。Java中并没有一个类似的运算符。事实上,Java也不需要这种运算符。Java中基本类型的大小在语言规范中已经定义了,而C/C++中基本类型大小则跟平台相关。Java
2015-02-12 00:57:45 578
转载 java 对象大小
对象内存大小度量在做内存优化时,需要知道每个对象占用的内存的大小,一个实例化的对象在内存中需要存储的信息包括:对象的头部(对象的GC信息,hash值,类定义引用等)对象的成员变量: 包括基本数据类型和引用。 如成员变量是一个引用, 引用了其他对象,被引用的对象内存另外计算。如下一个简单的类的定义:class MyClass { int a;
2015-02-12 00:49:55 667
转载 谁说Vim不是IDE?
话说操作系统、编程语言和编辑器似乎是程序员永恒的吐槽话题,技术发展了几十年,大家讨论起这几个“之争”还是充满愤怒、津津乐道。有人描述过Emacs和VI程序员,大家沿着不同的道路和目标前进,但总是会在某个点交叉相遇,互相扔石头,砸到对方鼻青脸肿,然后收拾心情又继续前行。前一阵子我在微博上写了一条微博回复,是关于Vim和IDE讨论的:Vim和那些IDE的应用场景还是有区别的,在我看来Vim也是
2015-02-12 00:30:30 1284
转载 mac 让Vim更好用 for Mac OS X
参考文章:谁说Vim不是IDE?(一)谁说Vim不是IDE?(二)谁说Vim不是IDE?(三) 其实@池建强 大哥在他的《谁说Vim不是IDE?》中已经都已经说的很清楚了。我这篇博文就相当于个笔记和备忘,以后需要的时候可以快速的配置起一个好用的Vim环境。先来两张博主自己配置的截图 基本的vim设置syn on "语法支持set
2015-02-12 00:20:15 2366
转载 java 各种类型对象的堆空间占用
优化应用程序代码的内存使用并不是一个新主题,但是人们通常并没有很好地理解这个主题。本文将简要介绍 Java 进程的内存使用,随后深入探讨您编写的 Java 代码的内存使用。最后,本文将展示提高代码内存效率的方法,特别强调了 HashMap 和 ArrayList 等 Java 集合的使用。背景信息:Java 进程的内存使用参考知识如需进一步了解 Java 应用程序的
2015-02-11 21:27:02 1590
转载 linux 常用命令加实例大全
目 录引言 1一、安装和登录 2(一) login 2(二) shutdown 2(三) halt 3(四) reboot 3(五) install 4(六) mount 4(七) umount 6(八) chsh 6(九) exit
2015-02-11 13:55:33 869
转载 svn 冲突的产生与解决
1、 如何产生冲突当开发人员A和开发人员B从版本库同时检出文档1.txt,而A和B同时修改了1.txt的同一地方,后提交的一方会在拷贝副本中产生冲突。两个工作拷贝,A拷贝中文件1.txt内容为dfqerq123dfwreB拷贝中文件1.txt内容为dfqerq123erwrq在B版本提交之前版本库上的1.txt(base版本)内容为
2015-02-10 13:55:19 768
转载 svn 分支和合并实战(图解)
svn分支和合并实战(图解)博客分类: 每周一题,每周一练工具应用java综合svnosgijava 被svn分支和合并折腾了两天了。适才终于搞定了分支和合并的问题,打包部署成功了。总结下,以防遗忘。项目前段时间因为要加入OSGi的blueprint方法发布和获取服务,从svn主干上做了分支。如今分支的开发完成了,要求合并到主干中。svn的目录结构如下:主干trun
2015-02-10 12:51:05 965
转载 影响力 读书笔记
全书摘要~~~典藏版~~引言chap1影响的武器1. 卡嗒,哗--- 固定行为模式①假冒小火鸡的叫声就可以启动雌火鸡的母爱磁带。小火鸡只有发出"吱吱"的叫声,雌火鸡才会照顾它,沉默的,妈妈会置之不理.而实验证 明,在面对黄鼠狼和抚育下一代之间,雌火鸡选择后者(收益).②动物求偶③动物猎食④人类的例子当我们请别人帮忙时,如果能够讲出一个
2015-02-08 23:02:58 772
转载 csdn markdown帮助文档
# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:- **Markdown和扩展Markdown简洁的语法**- **代码块高亮**- **图片链接和图片上传**- ***LaTex*数学公式**- **UML序列图和流程图**- **离线写博客**- **导入
2015-02-08 22:54:29 882
转载 查理·芒格推荐的投资人必读书单
提要 查理·芒格现任波克夏·哈萨威公司的副董事长,该公司为多元化的投资控股公司,董事长由华伦·巴菲特担任。芒格博览群书,涉猎广泛,推荐的书籍被誉为投资人的必读清单。 被誉为“股神”的投资大师巴菲特说,自己一生遇人无数,从来没有遇到过像查理·芒格这样的人,“我对他的感激无以言表”。作为巴菲特的黄金搭档和幕后智囊,芒格与巴菲特创造了有史以来最优秀的投资纪录。自伯克希尔
2015-02-08 18:52:57 1663
转载 jvm性能调优,垃圾回收器详细说明
1:新生代串行收集器:(默认收集器) 算法:复制算法 -XX:+UseSerialGC 指定使用新生代串行收集器和老年代串行收集器 优点:效率高,久经考验 缺点:串行,如果回收对象过多,或者堆过大,停顿时间会过长。2:老年代串行收集器(cms收集器的备选) 算法:标记-压缩算法 -X
2015-02-06 00:11:27 580
转载 优化网站加载速度的14个技巧
优化了加载速度的网站不仅可以提高其搜索引擎的排名,同时也可以降低网站的跳出率,提高其转换率,还能提供更好的终端用户体验,这是当今基于Web环境取得成功的关键。下面我将介绍几个优化网站加载网页速度的简单方法,一起来看一下。1.服务器响应时间即使网站已经格外优化,但是除非服务器响应时间非常快,否则就不会有什么大的效果。当涉及到提高网站的速度,服务器响应时间起着重要的作用
2015-02-05 23:00:29 687
转载 高效的程序员是聪明和懒惰的
我之所以要用聪明和懒惰来形容高效的程序员,原因有以下几点:聪明是因为能找出问题的正解懒惰是因为不愿写多余的代码(即不会长时间地坐在电脑前)好的软件开发过程应该是懒惰的软件开发,亦称耐心开发,原因是开发人员在写代码之前会先将时间花在透彻地考虑各种解决方案上。这是懒惰开发的主旨,即在不了解之前就不会开始写代码。这个负责任的态度减少了他们所需要写的代码量。主要需要做到以下
2015-02-04 13:17:55 627
转载 jvm 参数调优
PE2950 8G 双cpu,每cpu四核,raid1,两个tomcat6.0.14JAVA_OPTS='-server -Xms2560m -Xmx2560m -Xmn768m -XX:PermSize=128m -XX:MaxPermSize=256m -Xss256k -XX:ParallelGCThreads=6 -XX:+UseConcMarkSweepGC -XX:+U
2015-02-03 22:44:56 736
转载 jvm 打印所有XX参数及值
本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。-XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial让我们现在就了解一下新参数的输出。以 -client 作为参数的 -XX:+PrintFlagsFinal 的结果是一个
2015-02-03 22:03:41 6976
转载 java 6 JVM参数选项大全(中文版)
作者:Ken WuEmail: [email protected]转载 原文请猛击 这里 本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有帮助!
2015-02-03 21:48:15 912
转载 jvm 5.0中调配Garbage Collection
1.简介2.Ergonomics(工效学)3.Generations(辈分) 3.1性能考虑 3.2测量4.调整各Generation的容量 4.1 Heap总量 4.2 Young Generation 4.2.1 Young Generation Guarantee(Young Generat
2015-02-03 21:06:20 1137
转载 jvm 日志和参数的理解
写这篇wiki的目的:最近在调整Hbase的JVM,翻了些文档和wiki,想写点东西,给自己和想了解jvm日志和参数的同 学提供些帮助. 一:理解GC日志格式,读GC日志的方法1:开启日志-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps-Xloggc:/path/gc.log-X
2015-02-03 20:23:33 763
转载 jvm 对象访问
对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“new Object()”这部分将会反映到Java堆中,形成一块存
2015-02-03 20:00:41 562
转载 程序员解决问题的60个策略
根本的指导方针 1. 首先写代码的时候最好不要有缺陷。最好的修复方法就是让 bug 胎死腹中。 ●良好的单元测试 ●强制数据库约束 ●使用输入验证框架 ●避免未实现的“else”条件 ●在应用到主程序之前知道如何在孤立的情况下使用 日志 2. print 语句。往往额外输出个一两行将有助于隔离问题。 3. 切
2015-02-03 17:39:52 470
转载 javassist 简介
要想将编译时不存在的类在运行时动态创建并加载,通常有两种策略:1. 动态编译2. 动态生成二进制字节码(.class)对于第二种策略,实际上已经有诸多比较成熟的开源项目提供支持,如CGLib、ASM、Javassist等。这些开源项目通常都具备两方面的功能:1. 动态创建新类或新接口的二进制字节码2. 动态扩展现有类或
2015-02-02 23:34:20 736
转载 javassist 学习笔记
介绍:www.javassist.org/javassist、ASM 对比1、javassist是基于源码级别的API比基于字节码的ASM简单。2、基于javassist开发,不需要了解字节码的一些知识,而且其封装的一些工具类可以简单实现一些高级功能。比如HotSwaper。3、ASM比javassist性能更快,灵活行也较高。4、javassist提供者动态代理接
2015-02-02 23:31:05 938
转载 java java.lang.instrument 学习
Instrumentation介绍:java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。 Java SE5中使用JVM TI替代了JVM PI和JVM DI。提供一套代理机制,支持独立于JVM应用程序之外的程序以代理的方式连接和访问JVM。In
2015-02-01 23:23:30 617
转载 使用 ASM 实现 Java 语言的“多重继承”
问题的提出在大部分情况下,需要多重继承往往意味着糟糕的设计。但在处理一些遗留项目的时候,多重继承可能是我们能做出的选择中代价最小的。由于 Java 语言本身不支持多重继承,这常常会给我们带来麻烦,最后的结果可能就是大量的重复代码。本文试图使用 ASM 框架来解决这一问题。在扩展类的功能的同时,不产生任何重复代码。考虑如下的实际情况:有一组类,名为 SubClass1、SubClas
2015-02-01 16:55:33 1106
转载 AOP 的利器:ASM 3.0 介绍
引言什么是 ASM ?ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从
2015-02-01 16:08:36 764
转载 java 字节码增强之ASM
ASM系列之一:初探ASM一、什么是ASM ASM是一个JAVA字节码分析、创建和修改的开源应用框架。在ASM中提供了诸多的API用于对类的内容进行字节码操作的方法。与传统的BCEL和SERL不同,在ASM中提供了更为优雅和灵活的操作字节码的方式。目前ASM已被广泛的开源应用架构所使用,例如:Spring、Hibernate等。二、ASM能干什么 分
2015-02-01 13:10:40 6289
ssh Struts2.2+Hibernate3.6+Spring3.1+oracle 分页示例.zip
2015-01-22
[精通正则表达式(第三版)].(美)佛瑞德.扫描版.pdf
2014-06-28
apktool-install-macosx-r05-ibot.tar.bz2
2014-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人