`
iamzhongyong
  • 浏览: 797190 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
JDBC 作为java程序员基本上都使用过,但是后面真正做东西的时候,由于JDBC过于底层,除了需要编写数据执行的代码,还需要编写创建connection、释放资源以及对象转换等等问题,相当繁琐。 常见的几个基础类: DataSource Conection Statement ResultSet 这些类比较基础,灵活运用功能强大,但是写起来比较繁琐。 Spring提供了JdbcTemplate模板,共性的东西模板里面给你做了。 下面是模板类的大体结构。   用JdbcTemplate模板来调用,很简单,只需要简单几步,例如:     public static v ...

TCP状态-问题排查

前段时间遇到一个为问题,通过监控apache的日志发现,http接口调用的响应时间非常长。 ---------------------------------------------------------------------------------------------------------------------- 插一段apache日志格式: 例如:httpd.conf中的部分log格式 LogFormat "%h %D %{X_READTIME}i %t \"%m http://%V%U%q\" %>s %b \"%{ ...

java回调

    博客分类:
  • java
  同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的 ...

系统梳理Java注解

    博客分类:
  • java
 
 在平时开发过程中,使用注解是一件很平常的事情,但是至今没有自己编写过注解,于是打算自己搞个注解看一下处理流程。          下面的几个注解已经很熟悉了,是java内在的几个注解。 @Override注释能实现编译时检查 ...
第一次听说这本书是在微博上面,看到上面说是互联网最伟大的思考着的又一力作,最近找时间终于读完了。 说实在的,没怎么读懂,有些点没有理解掉,可能是思考的不够吧,毕竟是最伟大的思考着的作品,要理解肯定要 ...
  一直觉得单例模式自己掌握的挺好,但是看完这篇文章后汗颜了。。。   前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。   Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoader)协同时、涉及到跨JVM(集群、远程EJB等)时、涉 ...
很早就有意向写一篇记录范围内检索的摸索过程,这里以数据量为主线展开三个方面,自己在项目以及demo过程中先后实践过。   范围内检索,一个文本的地址,想要实现空间范围的检索,必须具有一个属性,就是经纬度,这里 ...

策略模式初探

    博客分类:
  • java
写代码的时候经常遇到下面的情况,之前处理过一次,使用了策略模式,当时不是很理解,于是自己写了个简单的例子,清晰了逐渐。   首先看下面的代码,   public class Proxy {   private static String LOC_TOP = "top"; private static String LOC_LEFT = "lrft"; private static String LOC_RIGHT = "fight"; private static String LOC_BOT = " ...
1. 基本介绍: paoding :Lucene中文分词“庖丁解牛” Paoding Analysisimdict :imdict智能词典所采用的智能中文分词程序mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器ik :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式 2. 开发者及开发活跃度: paoding :qieqie.wang, google code 上最后一次代码提交:2008-06-12,svn 版本号 132imdict :XiaoPingGao, 进入了 lucene contribute,lucene tru ...

threadPoolExecutor代码

    博客分类:
  • java
java.util.concurrent包的出现,为我们实现多线程并发编程带来了很大的方便,但是同时也有很多问题,如果对于原理缺乏了解,使用起来可能就会有一些点忽略掉,导致应用出现问题,关于线程池已经想看源代码很长时间了,不能 ...
java类加载中的版本冲突是一个头疼的问题,这里列举几种排查问题以及处理的常用办法   有时候在测试环境下正常的,线上部分机器也是正常,但是有一些机器就会异常,这是啥原因? 因为jar包的加载顺序在不同的机器上面是不同的,一台机器多次重启,基本的顺序不会变,但是新的jar包就会有问题     在不同的机器上,对jar包中类的加载顺序有时候不是完全一致的,例如,在/home/admin/.default/lib 目录下的有个A.jar和b.jar,里面都有个叫SayHello的class,但A的SayHello里的功能(例如他打印的是“去你的”)和b的SayHello功能(例如他打印的 ...
前几天发布应用出现了点问题,排查过程中同事发在群里一篇文章,仔细看了一下,还是挺有意思的,于是自己模拟了一下场景, 原文在这里,一次简单致命的错误:http://www.blogjava.net/xylz/archive/2012/03/15/371966.html 在频繁的进行字符串的操作增加的时候,我们会优先考虑使用StringBuilder和StringBuffer,其中StringBuffer是线程安全的。有个小地方需要慎重,就是toString()方法。   先看这段代码://读取文件,然后在文件的末尾追加一些特殊字符然后换行 public static void m ...
看见一篇比较不错的关于java线程的文章,决定翻译一下,顺便体会一下翻译外文是啥感觉。 原文链接如下呵呵。         http://www.cubrid.org/blog/dev-platform/how-to-analyze-java-thread-dumps/     当遇到问题或者基于java web的程序跑的比期望中慢,这时候我们需要使用线程dump。如果thread dump对你感觉比较复杂,这篇文章将会帮助你。这里我将先简单介绍一下java线程中的一些简单概念等,然后如何从一个正在跑的程序里面dump thread,之后分析这些线程的各个状态,然后优化性能。 w ...
有效的时间管理-读后感   这本书总体感觉很不错,没有一上来就介绍很多大道理,而是用一个故事来逐步进行深入的。首先是故事的主人公,一对夫妻,通过不断的交流请教,获取了有效的时间管理的方法,有序思考的方式,进而将这些方式交给自己的孩子,然后是公司的员工,最终通过有序思考的方式,过上了幸福度很高的生活。 与其说是有效的时间管理,个人觉得有效的思考更加合理一点。 本书开篇抛出了一个场景,正是这个场景吸引了我,场景是这样的: 太多的事情要去做; 太多的不完美; 太多的中断阻挠; 太少的时间与家人分享; 太少的生活自由; 生活似乎没有意义;   对于书中的一些重点段落抽取出来 ...

【原】GC的默认方式

    博客分类:
  • java
 
最近线上出现一个故障,因为是JVM配置参数问题,导致的gc有问题,从而导致JVM挂起,以至于不能提供服务,现在把JVM默认的gc方式以及在日志中的体现汇总一下。   关于server模式和client模式:     JVM如果不指定-server或-c ...
Global site tag (gtag.js) - Google Analytics