摘要: 一、 JVM的生命周期1. JVM实例对应了一个独立运行的java程序它是进程级别a) 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b) 运行。main()... 阅读全文
posted @ 2015-03-05 16:52 xiongjianjun 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Clojure首先是FP, 但是由于基于JVM, 所以不得已需要做出一些妥协, 包含一些OO的编程方式Scala首先是OO, Java语法过于冗余, 一种比较平庸的语言, Scala首先做的是简化, 以更为简洁的方式来编写OO, 主要利用‘type inference’能推断出来的, 你就不用写, ... 阅读全文
posted @ 2015-03-05 16:12 xiongjianjun 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 现代计算机,cpu在计算的时候,并不总是从内存读取数据,它的数据读取顺序优先级是:寄存器-高速缓存-内存,线程计算的时候,原始的数据来自内存,在 计算过程中,有些数据可能被频繁读取,这些数据被存储在寄存器和高速缓存中,当线程计算完后,这些缓存的数据在适当的时候应该写回内存,当多个线程同时读 写某个内... 阅读全文
posted @ 2015-03-05 16:08 xiongjianjun 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 转自http://ifeve.com/introduce-abstractqueuedsynchronizer/提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够 成为实现大部分同步需求的基础。使用的方法是继承,... 阅读全文
posted @ 2015-03-05 14:55 xiongjianjun 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://rdc.taobao.com/blog/cs/?p=162本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举leader的时候采用了paxos算法(主要是fast paxos),这里主要介绍其中两种:LeaderEl... 阅读全文
posted @ 2015-03-05 11:34 xiongjianjun 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 概念JMM:规定了jvm有主内存(Main Memory)和工作内存(Working Memory) ,主内存存放程序中所有的类实例、静态数据等变量,是多个线程共享的,而工作内存存放的是该线程从主内存中拷贝过来的变量以及访问方法所取得的局部变量, 是每个线程私有的其他线程不能访问,每个线程对变量的操... 阅读全文
posted @ 2015-03-05 10:43 xiongjianjun 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 锁的释放-获取建立的happens before 关系锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例代码:[java]copyclass a=; writer(){} reader(){i=a;……}假设线... 阅读全文
posted @ 2015-02-09 16:05 xiongjianjun 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thr... 阅读全文
posted @ 2015-02-09 15:17 xiongjianjun 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.tuicool.com/articles/r22YBrRDDRDD初始参数:上下文和一组依赖abstract class RDD[T: ClassTag]( @transient private var sc: SparkContext, @transient... 阅读全文
posted @ 2014-12-17 17:04 xiongjianjun 阅读(373) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/songsh96/archive/2011/10/14/2211079.html一.建立数据库sqlite3.exe test.db二.双击sqlite-3_6_16目录下的程序sqlite3.exe,即可运行三.退出.exit或者.quit四.SQLi... 阅读全文
posted @ 2014-11-13 17:02 xiongjianjun 阅读(201) 评论(0) 推荐(0) 编辑