码迷,mamicode.com
首页 >  
搜索关键字:加锁    ( 2232个结果
关系数据库和NOSQL比较
关系数据库 NOSQL 功能: NOSQL 功能简单 基本只支持主键查询,有的NOSQL支持非主键查询(不过非主键查询时,其性能也很慢),很少有NOSQL支持二级索引 不支持关联查询,如果有复杂关联查询的需求,NOSQL无法支持 不支持ACID,仅仅支持单记录级的原子操作,如果有高一致性要求的场景, ...
分类:数据库   时间:2017-05-10 20:33:59    阅读次数:250
MySQL的架构与历史
My SQL的最主要特性是它的存储引擎架构,这种架构设计将查询处理以及其他系统任务和数据的存储/提取相分离。 MySQL最上层服务是一些如连接处理,授权认证,安全等。 MySQL的核心服务功能大部分度在第二层架构中。包括查询解析,分析,优化,缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现 ...
分类:数据库   时间:2017-05-10 13:01:19    阅读次数:272
java线程(四)
java5线程并发库 线程并发库是JDK 1.5版本级以上才有的针对线程并发编程提供的一些常用工具类,这些类被封装在java.concurrent包下。 该包下又有两个子包,分别是atomic和locks两个包。 java.util.concurrent.atomic包 atomic包提供了一些线程 ...
分类:编程语言   时间:2017-05-09 12:38:45    阅读次数:307
读锁和写锁
共享锁(S锁)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁.这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改. 排他锁(X锁)又称写锁.若事务T对数据对象A加上X锁,事务T可以读A也可以修改A ...
分类:其他好文   时间:2017-05-08 12:33:36    阅读次数:127
笔记:I/O流-内存映射文件
内存映射文件时利用虚拟内存实现来将一个文件或者文件的一部分映射到内存中,然后整个文件就可以当作数组一样的访问,这个比传统的文件操作要快得多,Java 使用内存映射文件首先需要从文件中获取一个channel(通道),通道时磁盘文件的一个抽象,他使得我们可以访问诸如内存映射、文件加锁机制以及文件间快速数... ...
分类:其他好文   时间:2017-05-07 01:04:42    阅读次数:297
显示锁(ReentranLock)
1. Lock接口:定义了一组抽象的加锁操作,提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有的加锁和解锁的方法都是显示的。 2. ReentrantLock锁:实现了Lock接口,并提供了与synchronized相同的互斥性和内存可见性,也提供了可重入的加锁语义。finally后 ...
分类:其他好文   时间:2017-05-06 14:12:38    阅读次数:194
Java多线程编程模式实战指南(二):Immutable Object模式
多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线程安全,又能避免引入锁可能带来的问题和开销。 Immutable Object模式简介 多线程环境中 ...
分类:编程语言   时间:2017-05-04 01:39:49    阅读次数:246
java 锁的分类
java中为了解决多线程并发带来的线程安全问题,引入了锁机制。 java的加锁机制,可粗略分为两种: 1.内置锁。 什么是内置锁?把一个对象用作实现同步的锁,这样的锁就是内置锁。这是基于互斥的思想来实现的锁,即只有一个线程可以持有某一个锁。 显然这样做可以保证线程安全,但是性能方面不那么友好。比如直 ...
分类:编程语言   时间:2017-05-03 13:14:57    阅读次数:150
基于windows api实现的共享锁/独占锁
众所周知,windows平台上实现线程同步。或者说资源的加锁与解锁的方法有内核事件、临界区、相互排斥量、信号量,甚至interlocked系列函数等多种手段。可是在日常的编程中,我们使用这些手段对 “多个线程同一时候对同一个资源进行读写” 的时候,在读写之前先要对资源假锁,读写完之后要对资源解锁。 ...
分类:Windows程序   时间:2017-05-01 21:03:38    阅读次数:211
深入理解JVM
一、内存管理 1、运行时的内存区域 线程私有:虚拟机栈、本地方法栈、程序计数器 线程共享:堆、方法区 2、各个内存区域可能抛出的异常 栈 1、当单线程时,栈的深度太大,会发生StackOverflowError,比如无穷的递归调用。 2、当多线程时,若不停地创建线程,则会导致OutOfMemoryE ...
分类:其他好文   时间:2017-04-30 18:37:33    阅读次数:244
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!