- 浏览: 30011 次
- 性别:
- 来自: 杭州
最新评论
文章列表
大半夜的研究了一下ThreadLocal,头脑不是特别清醒,如果疑问,欢迎探讨啊。
核心
Thread 类中有 ThreadLocal.ThreadLocalMap threadLocals = null; 变量
ThreadLocalMap类主要代码:
一个弱引用的内部类
static class Entry extends WeakReference<ThreadLocal> {
/** The value associated with this ThreadLocal. */
Object value;
Entr ...
java对sql解析
- 博客分类:
- Java基础
原文地址 http://www.cnblogs.com/zcftech/archive/2013/06/10/3131286.html
第一步:先对sql语句进行预处理;
对于用户,我们应该接受各种形式的查询语句书写,单行或者多行,语句中单个空格或者多个空格的间隔等等。但是我们要解析sql语 ...
java Serializable 一些细节
- 博客分类:
- Java基础
1)通过网络传输的对象,必须实现Serializable接口,或者父类已经实现序列化接口。
(2)网络传输对象封装太多层次的父类不太好,或者说在interface上用父类定义,然后将子类实例传递给网络另一端的应用可能没这个 jar包/class,反序列化不了的。另一可能情况,动态代理接口InvocationHandler invoke(Object proxy, Method method, Object[] args),传进时,method的参数定义匹配interface上的method参数定义,比如是父类,从args获取的class是子类,如果某种 rpc技术处理不当,或无从识别,困扰的 ...
Java远程通讯可选技术及原理
- 博客分类:
- 架构
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领 域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什 么关系呢,它们背后到底是基于什 ...
mac下autoconf automake安装
- 博客分类:
- mac
curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz tar -xzvf m4-1.4.13.tar.gz cd m4-1.4.13 ./configure –prefix=/usr/local make sudo make install
cd .. curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz tar -xzvf autoconf-2.65.tar.gz cd autoconf-2.65 ./configure –prefix=/u ...
来源 http://blog.csdn.net/sparkliang/article/details/5279393
一致性 hash 算法( consistent hashing )
张亮
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;
1 基本场景
比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 o ...
MySQL中EXPLAIN解释命令
- 博客分类:
- 数据库
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
使用方法,在select语句前加上explain就可以了:
如:
explain select surname,first_name form a,b where a.id=b.id
EXPLAIN列的解释:
基本参数:
-dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.
-finalizerinfo 打印正等候回收的对象的信息.
-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.
jstat的使用常见使用
- 博客分类:
- 性能测试
[root@ssss logs]# jstat -gcutil 32205 1000 300
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 1.46 26.54 4.61 30.14 35 0.872 0 0.000 0.872
0.00 1.46 46.54 4.61 30.14 35 0.872 0 0.000 0.872
0.00 1.46 47.04 4.61 30.14 35 0.872 0 0.000 0.872
0.00 1.46 65.19 4.61 30.14 35 0.872 0 0.000 0.872
0.00 1.46 67 ...
图解linux下top命令的使用
- 博客分类:
- linux
top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。
本文通过一个运行中的WEB服务器的top监控截 ...
Apache CXF provides many built-in Interceptors that provide core services to the message that is being exchanged between consumer and service endpoint. These interceptors do the work of marshalling and unmarshalling, manipulating message headers, performing authorization checks, validating the mess ...
mac系统环境下 eclipse 配置 svn使用
- 博客分类:
- mac
eclipse装好 svn插件后,会提示 javahl不可用,请执行以下命令
首先安装 macports, 参阅 http://blog.csdn.net/lynjay/article/details/7936470
然后执行如下命令*
sudo port install subversion-javahlbindings +no_bdb +universal
OSX comes with a SVN command line client, but unfortunately they do not include the JavaHL library.
The best thin ...
mac 配置 jdk环境变量
- 博客分类:
- iOS
Mac OS 上设置 JAVA_HOME
2013-01-11 22:26:13| 分类: 默认分类 | 标签:java mac |举报|字号 订阅
由于需要,前几天在 OS X 上安装了 Oracle 的 Java 7。安装之后,发现由于我原来设置的 JAVA_HOME 为 /Library/Java/Home ,导致我使用的还是原来苹果提供的 Java 6 而不是刚安装的 Java 7。
网上查了一下,发现网上普遍存在一种不太好的硬编码方式,比如以下这些:
JAVA_HOME=/Library/Java/Home
JAVA_HOME=/System/Library/Fram ...
SQL distinct 和group by
- 博客分类:
- 数据库
聚合函数
AVG
MAX
MIN
SUM
COUNT
distinct和Group by 区别:
distinct只是将重复的行从结果中出去;
group by是按指定的列分组,一般这时在select中会用到聚合函数。
distinct是把不同的记录显示出来。
group by是在查询时先把纪录按照类别分出来再查询。
group by 必须在查询结果中包含一个聚集函数,而distinct不用。
假定 Table 表有三列,
id, key, value
其中 id是主键,不能重复,key和value可能有重复记录
使用distinct去重复:
select distinct key ...