- 浏览: 195025 次
- 性别:
- 来自: 杭州
博客专栏
-
Percolator与分布...
浏览量:5672
最新评论
-
heglase:
好牛逼 竟然解决了我别的问题
使用jdk工具tools.jar引发的问题 -
wqcva:
在使用这个类的时候workerId应该怎么传
java时间有序id生成 -
沙漠绿树:
增加虚拟节点解决数据均衡的问题。我有个疑问:1.使用虚拟节点后 ...
一致性hash的实现 -
BucketLi:
wangjian95 写道tddl.....?不是
java唯一ID生成 -
wangjian95:
tddl.....?
java唯一ID生成
文章列表
使用Mysql的一些细节
- 博客分类:
- mysql
1.主键id字段一般建成BIGINT类型,后面的长度定义只是一个预设值,如果到达那个预设长度,数据库会自动增加那个长度,也就是BIGINT(20)和BIGINT(24)都能达到BIGINT的最大值,INT(11)和INT(14)也都能达到INT的最大值,但是INT无法自动转化成BIGINT,这个和VARCHAR不一样,后者在达到一定长度会被认为另外一种文本数据类型。
2.做一些数据复制的时候,有时候会出现一些binlog的问题,那这个时候可能会去做一些binlog解析工作查看binlog文件内容具体是什么。那么可以用mysql自带的mysqlbinlog在命令行中离线解析并输出到文件。
D: ...
应用启动初始化的时候有时候会判定下是否已经初始化过了。这个时候会设置一个变量,然后判断,然后设值。如果有概率发生并发的初始化,有可能还要加个锁。非常不简洁。下面这个方式,就让这个检查并设值的原子操作给底下来做吧,比较简洁。
if(!startFlag.compareAndSet(false, true)){
return;
}
以前做一些并发性测试的时候用CountDownLatch挺好,对于类似CyclicBarrier只是有个功能上的大概认知。现在发现CyclicBarrier也挺不错的,关键是比较简洁。下面是一个示例,CyclicBarrier还能再促发后运行一个指定R ...
动态加载java代码
- 博客分类:
- java基础
public String compile(String srcFiles[]) {
//StringWriter err = new StringWriter();
//PrintWriter errPrinter = new PrintWriter(err);
ByteArrayOutputStream err=new ByteArrayOutputStream();
String args[] = buildJavacArgs(srcFiles);
//int resultCode = com.sun.tools.javac.Main.com ...
Java原生Http请求_日期判定
- 博客分类:
- java基础
看了代码,tips一下
/**
* 采用java原生方式发送Http请求
*
* @param 目标url
* @param 发送内容
* @param 需要上传的消息头
* @param Http方法
* @param 内容类型
* @return
*/
public static byte[] sendRequestV2(String url, String content,
Map<String, String> headers, String method, String contenttype)
...
Linux的一些有用命令
- 博客分类:
- linux
授权某一个文件或者文件夹给某一个组和用户,需要提的一点是,重新授权后,可以执行文件(.sh)需要重新授予执行权限。
sudo chown -R admin:admin /home/admin/abc/
sudo chown admin:admin /home/admin/dfd.log
命令行敲命令,需要回到一行头部或者 ...
JAVA crash后的不完全排查手段
- 博客分类:
- java基础
打印GC,内存溢出dump
-server -Xms512m -Xmx512m -XX:NewSize=107m -XX:MaxNewSize=107m -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc
:/home/admin/gc.log -XX:+HeapDumpOnOutOfMemoryError
gc log能够看到JVM 3代内存的大小状况,但感觉不太详细,只能初步 ...
一个标准的java线程工厂
- 博客分类:
- java基础
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
public class WorkerThreadFactory implements ThreadFactory {
private static final AtomicInteger poolNumber = new AtomicInteger(1);
private final ThreadGroup group;
private final AtomicInteger threa ...
wget -nH --cut-dirs=1 -m --ftp-user=username --ftp-password=passwd ftp://ip/directory/something
线上传输到 ftp服务器: curl -vT something.tar ftp://pubftp:look@10.10.10.10/
线上机器从服务器get:wget ftp://pubftp:look@ip/something
HttpInvokerServiceExporter只是spring remoting的一种,还有HessianServiceExporter,BurlapServiceExporter
下面一个例子以HttpInvokerServiceExporter为例的综合应用
也可以参考http://www.javaeye.com/topic/417767这个帖子
1.JettyDaemon类的start方法 server = new Server();
final SelectChannelConnector connector = new SelectChannelConnector( ...
public Task deepCopy() throws Exception{
//将该对象序列化成流,因为写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。所以利用这个特性可以实现对象的深拷贝
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(this);
/ ...
ServerSocket关了之后不会对已建立的Socket有任何影响
static void testSocket() throws Exception {
InetAddress ia = InetAddress.getByName("127.0.0.1");
ServerSocket ss = new ServerSocket();
ss.bind(new InetSocketAddress(ia, 0));
Socket s1 = new Socket();
s1.connect(new Inet ...
移位运算符
包括:
“>> 右移”;“<< 左移”;“>>> 无符号右移”
例子:
-5>>3=-1
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 1111 1111 1111
其结果与 Math.floor((double)-5/(2*2*2)) 完全相同。
-5<<3=-40
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 ...
package com.taobao.tddl.client.util;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.HashMap;
import j ...
package com.taobao.metamorphosis.server.utils;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
* 系统时间缓存
*
* @author boyan
* @Date 2010-9-28
*
*/
public class SystemTimer {
private fina ...
查整个库的状态:
select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size,
concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_ ...