- 浏览: 447073 次
- 性别:
- 来自: 杭州
-
最新评论
-
Master-Gao:
稍微明白了点,,有点萌萌哒
为什么匿名内部类参数必须为final类型 -
waw0931:
终于明白了,谢谢!
为什么匿名内部类参数必须为final类型 -
十三圆桌骑士:
提供了两个链接还是有用的。
安装Mondrian -
放方芳:
[flash=200,200][/flash]
Freemarker标签使用 -
放方芳:
[b][/b]
Freemarker标签使用
文章列表
Linux 的启动流程(转)
- 博客分类:
- Linux
http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html
深入浅出Java并发包—锁机制(转)
- 博客分类:
- 多线程
前面我们看到了Lock和synchronized都能正常的保证数据的一致性(上文例子中执行的结果都是20000000),也看到了Lock的优势,那究竟他们是什么原理来保障的呢?今天我们就来探讨下Java中的锁机制!
Synchronized是基于JVM来保证数据同步的,而Lock
自旋锁、排队自旋锁、MCS锁、CLH锁(转)
- 博客分类:
- 多线程
自旋锁(Spin lock)
自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。
自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。
简单的实现
import java.util.concurrent.atomic.AtomicReference;
public class SpinLock {
private AtomicReference<Thread> owner = new AtomicReference<Thread>();
pub ...
一 简介
线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程 ...
The Art of Multiprocessor Programming
What every programmer should know about memory
深入分析java web技术
多线程之false sharing问题(转)
- 博客分类:
- 多线程
在多核快速发展的现在,利用多线程技术提高CPU设备的利用率已经成为一种趋势。然而多核计算机体系架构和单核有了很大的变化,在多线程编程中会碰到一些意想不到的问题,比如多核中非常典型的false sharing问题。下文会非常详细的揭示false sharing产生的根源,以及何如避免来提高程序的性能。
先来了解一下典型的多核架构,每个CPU都有自己的Cache,如果一个内存中的变量在多个Cache中都有副本的话,则需要保证变量的Cache一致性:变量的值为最后一次写入的值。Intel多核架构实现Cache一致性是采用的MESI (Modified/Exclusive/Share ...
TCP协议三次握手过程分析 附四次握手
- 博客分类:
- web
TCP(Transmission Control Protocol) 传输控制协议
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
Sequence number(顺序号码) Acknowledge number(确认号码)
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服 ...
使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。
最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛。下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook. ...
HTTP协议分别在 1.0 / 1.1 两个时代推出了 Expires / Cache-control 两种cache策略,这里我们无需了解全部的细节,无需记住整个RFC内容,但是当我们需要使用HTTP cache策略时,我们需要注意以下细节:Expires 是HTTP 1.0 那个时代的东西了,目 ...
maven是一款优秀的构建工具,方便用户编译,测试,打包,发布等等,以前由于一些原因,没有使用maven工具,但是对这款工具向往已久,今天花了几个小时终于在eclipse上装上了这个插件。
由于在线安装 m2eclipse 不仅速度慢,而且经常出现错误,因此我用的离线安装的方式。
我的环境: eclipse indigo 3.7
maven 插件版本: 1.4
安装这个插件必须依赖 org.slf4j.api-1.6.4.jar ,所以在开始装之前 需要把这个jar放到\eclipse\plugins目录下
附上zip包, 由于上传文件大小限制,压缩成3个压缩包,下载 ...
安装Mondrian
- 博客分类:
- database
Mondrian and OLAP
Mondrian is an OLAP engine written in Java. It executes queries written in the MDX language, reading data from a relational database (RDBMS), and presents the results in a multidimensional format via a Java API
官网地址:http://mondrian.pentaho.com/documentation/installation.php#M ...
如何与你的老大沟通?(转)
- 博客分类:
- 经验
如何与你的老大沟通?
看了CSDN冯大侠的《老大,我想说两句》,深有感触,因为我也曾经遇到过类似的情况,深知这种情况下个人的郁闷感觉。
但现实毕竟是“老大”就是老大,你的前途、薪水都掌握在老大手里,抱怨和郁闷都不能解决问题,反而会使问题更加恶化;而且既然是老大,那么必然有过人之处(不管是技术、还是有关系、还是会说话,那都是老大的优势)。因此,我们要学会和老大沟通交流的技巧(当然这些技巧同样适合跟其他人沟通交流)。
下面是我根据自己的经验总结的几条,希望对各位遇到类似问题的兄弟姐妹能有帮助。
提到缓存,有两点是必须要考虑的:(1)缓存数据和目标数据的一致性问题。(2)缓存的过期策略(机制)。 其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:(1)FIFO
看了一些关于NoSql的文章,记录下自己的理解,方便以后重温下。
一些链接:
Cassandra - 一个分散的结构化存储系统
8种Nosql数据库系统对比
NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关联式数据库的数据库管理 ...