自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

JDBC的PrepareStatement在mysql下的实现

前言前些天做项目的性能对比测试,发现新的性能比之前的性能下降了很多,百思不得其解;多方磨难,最后定位到我们使用了DBCP的connection pool,没有打开prepareStatement Cache,打开后,性能就上来了;老的项目是使用c3p0,里面是使用到了prepareStatement Cache。 正文今天有空,研究下mysql jdbc driver的实现...

2011-12-15 11:31:09 151

天气API

http://m.weather.com.cn/data/101210101.html 中国天气提供的内部API,后面的ID还未知具体规则返回的数据格式为json;

2011-10-18 14:13:55 102

一种无名的设计模式

问题常见一个门面实现类,融合了N多的if/else,遂抽取了这种设计模式 类图 伪代码//Facadepublic void process(String key, Object...){ DataHandler handler = dataHandlerFactory.factory(key); if (handler != nu...

2011-10-10 15:39:57 139

DirectMemory实现方式

    我们都知道Terracotta收购了EhCache,同时推出了基于off-heap技术的bigMemory,从而摆脱JVM GC带来的性能问题;     就Java 本地Cache(非分布式)而言,存在3个地方可以存放数据:Heap, OffHeap和Disk            BigMemory非开源产品,所以其源码不能通过正常渠道拿到。      同时,有一个开源产...

2011-09-09 17:30:45 137

Buffer的几个属性和方法速记

 java.nio.Buffer  属性 mark positionlimit一般情况下limit==catacitycapacity此属性一经设置,就不会改变remainglimit-positionaddress  查询类方法 remaining limit - position...

2011-09-01 16:49:08 380

mvn创建工程模板

创建模板工程手工创建已有工程创建 mvn archetype:create-from-project然后到当前目前下的target/generated-sources/archetype寻找创建好的身影 如果无需修改任何东西,则mvn install 最后在你要新建工程的目录下mvn archetype:generate -Darchetype...

2011-08-26 18:01:35 121

TCP的几个常用参数

   SO_LINGERSpecify a linger-on-close timeout. This option disables/enables immediate return from a close()of a TCP Socket.  Enabling this option with a non-z...

2011-08-26 17:48:24 246

原创 20110810

文武之道,一张一弛 java se6 性能改进 偏向锁锁粗化自适应旋转  Detecting Contention• IDEs, Profilers or 3rd party tools• Mpstat on Solaris – vctx rate• If suspected, sample process with pstack> Loo...

2011-08-10 22:14:16 160

原创 20110809

The maximum heap size of a Java application is limited by three factors1、the process data model (32-bit or 64-bit) and the associated operating system limitations(what?)2、the amount of virtual ...

2011-08-09 19:15:00 74

20110806

IO  写道Disk latency is around 13ms, but it depends on the quality and rotational speed of the hard drive. RAM latency is around 83 nanoseconds.   性能指标IOPS (input/output operations per...

2011-08-06 21:46:28 76

20110802

Java & JVM 相关 买了一本书 ,深入理解java虚拟机JMM jsr-133-faq jdk7 source code: http://download.java.net/openjdk/jdk7/  分布式锁相关 拜占庭失效问题Paxos算法, 分布式系统中消息传输一致性算法两个具体实现google chubby...

2011-08-02 17:38:48 77

20110801

java se 7 AIO的实现 windows基于IOCP(input/output Completion Port,I/O完成端口) 它是应用程序使用线程池处理异步I/O请求的一种机制. linux基于epoll (EpollPort) 编程模型AIO模型相对于之前的编程模型,更加简便,且把线程池隐藏在内部实现中。 服务器端 channelGroup...

2011-08-01 21:24:46 127

原创 20110731

java7 AIO问题,是基于java concurrent Future+nio完成?如AsynchronousSocketChannel,AsynchronousServerSocketChannel,  AsynchronousFileChannel java7 自动资源关闭,实现AutoCloseable Grizlly http://grizzly.java.ne...

2011-07-31 21:26:24 62

原创 JAVA SE7 新特性

IOhttp://openjdk.java.net/projects/nio/add java.nio.file packageDefines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.The java.n...

2011-07-30 20:16:08 129

原创 20110729

java7 的特性http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html java7已经GA了 WTP3.3的dynamic web project的属性,和之前的版本不一样,而且还需要手工设置一下,默认的不生效。...

2011-07-29 13:26:49 62

原创 20110728

 参加了2个会整理了《应用无状态》的4件事情内容分发系统日志syslogmount去除应用服务器升级听了一个分布式cache实现,里面考虑了很多点通讯,大家都是基于mina或netty的nio,为了实现更高的性能通讯协议(这里也叫它序列化协议),考虑很多:hessian\json\pb\thift\java default数据一致性一致性ha...

2011-07-28 20:20:56 63

记录一下ByteBuffer调用路径

在某个地方_endpoint.fill(buffer);调用_channel.read(bbuf);这里看一下SocketChannelImpl.read方法然后调用IOUtil.read(fd, bytebuffer, -1L, nd, readLock); if(bytebuffer instanceof DirectBuffer) retu...

2011-07-22 14:57:06 77

原创 DirectByteBuffer

DirectByteBuffer特性说明 Java 2 SE 6 doc :Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attem...

2011-07-22 11:00:55 132

Jetty的核心

Jetty的核心类ServerThreadPool(有两个实现),见这里http://lixjluck.iteye.com/blog/1129558SelectChannelConnectorSelectorManagerSelectSetSelectChannelEndPoint HttpConnection(HttpInput,  HttpOutput,  Ht...

2011-07-21 17:03:46 85

ThreadPool配置及线程分配

QueuedThreadPool的使用jetty自己实现的thread pool  参数描述name设置线程的名称,默认qtp-(thread id)maxThreads最大启动的线程数minThreads默认启动的线程数maxQueued不设置,使用自增长的BlockingArrayQueue设置,使用Array...

2011-07-21 11:27:01 153

SelectChannelConnector可配置参数

SelectChannelConnector可配置参数 基础参数,继承自AbstractConnector 参数描述namehostportintegralSchemeintegralPortconfidentialSchemeconfidentialPortacceptQueueS...

2011-07-21 10:44:56 217

Memcached与HandlerSocket+MySql

Memcached(MC)目前遇到的问题1、MC失效后,会引起雪崩效应,导致整个系统不可以(DB被拖垮了)2、数据一致性(整个看起来不是个大问题)3、运维,一般情况下都没用专门的系统支持 HandlerSocket(HS)可以解决的问题:1、结合了store+cache的功能,且物理在一起,就是说以前的cache这一层的机器,现在可以不用了2、数据一致性3、有专...

2011-07-20 11:06:31 62

Icacls windows命令

jboss中,开启jmx-console需要对*.properties文件授权,才可以启动 可以通过 Icacls 修改文件的权限 参考:http://technet.microsoft.com/en-us/library/cc753525(WS.10).aspx  ...

2011-07-20 10:57:18 313

Leader/Follower模式的简单实现

Leader/Follower相比较于普通的ThreadPool的优点1、无需context switch,减少了线程间数据copy2、无需维护一个队列,占用而外的内存空间 lf模式理解起来稍微有些困难,所以写了一个小的事例程序帮助自己理解 public class ThreadPool { private final static Object monitor = n...

2011-04-26 17:51:46 942

一些概念

ScalabilityScale up (in)Scale down (out)HA-High AvailabilityLB-load balancerSPOF-Single Point Of FailureFault tolerance ClusterPartitioning--Horizontal partitioning--Vertical par...

2011-04-15 11:33:39 83

并发的几个解决方案

1、 最简单的,页面的《提交》按钮,在点击后(校验通过后)Disabled,这样用户就不会重复点击《提交》按钮;2、 数据库表增加唯一性索引(比如memberId),这个只能解决一般(为什么一般,继续看)并发插入的问题;如果两条一样的数据插入,只有一条会成功,另外一次插入失败;3、 使用乐观锁,在Table里增加一个version int字段,这个可以保证更新操作的并发问题;Sel...

2011-04-15 10:22:43 219

Awk实现求和、平均、最大值和最小值的计算操作

0、准备和数据文件比如有一个数据文件,只有一列(在之前可以通过各种手段过滤出只有数字这一列),比如操作的响应时间4908981189235202121494270146515293692356356302722976127809168135516461885818977 1、求和cat data|awk '{sum+=$1} ...

2011-03-14 14:51:45 520

原创 梦想+坚持=?

《小鲤鱼跳龙门》的故事相信很多人都听过的,不同阶段听,我想收获会不一样。要不要再来看一次?那就请静下心来,来几个深呼吸,花5分钟,我们一起来,再温习一下这个故事: --小鲤鱼跳龙门--很久很久以前,在一个大湖里住着一群鲤鱼,他们生活的非常快乐,随着慢慢长大,他么都有一个共同的欲望,就是想到外面的大海去看看。于是他么就结伴一起出发了,他们顺着湖水向大海的方向游去。当他们游...

2011-01-07 14:23:16 96

JVisualVM中的JConsole的使用

JVisualVM中提供了jconsole的插件,默认把它安装好后,发现不知道怎么用,打开jconsole Tab发现如下所示:它提示我们已经安装好了JConsole插件,但是还要配置,配置什么呢?这个问题,我以前试过多次,不得其解,偶然一次机会,看到一篇文章,它是如下操作的:在配置jconsole plugins的地方,Add jar,选择JDK_HOME/demo/manage...

2010-07-15 19:06:44 403

程序员的几个素养

见如下链接PDF:http://docs.google.com/fileview?id=0B2AZBrgwR_PNNjhjODhiN2MtYzg1My00NGMzLWI5MzItOGE4YzdkMzdkMmFi&hl=zh_CN 

2010-07-14 18:03:25 66

原创 Log4j 1.2.15路径替换一个bug

    Log4j提供了一个路径替换(subst-mechanism)功能,可以实现运行期替换log4j配置文件里${xx}的标记为外部指定的值。    例如:log4j.xml可以指定file的值为"${loggingRoot}/project.log",此时就可以利用log4j的subst功能,把${loggingRoot}替换成具体的路径,如d:/app/logs<appender...

2010-07-13 19:31:54 264

生产环境数据源c3p0的配置

 前市面上可用的数据源有3个:c3p0, dbcp, bonecp。对应一个数据源生产使用,主要注意以下几个点: 1.    性能2.    自动重连3.    安全,目前只有jboss app server内置的数据源支持数据库密码的加密。...

2010-07-05 20:26:15 322

远程监控JVM--VisualVM

  对于使用命令行远程监控jvm太麻烦?那可以试试sun提供的VisualVM,jdk1.6自带了,可以到bin目录下找到它。         什么也不说了,直接运行此exe,打开界面如下:  (图1)         (上图1左边的数可以看到,VisualVM分为3类,Local它会自动侦测到,并显示出来)         双击Local下的任一节点,看到右边的变化(有点...

2009-11-13 14:26:28 135

远程监控JVM

远程jstat Step by Step1、  在机器上启动jstatd,一个daemon进程,更多解释见此链接1.1、  首先需要准备一个java.policy文件,保存到如/home/admin/jstatd.java.policy     grant codebase "file:${java.home}/../lib/tools.jar" {        permis...

2009-11-13 14:12:27 88

JBoss中异步消息的发送和接收

 在不使用ejb的情况下,怎么在jboss中简单地实现异步消息的发送和接收呢?我们可以通过spring对jms的封装来实现。 首先,在jboss配置好你的ConnectionFactory, Queue   jms-ds.xml <connection-factories> <tx-connection-factory> ...

2009-09-16 09:45:48 107

Groovy 的基本数据类型--字符串

Groovy里有两种字符串:java.lang.String和groovy实现的groovy.lang.GString  String的表现形式单引号'hello world'String双引号"hello world""hello, $name"StringGString3个单引号''' h1h2h3'...

2009-08-19 22:12:07 798

Groovy 的基本数据类型--数字

在Groovy里,一切皆对象,没有所谓的原始类型。Groovy 的基本数据类型有以下几种:1、数字2、字符串,正则表达式3、集合(list,rang, map) 数字(Number)  groovy支持的数字java.lang.Integer123, 0x123java.lang.Float123f,123Fjava.lang....

2009-08-19 20:45:10 754

搭建Groovy环境--Eclipse

   Eclipse应该是我们最常用的IDE了,那么学习groovy,也希望有个groovy eclipse plugin了。   1、安装Eclipse插件(这里就不继续怎么安装了)  For Eclipse 3.5:http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.5/For Eclips...

2009-08-12 10:17:01 107

搭建Groovy环境--HelloWorld

   直接进入主题吧!    1、下去下载http://groovy.codehaus.org/Download下载吧,最新的版本是1.6.4(前提java要设置好)   2、设置环境变量GROOVY_HOME=C:\groovy_1.6.4和PATH= %PATH%;%GROOVY_HOME%\bin   3、这个时候,就可以进入cmd看看了   4、这里我们使用groovyCons...

2009-08-10 21:45:01 75

原创 第一次从滨江下班

今天是第一次从第一次从滨江上下班。 下午6点下班后,赶快下楼,乘坐公司班车做到 194的桥南头站;刚好一道,就有一辆194过来了,上车一看,尽然是空车啊(我塞,我听同事说,194都是人挤人) 车子发动,冲向一桥,没20分钟就到了玉古路,尽然一点都不堵,真的怀疑是交通管制了 哈哈,到家7:10,超出期望啊;看接下来的了。。。...

2009-08-10 21:25:30 59

空空如也

空空如也

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

TA关注的人

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