`
文章列表

js this理解

http://www.jb51.net/article/16235.htm
http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html
前面我们看到了Lock和synchronized都能正常的保证数据的一致性(上文例子中执行的结果都是20000000),也看到了Lock的优势,那究竟他们是什么原理来保障的呢?今天我们就来探讨下Java中的锁机制! Synchronized是基于JVM来保证数据同步的,而Lock
自旋锁(Spin lock) 自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。 自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。 简单的实现 import java.util.concurrent.atomic.AtomicReference; public class SpinLock { private AtomicReference<Thread> owner = new AtomicReference<Thread>(); pub ...

java线程池

一 简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程 ...

java 书

The Art of Multiprocessor Programming What every programmer should know about memory 深入分析java web技术
在多核快速发展的现在,利用多线程技术提高CPU设备的利用率已经成为一种趋势。然而多核计算机体系架构和单核有了很大的变化,在多线程编程中会碰到一些意想不到的问题,比如多核中非常典型的false sharing问题。下文会非常详细的揭示false sharing产生的根源,以及何如避免来提高程序的性能。         先来了解一下典型的多核架构,每个CPU都有自己的Cache,如果一个内存中的变量在多个Cache中都有副本的话,则需要保证变量的Cache一致性:变量的值为最后一次写入的值。Intel多核架构实现Cache一致性是采用的MESI (Modified/Exclusive/Share ...
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

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 笔记

看了一些关于NoSql的文章,记录下自己的理解,方便以后重温下。   一些链接: Cassandra - 一个分散的结构化存储系统 8种Nosql数据库系统对比   NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关联式数据库的数据库管理 ...
Global site tag (gtag.js) - Google Analytics