07 2015 档案

摘要:HashSet内部是用的HashMap,只用了HashMap的key。同步集合 传统集合类在并发访问时的问题说明:死锁死循环 传统方式下用Collections工具类提供的synchronizedCollection方法来获得同步集合,分析该方法的实现源码 Java5中提供了如下一些同步集合类... 阅读全文
posted @ 2015-07-16 14:49 登高一呼 阅读(507) 评论(0) 推荐(0) 编辑
摘要:BlockingDeque 方法有四种形式,使用不同的方式处理无法立即满足但在将来某一时刻可能满足的操作:第一种方式抛出异常;第二种返回一个特殊值(null 或 false,具体取决于操作);第三种无限期阻塞当前线程,直至操作成功;第四种只阻塞给定的最大时间,然后放弃。下表中总结了这些方法:第一个元... 阅读全文
posted @ 2015-07-16 13:53 登高一呼 阅读(327) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.Exchanger; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 5 /** 6 * Java5的... 阅读全文
posted @ 2015-07-16 13:18 登高一呼 阅读(198) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.CountDownLatch; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 5 /** 6 * 1... 阅读全文
posted @ 2015-07-16 13:13 登高一呼 阅读(181) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.CyclicBarrier; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 5 /** 6 * Cy... 阅读全文
posted @ 2015-07-16 13:03 登高一呼 阅读(148) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 import java.util.concurrent.Semaphore; 4 5 /** 6 * 14.Jav... 阅读全文
posted @ 2015-07-16 12:47 登高一呼 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.locks.Condition; 2 import java.util.concurrent.locks.Lock; 3 import java.util.concurrent.locks.ReentrantLock; 4 5 /** ... 阅读全文
posted @ 2015-07-15 22:59 登高一呼 阅读(282) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.Random; 2 import java.util.concurrent.locks.ReadWriteLock; 3 import java.util.concurrent.locks.ReentrantReadWriteLock; 4 /** 5 * ... 阅读全文
posted @ 2015-07-13 12:26 登高一呼 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.locks.Lock; 2 import java.util.concurrent.locks.ReentrantLock; 3 4 5 /** 6 * java5的线程锁技术 7 * Lock比传统线程模型中的synchroni... 阅读全文
posted @ 2015-07-12 13:44 登高一呼 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.Random; 2 import java.util.concurrent.Callable; 3 import java.util.concurrent.CompletionService; 4 import java.util.concurrent.Exe... 阅读全文
posted @ 2015-07-12 13:28 登高一呼 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1.JVM内存模型2.JVM类加载机制 3.HDFS架构图 4.HDFS读写数据 5.Secondary NameNode 的意义所在6.MapReduce架构7.MapReduce过程7... 阅读全文
posted @ 2015-07-11 19:57 登高一呼 阅读(345) 评论(0) 推荐(0) 编辑
摘要:《道德经》全文01.道可道,非常道。名可名,非常名。无名天地之始。有名万物之母。故常无欲以观其妙。常有欲以观其徼。此两者同出而异名,同谓之玄。玄之又玄,众妙之门。02.天下皆知美之为美,斯恶矣;皆知善之为善,斯不善已。故有无相生,难易相成,长短相形,高下相倾,音声相和,前後相随。是以圣人处无为之事,... 阅读全文
posted @ 2015-07-11 19:15 登高一呼 阅读(718) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.atomic.AtomicInteger; 2 /** 3 * java5原子性操作类的应用 4 * @author LiTaiQing 5 * 6 */ 7 public class AtomClassTest { 8 ... 阅读全文
posted @ 2015-07-10 12:36 登高一呼 阅读(160) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 import java.util.concurrent.TimeUnit; 4 5 /** 6 * java5线程... 阅读全文
posted @ 2015-07-10 12:07 登高一呼 阅读(214) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.Random; 2 3 /** 4 * ThreadLocal类及应用技巧 5 * ******************************************************************* 6 * 每个线程调用... 阅读全文
posted @ 2015-07-10 11:10 登高一呼 阅读(440) 评论(0) 推荐(0) 编辑
摘要:1 import java.util.HashMap; 2 import java.util.Map; 3 import java.util.Random; 4 5 /******************************* 6 * 模拟ThrealLocal的实现 7 * 用处: 8... 阅读全文
posted @ 2015-07-10 11:09 登高一呼 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1 /** 2 * 传统线程同步通信技术 3 * 4 * ******************************************* 5 * 经验: 6 * 要用到共同数据(包括共同锁)或共同算法的若干个方法应该 7 * 归在用一个类身上,这种设计正好体现了高... 阅读全文
posted @ 2015-07-10 11:08 登高一呼 阅读(188) 评论(0) 推荐(0) 编辑
摘要:线程安全问题可以用银行转账来解释 1 /** 2 * 传统的线程互斥技术 3 * @author LiTaiQing 4 */ 5 public class TraditionalThreadSynchronized { 6 7 public static void mai... 阅读全文
posted @ 2015-07-10 11:07 登高一呼 阅读(208) 评论(0) 推荐(0) 编辑
摘要:java.util 类 Timer java.lang.Object java.util.Timer 方法摘要 void cancel() 终止此计时器,丢弃所有当前已安排的任务。 int purge() 从此计时器的任务队列中移除所有已取消的任务。 void schedule(TimerTask  阅读全文
posted @ 2015-07-10 11:06 登高一呼 阅读(235) 评论(0) 推荐(0) 编辑
摘要:1 import org.junit.Test; 2 /** 3 * 传统线程回顾 4 * 多线程不一定会提高运行效率,和CPU设计和架构有关。 5 * 多线程下载是抢了服务器的资源,并不是自身的机器加快。 6 * @author LiTaiQing 7 */ 8 public class Trad 阅读全文
posted @ 2015-07-10 11:05 登高一呼 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1 /** 2 * 多个线程之间共享数据的方式探讨 3 * @author LiTaiQing 4 * 5 * ************************************************* 6 * 如果每个线程执行的代码不同,这时候需要用不同的Runnable对象... 阅读全文
posted @ 2015-07-10 11:02 登高一呼 阅读(229) 评论(0) 推荐(0) 编辑
摘要:1 public class TestMyArray{ 2 3 public static void main(String[] args) { 4 5 MyArray array = new MyArray(6); 6 ... 阅读全文
posted @ 2015-07-07 21:12 登高一呼 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1、学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎? 2、巧言令色,鲜亦仁! 3、吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习胡? 4、君子食无求饱,居无求安,敏于事而慎于言,就有道而正焉,可谓好学也已。 5、不患人之不己知,患不知人也。 6、《诗》三... 阅读全文
posted @ 2015-07-03 12:15 登高一呼 阅读(174) 评论(0) 推荐(0) 编辑
摘要:JNI基础概念 Java Native Interface Java本地调用 主要是为了和C/C++交互 JNI的副作用一旦使用JNI,JAVA程序就丧失了JAVA平台的两个优点:1、程序不再跨平台。要想跨平台,必须在不同的系统环境下重新编译本地语言部分。2、程序不再是绝对安全的,本地代码的不当使用可能导致整个程序崩溃。一个通用规则是,你应该让本地方法集中在少数几个类当... 阅读全文
posted @ 2015-07-03 11:31 登高一呼 阅读(272) 评论(0) 推荐(0) 编辑
摘要:数组名实际上就是一个指针,后面的中括号角标实际上是地址的偏移量指针 指的是“存储的内容是地址的量”,两个要点:一、指针是个量,对应着一块内存区域,二,指针存储的信息是某个内存单元的地址。一个指针4个字节(32位)所有指针在32位系统下,都是4个字节,32位改变一个变量,需要改变这个变量的地址如果变量是数据,就需要指针保存变量的地址如果变量是指针,就需要二级指针保存变量的地址指针变量在使用之前必须初... 阅读全文
posted @ 2015-07-02 01:50 登高一呼 阅读(173) 评论(0) 推荐(0) 编辑
摘要:指针的本质就是地址来自为知笔记(Wiz) 阅读全文
posted @ 2015-07-02 01:44 登高一呼 阅读(562) 评论(0) 推荐(0) 编辑
摘要://避免在.c里面重复包含多次头文件#ifndef _CLT_SOCKET2_H__#define _CLT_SOCKET2_H__ //...#endif//因为数据类型不一样数据类型的本质:数据类型可理解为创建变量的模具(模子),是固定内存大小的别名。数据类型的作用:编译器预算对象(变量)分配的内存空间大小。int a[10] = { 1,5,7,9,3,4,6,8,2,0 }; a 与 &a... 阅读全文
posted @ 2015-07-02 01:36 登高一呼 阅读(433) 评论(0) 推荐(0) 编辑
摘要:n内存溢出(OOM)的原因n在JVM中,有哪些内存区间? 线程栈:32位:最大值2Gn堆溢出n永久区 nJava栈溢出 –这里的栈溢出指,在创建线程的时候,需要为线程分配栈空间,这个栈空间是向操作系统请求的,如果操作系统无法给出足够的空间,就会抛出OOMn直接内存溢出 –ByteBuffer.allocateDirect()无法从操作系统获得足够的空间直接内存需要GC... 阅读全文
posted @ 2015-07-02 01:28 登高一呼 阅读(1315) 评论(0) 推荐(0) 编辑
摘要:1.Hadoop启动中遇到的问题以及解决办法:(1)搭建HDFS集群的时候,NameNode和DataNode这两个进程会挂掉?查看logs,查看相关的异常信息a.如果是namenode没有正常启动,原因在启动之前没有格式化,我们需要formatb.如果data没有启动,原因是namespaceID... 阅读全文
posted @ 2015-07-02 01:27 登高一呼 阅读(347) 评论(0) 推荐(0) 编辑
摘要:1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。3.agent里面包含3个核心组件:source、channel、sink。3.1 source组件是专用于收集日志的,可以处理各种类... 阅读全文
posted @ 2015-07-02 01:09 登高一呼 阅读(2837) 评论(0) 推荐(1) 编辑
摘要:1)HDFS读过程DistributedFileSystem -> FSDataInputStream -> DFSClient.open(RPC通信机制) -> NN.openHDFS写过程DIstributedFileSystem -> FSDataOutputStream -> DFSClie... 阅读全文
posted @ 2015-07-02 01:09 登高一呼 阅读(135) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示