- 浏览: 797190 次
- 性别:
- 来自: 杭州
最新评论
-
huan19900606:
像haskell这些脚本语言很容易定义DSL,实现对应的词法语 ...
DSL的基本介绍(groovy来进行构建) -
express_wind:
https://yq.aliyun.com/album/130 ...
qlexpress规则引擎初探 -
readxuxuegang:
博主你好。如果groovy的代码是保存在数据库里,不是文件,这 ...
在java中使用groovy怎么搞 (java and groovy) -
express_wind:
hi,兄弟,有没有兴趣来阿里巴巴专门做这方面的研究,https ...
qlexpress规则引擎初探 -
langcaiye:
有2个问题请教:1. 这里的base32算法为什么需要以负数的 ...
【原】geohash算法详解
文章列表
JDBC 作为java程序员基本上都使用过,但是后面真正做东西的时候,由于JDBC过于底层,除了需要编写数据执行的代码,还需要编写创建connection、释放资源以及对象转换等等问题,相当繁琐。
常见的几个基础类:
DataSource
Conection
Statement
ResultSet
这些类比较基础,灵活运用功能强大,但是写起来比较繁琐。
Spring提供了JdbcTemplate模板,共性的东西模板里面给你做了。
下面是模板类的大体结构。
用JdbcTemplate模板来调用,很简单,只需要简单几步,例如:
public static v ...
TCP状态-问题排查
- 博客分类:
- linux
前段时间遇到一个为问题,通过监控apache的日志发现,http接口调用的响应时间非常长。
----------------------------------------------------------------------------------------------------------------------
插一段apache日志格式:
例如:httpd.conf中的部分log格式
LogFormat "%h %D %{X_READTIME}i %t \"%m http://%V%U%q\" %>s %b \"%{ ...
同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的 ...
在平时开发过程中,使用注解是一件很平常的事情,但是至今没有自己编写过注解,于是打算自己搞个注解看一下处理流程。
下面的几个注解已经很熟悉了,是java内在的几个注解。
@Override注释能实现编译时检查 ...
第一次听说这本书是在微博上面,看到上面说是互联网最伟大的思考着的又一力作,最近找时间终于读完了。
说实在的,没怎么读懂,有些点没有理解掉,可能是思考的不够吧,毕竟是最伟大的思考着的作品,要理解肯定要 ...
一直觉得单例模式自己掌握的挺好,但是看完这篇文章后汗颜了。。。
前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。
Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoader)协同时、涉及到跨JVM(集群、远程EJB等)时、涉 ...
很早就有意向写一篇记录范围内检索的摸索过程,这里以数据量为主线展开三个方面,自己在项目以及demo过程中先后实践过。
范围内检索,一个文本的地址,想要实现空间范围的检索,必须具有一个属性,就是经纬度,这里 ...
写代码的时候经常遇到下面的情况,之前处理过一次,使用了策略模式,当时不是很理解,于是自己写了个简单的例子,清晰了逐渐。
首先看下面的代码,
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 = " ...
【转】主流分词器对比
- 博客分类:
- java
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
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 ...
【原】有效的时间管理-读书笔记
- 博客分类:
- 读书笔记
有效的时间管理-读后感
这本书总体感觉很不错,没有一上来就介绍很多大道理,而是用一个故事来逐步进行深入的。首先是故事的主人公,一对夫妻,通过不断的交流请教,获取了有效的时间管理的方法,有序思考的方式,进而将这些方式交给自己的孩子,然后是公司的员工,最终通过有序思考的方式,过上了幸福度很高的生活。
与其说是有效的时间管理,个人觉得有效的思考更加合理一点。
本书开篇抛出了一个场景,正是这个场景吸引了我,场景是这样的:
太多的事情要去做;
太多的不完美;
太多的中断阻挠;
太少的时间与家人分享;
太少的生活自由;
生活似乎没有意义;
对于书中的一些重点段落抽取出来 ...
最近线上出现一个故障,因为是JVM配置参数问题,导致的gc有问题,从而导致JVM挂起,以至于不能提供服务,现在把JVM默认的gc方式以及在日志中的体现汇总一下。
关于server模式和client模式:
JVM如果不指定-server或-c ...