java
文章平均质量分 63
benbendy1984
这个作者很懒,什么都没留下…
展开
-
hbase简介
上周介绍了Mysql索引,我们知道一个完整的记录是保存在一个page中的连续的空间,类似如下图具体一个表包含了哪些字段、每个字段类型、长度等,都是在表定义的时候确定的。后续需要新增字段、修改字段类型等,那么代价是很大的,需要做很多的空间腾挪和数据的复制。 今天介绍的hbase就是没有这么多的约束了。一 基本概念rowKey...转载 2020-01-05 00:08:48 · 227 阅读 · 0 评论 -
spring学习——scope属性
scope属性scope表示spring容器对一个bean的请求的处理方式,我们常用的设置值有:singleton(默认的)和prototypesingleton在容器中,从请求bean到容器生命周期结束,有且仅有一个bean的实例,每次请求都返回这个,所以对应生命周期从创建到容器销毁prototype每次请求bean,容器都会给生成一个新的实例并返回,返回后容器就不负责这个实例的管理。实例的生命周原创 2017-03-16 22:26:44 · 818 阅读 · 0 评论 -
spring源码学习---bean获取
bean获取我们从容器中获取一个bean对象,首先需要看下bean的scope属性,如果是singleton,那么就比较简单,直接获取获取返回就可以,如果是prototype,那么就相对复杂一点,下面分别介绍下。 singleton如果让我来实现,应该有两种方式:第一种:容器在启动时候,把所有的singleton bean对象都创建好并保存起来,应用来拿时候直接返回第二种:容器启动时候不创建,第一个原创 2017-03-16 22:30:18 · 1285 阅读 · 1 评论 -
spring 学习
http://www.iteye.com/topic/1123081原创 2017-03-09 20:03:12 · 713 阅读 · 0 评论 -
java源码分析:重入锁ReentrantLock
可重入:一个线程可以连续多次获得锁Lock.lock() 获取锁 final void lock() { acquire(1); }很简单,就是调用acqire函数,后面的参数1表示,如果获得了锁,对于第一次获取的,那么就锁的值就是1,否则值+1 public final void acquire(int arg) { if (原创 2017-02-24 21:56:51 · 742 阅读 · 0 评论 -
java线程的状态
Thread.Status中定义了线程的状态,也就是我们通过jstack能看到的线程的状态,主要有下面几种: 线程可以处于下列状态之一: 1.NEW 至今尚未启动的线程的状态。 2.RUNNABLE 可运行线程的线程状态。处于可运行状态的某一线程正在 Java 虚拟机中运行,但它可能正在等待操作系统中的其他资源,比如处理器。在这里没有RUNNING状态的,真正在运行的线程状态也都是现实RUNNAB原创 2017-02-24 21:49:27 · 705 阅读 · 0 评论 -
java源码分析
arrayBlockQueue生成(插入元素)在往队列中插入数据由下面几个函数,他们的区别就是对队列满的情况处理不同 - put 一直等待着 - offer(无时间) 如果空了直接返回false - offer(有时间) 等待指定的时间,在指定时间内如果空了,那么插入,负责返回false - add 抛出一个IllegalStateException异常首先来看put实现 public原创 2017-02-24 21:30:51 · 691 阅读 · 0 评论 -
java conditions源码分析
private Node addConditionWaiter() { Node t = lastWaiter; // If lastWaiter is cancelled, clean out. if (t != null && t.waitStatus != Node.CONDITION) {原创 2017-02-24 00:03:29 · 662 阅读 · 0 评论 -
java interrupt理解
理解 当一个线程被阻塞的时候(io, sleep等),我们取消这种阻塞,这个时候就可以使用interrupt 例子和讲解我们先看个例子,代码入下:package com.renzhan;class TestRunnable implements Runnable{ public void run(){ while(true) { S原创 2017-02-18 23:29:53 · 1305 阅读 · 0 评论 -
jetty源码分析:QueuedThreadPool
概括我们从几个问题入手,如果搞清楚这几个问题,也就理解了这个线程池的原理了1. 重要的成员线程池常规成员: private int _idleTimeout; //线程空闲多久后退出 private int _maxThreads; //最大线程数原创 2017-02-19 21:30:48 · 2726 阅读 · 0 评论