`
spring5365
  • 浏览: 71421 次
  • 性别: Icon_minigender_1
  • 来自: 钓鱼岛
社区版块
存档分类
最新评论
文章列表
public class InputStreamTest { public static void main(String[] args) { InputStreamTest inputstream = new InputStreamTest(); FileInputStreamExample example = inputstream.new FileInputStreamExample("D:\\istream\\rechargeLarge.txt", "D:\\istream\\rechargeCopy.txt"); l ...

InputStream

    博客分类:
  • IO
public int read(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException(); } else if (off < 0 || len < 0 || len > b.length - off) { throw new IndexOutOfBoundsException(); } else if (len == 0) { return 0; } //一次 ...

Source not fount

tomcat server.xml debug=0 如果设置的是1 就会显示source not found  
    最近想研究一下Tomcat 7.0中是如何使用NIO的处理请求的,于是想下载源码研究,在此过程中出现了一些错误,在此记录,希望能给出现同样错误的同学提供一此参考。   1.Tomcat 7.0的源码地址     http://svn.apache.org/repos/asf/tomcat/tc7.0.x     该地址下包含trunk,branches和tags,我下载的版本是                  http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_27     请自行使用版本管理工具 ...

ConcurrentHashMap

/** modCount记录每一次put,remove,clear,为了避免ABA问题。segment数据结构中,读数据不加锁,写数据加锁,在并发条件下,在size等统计方法中,存在在计算过程中,记录变化的可能。 **/ public boolean isEmpty() { final Segment<K,V>[] segments = this.segments; int[] mc = new int[segments.length]; int mcsum = 0; ...

ThreadLocal

/** 删除过期的条目 @param 已经知道的有null key位置的位置 @return 已经知道的null key位置的下一个null(可存储位置)位置 **/ private int expungeStaleEntry(int staleSlot) { Entry[] tab = table; int len = tab.length; // 删除过期条目 tab[staleSlot].value = null; tab[staleSlot] = null; size--; // Reh ...
最近研究了一下java中的锁,在看读写锁的代码时,发现很难理解javadoc中关于这个类的解释。于是自己对着代码理解了一下,在此记录,有些地方看得不是太明白,如有错误请纠正。   从不同的视角看锁,锁具有如下特性: 公平性: 公平锁和非公平锁:如果获取锁的顺序是按照请求锁的顺序进行的,那么就是公平锁,否则就是非公平锁   互斥性: 独占锁和共享锁:独占锁只能由一个线程持有,如果独占锁是可重入锁(同一线程可以获取多次),则同一线                             程可以获取多次。                             共享锁可由多个线程 ...

ArrayDeque

/** 将指定元素加入到双向队列的开头,实际效果与想象的不太一致。 例:当容量为16时,第一次调用此方法计算出的数组下标为15,也就是将数据 添加到了数据最大索引的位置。此实现不如链表数据结构中双向队列头尾 相连容易理解。 **/ public void addFirst(E e) { if (e == null) throw new NullPointerException(); //计算存储位置有点小技巧,用到了最基础的计算机中数据的二进 ...
/** 在队列尾部插入节点 **/ public boolean offer(E e) { if (e == null) throw new NullPointerException(); Node<E> n = new Node<E>(e, null); for (;;) { Node<E> t = tail; Node<E> s = t.getNext(); if (t == tail) { ...

LinkedBlockingQueue

/** 在队列尾插入指定元素 **/ public void put(E e) throws InterruptedException { if (e == null) throw new NullPointerException(); int c = -1; final ReentrantLock putLock = this.putLock; final AtomicInteger count = this.count; putLock.lockInterr ...
/** 将结点插入队列,如果队列为空,初始化队列,否则将结点入队列 **/ private Node enq(final Node node) { for (;;) { Node t = tail; if (t == null) { // 尾结点为null时初始化 Node h = new Node(); h.next = node; node.prev = h; if (compareAndSetHead(h)) { //1比较并更 ...

常用的Linux命令

记录一下自己在工作中会经常用到的Linux命令,以便用的时候方便查询   retoot 重启   hostname 查看主机名   vi etc/sysconfig/network 修改主机名   passwd 修改密码  
自从看了和空姐同居的日子后一直觉得和女生同居的日子很美好,至少可以保持室内干净,时不时的还能吃上一顿好菜。可是现实中的生活远没有那么美好。今年七月份,由于工作原因同住的男生都搬到了市内,正好公司有两个女生在找房子就让她们过来看了下,说实话我租的房子还是很不错的,四室一厅两个卫生间,室内空调、电视、洗衣机等家电一应俱全,她们同意租下了。搬过来的当天就划分了公共卫生区域,说好每周末大家打扫自己的管区。可真住到一起才发现,现在的女孩子可真没什么责任感,自己的屋子倒是收拾得挺干净的,可是公共区域管都没人管,那可真是油瓶子倒了都不带扶的。养猫的养狗的把屋里弄得很脏,扔出自己的屋子就不管了,由于是同事也不好 ...
开发一个项目,发现由于前期考虑不周全,设计做的不好,导致开发过程中遇到很多问题,浪费了不少开发时间。 通过这件事让我想起了为什么应届毕业生不太好找工作,就拿做软件开发来说,国内抓了很年素质教育,但从现 ...
足球整风运动以来最重要的一次比赛,国足又出局了。再回头想想去年3:0对德国,1:0对法国的比赛,以及那之后的一场场胜利,原来都是假象。不知道经历了整风运动之后的虚假繁荣中国足球该走向何方。依稀记得前段时间李玮峰还说中国队没碰到过强硬的对手,只有当事人最了解中国足球,突然想起了那句话“亲眼看到的也不一定是真的”,要用头脑去分析。 做为一个普通的球迷,我并不奢望中国队能拿到冠军,也不奢望他能取得多少场胜利,只想看几场漂亮的比赛。对科威特,11打10,场面上更像是中国队少了一人。面对卡塔尔凶狠逼抢,彻底没了脾气,想控制球可球员没那个能力,看到的是一脚又一脚的传球失误。同样面对卡塔尔凶狠逼抢,乌兹别克斯 ...
Global site tag (gtag.js) - Google Analytics