自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

 摘要 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。     现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足...

2015-10-20 16:21:27 282

原创 mysql 主从同步原理

Replication 线程   Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Mas...

2013-12-02 15:59:31 160

visualVM监控jvm

visualVM,是java自带的一个工具,这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe,1.因为本地监控无需配置, 所以这里主要介绍监控远程JVM要进行远程监控, 本机的VisualVM就必须和远程的JVM要进行通信, Visualvm目前支持两种remote connection方式.分别是jstatd和JMX方式: 一。通过JMX方式.通过JMX连...

2013-11-28 14:20:30 187

原创 数据库连接池获取坏死连接问题

Communications link failure due to underlying exception异常处理(转)最近的一个项目在Hibernate使用C3P0的连接池,数据库为Mysql。开发测试没有问题,在运行中每个一段长的空闲时间就出现异常:java 代码org.hibernate.exception.JDBCConnectionException: could no...

2013-11-15 03:55:45 518

原创 数据库left join right join

1. MySQL外连接 – 左连接结果table1居左,故谓之左连接。这种情况下,以table1为主,即table1中的所有记录均会被列出。有一下三种情况:a. 对于table1中的每一条记录对应的城市如果在table2中也恰好存在而且刚好只有一条,那么就会在返回的结果中形成一条新的记录。如上面Person A和Person B对应的情况。b. 对于table1中的每一条记录对应...

2013-08-26 22:46:09 84

关于java解析json的那点事

今天被经理问到一个问题,如何用java解析json格式字符串,前提是json格式是不固定的。也就是说没法 直接转换成javabean,我当时一下回答不上来,之后百度了一把,测试代码发上来希望能够帮助有同样问题的人。String jsonString= " [{\"id\" : 1, \"name\" : \"name1\"}, {\"id2\" : 2, \"name2\" : \&quot

2013-07-16 16:11:11 75

原创 spring 事物传播特性和隔离级别

一、Propagation (事务的传播属性)Propagation :  key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGA...

2013-06-25 15:45:10 71

原创 myeclipse开发项目转eclipse开发

myEclipse项目转成Eclipse开发 公司拿到手的项目开发平台都不统一。有的是myEclipse开发的,有的是Eclipse for J2EE开发的。 这里说一种把myEclipse项目转成Eclipse项目继续开发 1.  请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件 2.  然后修改eclipse工程下的.project文件: 3.在<natures...

2013-06-06 10:35:47 92

原创 linux 下的压力测试工具

一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.g...

2012-08-29 16:32:00 440

原创 Nginx 开启 stub_status 模块

Nginx中的stub_status模块主要用于查看Nginx的一些状态信息.本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure --with-http_stub_status_module一、查看已安装的 Nginx 是否包含 stub_status 模块#/usr/local/nginx/sbin/ngin...

2012-07-02 17:06:24 130

原创 redis 使用需要注意的问题

下面内容来源于Quora上的一个提问,问题是使用Redis需要避免的五个问题。而回答中超出了五个问题的范畴,描述了五个使用Redis的注意事项。如果你在使用或者考虑使用Redis,可能你可以学习一下下面的一些建议,避免一下提到的问题。1.使用key值前缀来作命名空间虽然说Redis支持多个数据库(默认32个,可以配置更多),但是除了默认的0号库以外,其它的都需要通过一个额外请求才能使用...

2012-05-26 17:48:17 129

ubuntu 下开机启动项管理

先安装sudo apt-get install rcconf运行 rcconf你会看见一个图形界面,按上下键可以移动选择,选中之后按空格键就可以开启和关闭,按确定键退 

2012-05-04 11:48:09 147

原创 node.js 调试技术总结

欲善其功,必先利其器--Nodejs调试技术总结 调试技术与开发技术构成了软件开发的基石。目前Nodejs作为新型的Web Server开发栈倍受开发者关注。总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的二进制模块。这里主要介绍三种avaScript模块的调试方法:基于Nodejs内建的调试器,基于V8调试插件和基于Chro...

2012-04-24 14:50:11 128

原创 ubuntu nginx 安装以及配置文件详解

1.到nginx官网下载源码包。最好下载稳定版本,nginx官网http://www.nginx.org/2.安装nginx依赖包运行命令:sudo apt-get install libssl-devsudo apt-get install libpcre3 libpcre3-dev3.解压下载的nginx源码包。检查编译环境 ./configure --prefix=/usr/...

2012-04-19 18:33:20 669 1

原创 myeclipse 项目转eclipse

  由于以前的项目都是用myeclipse开发的,现在想换成eclipse来开发。但是项目导入到eclipse中发现该项目并不是web项目,也不能部署到tomcat里面去。        刚在csdn上面看到一段回复,试了一下,果然可以。分享一下!       1.请首先确保你的eclipse是javaee版本的,或者已经安装看wtp插件        2.然后修改eclipse...

2012-03-23 11:01:33 162

原创 ubuntu eclipse 安装svn插件

我的eclipse版本是java EE 3.7在线安装svn插件。help ->install new software ->添加一个svn:http://subclipse.tigris.org/update_1.6.x选择subclipse,选中subclipse,subversion Client Adapter和Subversion JavaHL Native Libr...

2012-03-23 10:59:46 177

原创 redis 的理解

 Memcached真的过时了吗?作者:nosqlfan on 星期一, 三月 12, 2012 · 3条评论 【阅读:2,892 次】 这两年Redis火得可以,Redis也常常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcac...

2012-03-21 16:00:09 87

ubuntu mongodb 安装

1.下载mongodb,到官网下载最新的稳定版本:http://www.mongodb.org/downloads2.解压下载的包 tar -zxvf mongodb-linux-i686-2.0.4.tgz3.mongodb默认的数据存储路径是/data/db/ 所以先创建目录  mkdir /data/db4.运行  ./bin/mongod启动服务。5.运行 ./bin/mo...

2012-03-20 17:24:43 72

java中的堆内存和栈内存

栈(stack):     是一个后进先出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域).     栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的。所以栈内存中存放的都是方法运行中声明的基本...

2012-03-20 10:08:19 87

node.js Error: Parse Error 的处理

今天运行node服务发现一个异常,我通过node.js客户端访问我的node.js服务,然后客户端程序就报错,具体堆栈信息是这样的。Error: Parse Error    at Socket.<anonymous> (http.js:1150:24)    at TCP.onread (net.js:354:27)最后发现引起这个异常的原因是http header中...

2012-03-19 11:47:34 4669 1

原创 http 数据压缩

许多 web 服务具有发送压缩数据的能力,这可以将网络线路上传输的大量数据消减 60% 以上。这尤其适用于 XML web 服务,因为 XML 数据 的压缩率可以很高。 服务器不会为你发送压缩数据,除非你告诉服务器你可以处理压缩数据。 例 11.14. 告诉服务器你想获得压缩数据>>> impo...

2012-03-15 14:58:08 127

node Modules 模块Caching功能

在node.js中,模块在第一次被记载的时候就被缓存起来了,这意味着当我们在其他的文件再次使用require('foo')方法引入的模块的时候,我们都将会得到一个从缓存中返回的对象,而并会再执行一遍foo.js文件。如果我们想在每次require('foo')的时候都执行一遍文件的话那么我们可以再foo.js中exports一个function,requere的时候都执行这个functio...

2012-03-07 22:57:41 122

node.js express 运行环境

Express支持多工作环境,比如生产环境和开发环境等。开发者可以使用configure()方法根据当前环境的需要进行设置,当configure()没有传入环境名称时,它会在各环境之前被调用(一回注:相当于被各个明确环境所共享)。下面的示例我们只抛出异常(dumpException),并且在开发模式对异常堆栈的输出做出响应,但是不论对开发或者生产环境我们都使用了meth...

2012-02-27 18:10:42 204

原创 linux npm 安装

就像NPM的官网(http://npmjs.org/)上介绍的那样,安装NPM仅仅是一行命令的事情: curl http://npmjs.org/install.sh | sh 这里详解一下这句命令的意思,curl http://npmjs.org/install.sh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。这里如果没有权限会...

2012-02-22 18:44:13 501

原创 node.js 0.6版本安装

wget http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz tar zxvf node-v0.6.1.tar.gz cd node-v0.6.1 ./configure 上面几行命令是通过wget命令下载最新版本的代码,并解压之。./configure命令将会检查环境是否符合Nodejs的编译需要。 Checking for ...

2012-02-22 18:41:06 296

浅谈对node.js http.agent的理解

node.js之火已经燃起。本文简单介绍一下自己在学习node.js过程中遇到的问题。node.js的http模块使用了一个agent代理。如果你的http启动了keep-alive那么这个代理相当于一个连接池。这个代理维护了一定数量的socket链接,当然都是短链接。http发起请求所用的socket都是通过代理获取的。这样就省去了每次发起http请求是创建套接字的时间提高了效率。...

2012-02-21 16:03:00 2166

原创 ubuntu svn 安装使用

ubuntu下安装subversion客户端:sudo apt-getinstall subversion subversion-tools详细请看 http://www.subversion.org.cn/svnbook/1.1/index.htmlsvn子命令1、检出svn  co http://路径(目录或文件的全路径) [本地目录全路径] --u...

2012-02-15 15:39:36 160

原创 tcp 状态详解

对tcp的几种状态一直比较模糊,在实际应用中对这几种状态有个充分的理解还是很重要的。tcp链接建立和断开的过程如下所示:1 、建立连接协议(三次握手) ( 1 )客户端发送一个带 SYN 标志的 TCP 报文到服务器。这是三次握手过程中的报文 1 。( 2 ) 服务器端回应客户端的,这是三次握手中的第 2 个报文,这个报文同时带 ACK 标志和 SYN 标志。因此它表示对刚才客户端 SYN 报...

2012-01-08 17:30:18 76

原创 ubuntu 安装tomcat服务器

1,下载apache-tomcat6,地址链接:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.28/bin/选择Ubuntu Linux适用版本,即apache-tomcat-6.0.28.tar.gz文件, 2,复制安装文件到/usr/local/目录下面,在控制台console输入命令, sudo tar -zxv...

2012-01-06 18:53:52 71

linux 下chrome 浏览器不能以root用户运行

以前在非root用户下安装chrome运行很好。后来切换到root用户死活启动不起来。说不能以root用户运行。要运行必须修改一个东西。后来在网上搜了一下。可以了。说下操作步骤吧:1.cd /usr/lib/chromium-browser/2.vi  chromium-browser  找到geteuid 改成getppid保存,ok搞定了。...

2011-12-28 18:58:20 1011

基于thrift的node.js rpc服务

1.在node.js 服务下创建node_modules文件,npm install  thrift 下载thrift到该文件下。2.编写idl文件。user.thrift 内容如下:    struct User{       1: string uid,       2: string uname,       3: bool usex,       4: i16...

2011-12-12 17:12:40 553

ubuntu 安装thrift

  安装ant和ivy,1。下载    ant下载地址:http://ant.apache.org/下载apache-ant-1.8.1-bin.tar.gz(当前最新版本),将该下载包拷贝到/usr/local下(随意了,找个地方就好) 2。解压     cd /usr/local       tar -zxvf apache-ant-1.8.1-bin.tar....

2011-12-12 16:50:28 122

原创 ubuntu 安装卸载搜索软件

安装软件 apt-get install softname1 softname2 softname3……卸载软件 apt-get remove softname1 softname2 softname3……卸载并清除配置 apt-get remove --purge softname1更新软件信息数据库 apt-get update进行系统升级 apt-get upgrade搜索软件包 apt-c...

2011-11-30 09:48:55 130

node.js 链接membase

先说为什么选用membase作为nosql方案,现在的nosql简直是太多了。多的让 你不知道用哪个好,但是要选数据库还得知道你自己的需求是什么,首先我需要的是一个作为缓存方案的数据库。那么membase和redis显然是最合适的,那么这两者之间的差别是什么呢。首先redis读写快,但是redis集群很麻烦,自己的集群有缺陷,所以我选择membase,membase可以很方便的集群,并且提供了...

2011-11-22 21:48:02 82

原创 linux mongoDB安装

1.首先到mongodb官网下载压缩文件。官网地址为www.mongodb.org,我下载的是mongodb-linux-i686-1.8.4.tgz2.解压tar -zxvf mongodb-linux-i686-1.8.4.tgz 修改解压后的文件名问 mongodb-1.8.4 。名字自己取。直观就行。3.cd mongodb-1.8.4 4.cd bin 5.启动服...

2011-11-11 11:24:15 94

原创 linux 安装jdk

1.下载linux版本jdk,我下的是jdk-6u27-linux-i586.bin.放置到相应的目录下面。本文的路径是/usr/share .2.到jdk岁在目录解压,赋给权限 chmod +x jdk-6u27-linux-i586.bin解压 ./jdk-6u27-linux-i586.bin3.配置环境变量# jdk enviromentexport JAVA_...

2011-11-03 17:40:18 69

ubuntu 下搭建node.js + express web开发框架

本文主要对前人所写文章的总结,包括自己在安装nodejs 和express过程中遇到的问题。以备后用,同时能让正在学习node的人少走一些弯路。1.安装环境,由于对linux是菜鸟级别,所以在虚拟机上安装的一个ubuntu11.10 随便玩玩,虚拟机的安装这里就不多说了。2.node.js安装:到node官网www.nodejs.org下载源码,解压缩源码包。 进入到解压后的con...

2011-11-03 15:17:54 106

ubuntu 下cq 40 笔记本找不到无线网卡驱动

cq40,真是多事之本啊。装个xp吧声卡驱动有问题,不兼容。没办法只能装win7了。 前段时间为了调试nodejs,一狠心吧装了一个ubuntu,可是ubuntu刚一装上发现wifi不能用,无线那个按钮死活不管用了。没有办法,google上狂搜一把,最后发现了两种解决方法。 第一种引子别人文章中说的。使用命令的方式来解决:sudo dpkg-query -l|grep...

2011-10-31 16:05:17 145

javascript IDE 学习笔记

最近学习javascript,开始寻找像开发java一样的IDE,发现eclipse有很多插件可以实现 js开发,其中aptana很不错,于是就在网上找资料不停的尝试。下面是本人整理的一些笔记,包括远程调试node.js插件。不多说了。专正题。一, eclipse 安装nodejs远程调试工具:nodejs是基于v8 javascript,v8提供了eclipse插件,eclipse所...

2011-10-26 09:24:47 152

原创 aptana studio 3 添加jquery 提示功能

首先安装aptana 3,安装完毕后,点击Commands—>Bundle Development—->Install Bundle此时你是不是兴奋了,终于找到了久违的JQuery。不用多说,选择,点击确定,便开始安装,如果你安装了360的话会一直提示****安装,一路选择同意并确定。安装完毕后,此时还是不能使用提示的,应为没有库,我们还要在我们的项目中加入库文件。...

2011-10-13 14:45:18 119

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除