自定义博客皮肤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 274

天气API

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

2011-10-18 14:13:55 192

一种无名的设计模式

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

2011-10-10 15:39:57 245

DirectMemory实现方式

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

2011-09-09 17:30:45 242

Buffer的几个属性和方法速记

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

2011-09-01 16:49:08 465

mvn创建工程模板

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

2011-08-26 18:01:35 183

TCP的几个常用参数

      SO_LINGER Specify 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 338

原创 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 217

原创 20110809

The maximum heap size of a Java application is limited by three factors 1、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 150

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 145

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 136

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 200

原创 20110731

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

2011-07-31 21:26:24 128

原创 JAVA SE7 新特性

IO http://openjdk.java.net/projects/nio/ add java.nio.file package Defines 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 191

原创 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 130

原创 20110728

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

2011-07-28 20:20:56 123

记录一下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 134

原创 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 218

Jetty的核心

Jetty的核心类 Server ThreadPool(有两个实现),见这里http://lixjluck.iteye.com/blog/1129558 SelectChannelConnector SelectorManager SelectSet SelectChannelEndPoint   HttpConnection(HttpInput,  HttpOutput,  Ht...

2011-07-21 17:03:46 147

ThreadPool配置及线程分配

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

2011-07-21 11:27:01 240

SelectChannelConnector可配置参数

SelectChannelConnector可配置参数   基础参数,继承自AbstractConnector   参数 描述 name host port integralScheme integralPort confidentialScheme confidentialPort acceptQueueS...

2011-07-21 10:44:56 328

Memcached与HandlerSocket+MySql

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

2011-07-20 11:06:31 122

Icacls windows命令

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

2011-07-20 10:57:18 444

Leader/Follower模式的简单实现

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

2011-04-26 17:51:46 1090

一些概念

Scalability Scale up (in) Scale down (out) HA-High Availability LB-load balancer SPOF-Single Point Of Failure Fault tolerance  Cluster Partitioning --Horizontal partitioning --Vertical par...

2011-04-15 11:33:39 138

并发的几个解决方案

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

2011-04-15 10:22:43 307

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

0、准备和数据文件 比如有一个数据文件,只有一列(在之前可以通过各种手段过滤出只有数字这一列),比如操作的响应时间 490898 1189235 20212 1494270 146515 29369 23563 563027 22976 127809 16813 551646 18858 18977   1、求和 cat data|awk '{sum+=$1} ...

2011-03-14 14:51:45 643

原创 梦想+坚持=?

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

2011-01-07 14:23:16 234

JVisualVM中的JConsole的使用

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

2010-07-15 19:06:44 505

程序员的几个素养

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

2010-07-14 18:03:25 121

原创 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 352

生产环境数据源c3p0的配置

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

2010-07-05 20:26:15 418

远程监控JVM--VisualVM

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

2009-11-13 14:26:28 222

远程监控JVM

远程jstat Step by Step 1、  在机器上启动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 169

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

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

2009-09-16 09:45:48 165

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

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

2009-08-19 22:12:07 1000

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

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

2009-08-19 20:45:10 895

搭建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 190

搭建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 132

原创 第一次从滨江下班

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

2009-08-10 21:25:30 132

空空如也

空空如也

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

TA关注的人

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