- 浏览: 59373 次
- 性别:
- 来自: 北京
最新评论
-
shifulong:
cywhoyi 写道现在用Javassist代理也不错的看了一 ...
java动态代理(jdk &cglib) -
cywhoyi:
现在用Javassist代理也不错的
java动态代理(jdk &cglib)
文章列表
http://c.hiphotos.baidu.com/ting/pic/item/b151f8198618367a05c961a62d738bd4b31ce50d.jpg
偶然发现个小游戏,对于我这种只会git pull git commit的选手应该会比较有用吧。
https://ruby.taobao.org/
参考主页,改成淘宝的镜像,不改成淘宝的镜像大多数情况是不好使的,至少我在本地没有好使过
github上的主页
https://github.com/Gazler/githug
/**
* A constant holding the minimum value an {@code int} can
* have, -2<sup>31</sup>.
*/
public static final int MIN_VALUE = 0x80000000;
/**
* A constant holding the maximum value an {@code int} can
* have, 2<sup>31</sup>-1. ...
mvn官方的文档
http://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html
http://maven.apache.org/plugins/maven-dependency-plugin/examples/filtering-the-dependency-tree.html
今天本地跑项目,发现报错,zookeeper相关的,但是pom并没有显示的引用,于是想找到那个包引用到了zookeeper,于是就查了下m ...
jstack
线程的运行情况、线程的状态
load过高的排查
jps -mlv 列出所有jvm进程,选择要查的那个,记下pid
top -H -p pid 查出哪个线程占用cpu过高,取该线程的threadid
threadid转成16进制tid linux命令行下 > printf "%x" num
jstack tid | grep -A 100 取该线程栈信息的后100行,然后分析信息
下面说明一下dump的信息
"pool-18-thread-10" prio=10 tid=0x00007f673807e0 ...
存储引擎的选择
表设计
索引设计
索引设计知识点
设计规则
SQL设计
SQL调优
SQLReview
不符合规范的SQL
慢SQL
explain分析慢SQL
将非ASCII字符转换成ASCII字符,ASCII字符的第一位只能是0
举个例子,有三个字节的原始数据:aaaaaabb bbbbccccc ccdddddd(这里每个字母表示一个bit位)
那么编码之后会变成: 00aaaaaa 00bbbbbb 00cccccc 00dddddd
public interface ExecutorService extends Executor {...}
ExecutorService#submit有三个重载方法,之前一直没注意,今天仔细以研究,还是有好些知识点的
1.第一个就不说了
<T> Future<T> submit(Callable<T> task);
2.返回的future#get会阻塞,得到的结果就是result
<T> Future<T> submit(Runnable task, T result);
3.future#get也 ...
这种方式仍然存在并发的同步阻塞问题,并且jdk1.5之前是有问题的
public class SeriSingleDCL {
// volatile 多线程并发的可见性
private volatile static SeriSingleDCL single = null;
private SeriSingleDCL() {
}
/**
* DCL方式减少同步的阻塞
*/
public static SeriSingleDCL getInstance() {
if (sin ...
public static void bubbleSort() {
int[] arr = {0, 5, 6, 333, 5, 8, 999, 7, 7, 5, 45, 3};
for (int i = arr.length - 1; i > 0; i--) {
for (int j = arr.length - 1; j > arr.length - i - 1; j--) {
if (arr[j] < arr[j - 1]) {
swap(arr, j, j - 1);
...
public static void heapSort() {
int[] arr = {0, 5, 6, 333, 5, 8, 999, 7, 7, 5, 45, 3};
int heapSize = arr.length - 1;//堆的大小,
buildHeap(arr, heapSize);//建堆,递归调用maxHeapify
System.out.println(Arrays.toString(arr));
for (int i = arr.length - 1; i > 0; i--) {
// 堆从i ...
看网上书上的各种解释太绕口难理解了,看到个例子挺好的。
女儿去外地工作,不弄经常回来,父女俩通过信件进行沟通
1.阻塞IO
daughter走之后,father一直在小区收发室等信。
2.非阻塞IO
father过一会来看一次,看看信到了没有(效率不高,吞吐量可能会降低)
3.IO复用
收发室改造系统,father向小区注册,之后会在家添加一个提醒装置,有信到达的时候就会提醒
4.信号驱动IO
但是还是免不了去取信读信回信等操作,只要住户告诉小区物业具体的操作,小区物业就会按照步骤去做。
5.异步IO
小区自动回信,将回信结果告诉住户。
...
Buffer的capacity,limit,position
limit,position的含义取决于是读模式还是写模式
capacity
buffer的大小
limit
write:和capacity一样,表示能写多少
read:表示最多可读多少
position
write:write index,最大值 capacity-1
read:read index,从写模式切换到读模式时,position会被重置为0
buffer的类型
ByteBuffer
MappedByteBuffer
CharBuffer
DoubleBuffer ...
desgn partten : 适配器&门面
- 博客分类:
- java
adapter
adapter 一个接口转换成另一个接口,适配不兼容的类
适配有两种方式,组合、继承
demo:火鸡适配成鸭子(火鸡有可能存在鸭子中没有的方法,不一定能全部适配成功)
facade
facade提供一个统一的接口,访问子系统的一群系统,让系统更简单使用
demo:家庭影院