- 博客(97)
- 资源 (12)
- 收藏
- 关注
原创 Java多线程:Executors
Executors类位于java.util.concurrent包下,提供了一些方便构建ThreadPoolExecutor和线程管理的方法。主要方法有以下几个:1.创建一个固定大小的线程池 public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExe
2014-04-02 13:20:13
10718
原创 Java多线程:ThreadPoolExecutor详解
ThreadPoolExecutor是JDK并发包提供的一个线程池服务,基于ThreadPoolExecutor可以很容易将一个Runnable接口的任务放入线程池中。ThreadPoolExecutor的构建参数: public ThreadPoolExecutor(int corePoolSize, int maxi
2014-03-26 16:20:19
41006
转载 短网址(ShortUrl)实现
最近,我的项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷。同时还发现有不少网友在发帖求助,怎么实现Java版的短网址(ShortUrl)的算法。干脆一不做,二不休,参考了一下网上比较流行的PHP版短网址(ShortUrl)算法:http://www.s
2014-03-21 15:30:53
7457
原创 Zookeeper(八)分布式队列
1. element 方法 获取对列头部第一个元素 查找队列znode 下所有的子节点名称 使用TreeMap给顺序编号排序 返回第一个znode对应的值 public byte[] element() throws NoSuchElementException, KeeperException, InterruptedException { Tre
2013-05-11 13:11:21
6072
转载 Redis复制与可扩展集群搭建
Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中。下面是一篇介绍Redis复制原理的文章,文章作者为新浪微博的田琪同学(@摇摆巴赫)。本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题。Redis复制流程概述Red
2013-04-05 22:25:46
3717
原创 Zookeeper(七)分布式锁
获取锁实现思路:1. 首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,称为:/lock_node2. 希望获得锁的客户端在锁目录下创建znode,作为锁/lock_node的子节点,并且节点类型为有序临时节点(EPHEMERAL_SEQUENTIAL); 例如:有两个客户端创建znode,分别为/lock_node/lock-1和/lock
2013-03-31 12:05:07
23885
1
原创 Zookeeper(六)数据模型
Zookeeper数据模型:Zookeeper的结构类似标准的文件系统,但这个文件系统中没有文件和目录,而是统一使用节点(node)的概念,称为znode。Znode作为保存数据的容器(限制在1mb以内),也构成了一个层次化的命名空间。 znode zookeeper目录中的每一个节点对应着一个znode,每个znode维护着一个属性结构
2013-03-30 15:32:32
6128
转载 android权限列表
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置
2013-03-17 16:02:44
3407
原创 Zookeeper(五)JAVA API
org.apache.zookeeper.ZooKeeper类 主要方法列表方法名称描述String create(final String path, byte data[], List acl, CreateMode createMode)创建一个znode节点,参数: 路径、 znode内容,ACL(访问控制列表)、 znode
2013-03-11 21:21:38
31826
原创 Zookeeper(四)简单操作
1. 连接到zookeeper服务[java2000_wl@localhost zookeeper-3]$ bin/zkCli.sh -server 127.0.0.1:21812. 使用ls命令查看当前zookeeper中包含的内容[zk: 127.0.0.1:2181(CONNECTED) 1] ls /[zookeeper]
2013-03-09 23:33:07
12221
原创 Zookeeper(二)四字命令
通过这些四字命令可以获取服务的当前状态,配置等相关信息。用户在客户端可通过telnet或nc向zookeeper发出命令。命令描述cons列出连接到服务器的所有客户端详细信息(连接,会话)。包括“接收/发送”的包数量,会话id,操作延迟等。 /127.0.0.1:37185[0](queued=0,recved=1,sent=0)
2013-03-06 23:08:56
6526
原创 Zookeeper(一)伪分布式安装
一:环境centosjdk1.6zookeeper-3.4.3 下载二:配置将解压出来的zookeeper 复制三份,这里分别叫做 zookeeper-1,zookeeper-2和zookeeper-3。1. zookeeper-1 配置:创建data目录:/home/java2000_wl/hadoop/zookeeper-1/data创
2013-03-03 16:15:07
11287
原创 CentOS下 Eclipse启动错误
错误信息:Failed to load the JNI shared library "/home/java2000_wl/jdk/jdk1.6.0_41/bin/../jre/lib/i386/client/libjvm.so".修改 /etc/sysconfig/selinux 文件 禁止SELINUX选项# This file controls the state o
2013-03-01 22:37:59
2954
原创 Spring 整合 Redis
pom构建: 4.0.0 com.x.redis springredis 0.0.1-SNAPSHOT org.springframework.data spring-data-redis 1.0.2.RELEASE org.springframework spring-test 3.1.2.
2013-01-25 18:52:19
182625
7
原创 redis - String字符串操作
中文命令参考手册import java.util.List;import org.junit.After;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;/** * jedis String 类型操作 * @author http://blog.csdn.ne
2013-01-23 19:40:34
8710
原创 redis - Java操作
Jedis 客户端实现Maven pom文件 加入依赖 redis.clients jedis 2.1.0 junit junit 4.8.2 test Jedis 简单使用/* * JedisTest.java */packag
2013-01-22 22:25:12
14932
原创 redis - 环境搭建
一:简介(来自百科)redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memca
2013-01-19 19:55:12
12243
原创 Java虚拟机学习 - 类加载器(ClassLoader)
类加载器类加载器(ClassLoader)用来加载 class字节码到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源文件在经过 Javac之后就被转换成 Java 字节码文件(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每一个这样的实例用来表示一个 Java 类。实际的情况可
2012-11-25 20:26:17
11310
2
原创 Java虚拟机学习 - 类加载机制
类加载机制JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、
2012-11-25 20:24:40
9662
原创 Java虚拟机学习 - 内存调优
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。代大小调优最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold、-XX:PermSize、-XX:M
2012-10-20 12:39:35
13491
1
原创 ExtJs - grid 合并单元格 跨行跨列
/*** 合并单元格* @param {} grid 要合并单元格的grid对象* @param {} cols 要合并哪几列 [1,2,4]*/function mergeCells(grid, cols) { var arrayTr = document.getElementById(grid.getId()+"-body").firstChild.firstChild.fir
2012-10-19 18:39:30
14405
2
原创 Java虚拟机学习 - 对象引用强度
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(PhantomReference) 四种,引用的强度依次骤减。强引用:就是指在代码之中普遍存在的,类似:“Obje
2012-10-19 17:54:19
8153
原创 Java虚拟机学习 - JDK可视化监控工具
1.JConsole JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。进入JConsole主界面,有“概述”、“内存”、“线程”、“类”、“VM摘要”和"Mbean"六个页签:内存页签相
2012-10-09 22:21:02
19465
1
原创 Java虚拟机学习 - 查看JVM参数及值的命令行工具
查看JVM各个参数值方式1. HotSpot vm中的各个globals.hpp文件 查看jvm初始的默认值及参数globals.hpp globals_extension.hpp c1_globals.hpp c1_globals_linux.hpp c1_globals_solaris.hpp c1_globals_sparc.hpp c1_globals
2012-10-06 00:42:06
63615
原创 Java虚拟机学习 - 对象内存分配与回收
对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:PretenureSize
2012-10-06 00:41:21
10064
原创 Java虚拟机学习 - 垃圾收集器
HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的
2012-10-05 00:26:57
39339
3
原创 Java虚拟机学习 - 垃圾收集算法
跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的,所以它们将会被判定为是可回收的对象。
2012-09-28 21:11:47
13197
9
原创 Java虚拟机学习 - 对象访问
对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“new Object()”这部分将会反映到Java堆中,形成一块存储Object类
2012-09-26 19:36:00
15372
12
原创 Java虚拟机学习 - 体系结构 内存模型
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。运行时常量池:是方法区
2012-09-24 23:57:47
31918
8
翻译 MYSQL数据库自动本地/异地双备份/MYSQL增量备份
构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构。针对安全性有多种多样的解决方案,其中数据备份是重中之重的首要工作。电子商务网站更加注重考虑数据安全,数据备份方案,包括本地备份、异地备份架构。其中Linux服务器的备份方案非常多,本文介绍一个大众化
2012-09-24 20:55:39
3784
原创 Spring整合- mongodb
1.环境 Jdk:1.6.0_10-rc2 Spring3.1.2 下载 依赖jar文件: 2.相关配置①.Spring配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
2012-09-22 22:18:21
39906
1
原创 mongodb- Java API 查询操作
package com.x.mongodb;import java.net.UnknownHostException;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import
2012-09-16 10:38:37
28761
1
原创 mongodb- Java API 增删改操作
package com.x.mongodb;import java.net.UnknownHostException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.bson.types.ObjectId;import com.mongodb.BasicDBObject;
2012-09-14 22:46:27
10377
原创 MySQL- 复制(一)
复制原理: 总体来说 复制有3个步骤:1. 主数据库服务器把更改的数据记录到本地的二进制日志文件中(二进制事件日志 Binary log Events)在主服务器上记录二进制日志文件,在每个更新数据的事务完成之前,主服务器都会把数据更改记录到二进制文件中。2. 从服务器把主服务器的二进制日志文件拷贝到自己的中继日志(Replay)中从服务器把主服务器的二进制
2012-09-05 23:16:08
2208
原创 MySQL- SHOW TABLE STATUS命令
show table status 获取表的信息show table status like 'tableName' \G1.Name 表名称2.Engine: 表的存储引擎3.Version: 版本4.Row_format 行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compress
2012-09-02 18:51:08
56841
原创 MySQL- 存储引擎
Mysql逻辑架构视图 主要存储引擎引擎Mysql版本事务锁粒度主要引用忌用InnoDB全部支持支持Mvcc行级锁事务处理 MyISAM全部不支持支持并发插入的表锁Select,insert高负载读写并重的场合MyISAM Merge全部
2012-09-02 16:55:11
2678
翻译 运用四色建模法进行领域分析
领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。于是我经常听到这样一个问题:怎么才能保证建模的正确性?这听起来是个合理的质疑,但实际上却不是那么有道理。首先我们需要明白建模的目的是什么?如果仅仅是为了描画问题,那么并没有什么对错之分——仅仅是立场和角度的差别;而如果是为了企业业务系统而进行建模,那么这个问题应该变为:如何保证模型能够支撑企业的运营?我想用下
2012-08-21 20:43:25
11390
翻译 UML五种关系
依赖依赖关系用虚线加箭头表示,如图所示:上图表示:Animal类依赖于Water类(动物依赖于水)。 依赖是类的五种关系中耦合最小的一种关系。因为依赖关系在生成代码的时候,这两个关系类都不会增加属性。这种微弱的关系可以用类之间的相互了解的程度来说明。(下图为代码生成图) 由上图可见生成的代码中Animal类的属性中没有增加Wat
2012-08-13 22:02:07
1583
hadoop1.0 Failed to set permissions of path 解决方案
2012-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人