目录1.ReentrantLock的原理2.公平锁与非公平锁3. 从非公平锁的lock和unlock方法理解AQSA线程中lock.lock()方法B线程中的lock.lock()方法tryAcquire(arg)方法addWaiter(Node.EXCLUSIVE)方法acquireQueued()方法C线程中lock.lock()方法A线程中lock.unlock()B线程(C线程同理)0.来            
                
         
            
            
            
            一、闭锁(Latch)   闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状态也就不能变了,只能是打开状态。也就是说闭锁的状态是一次性的,它确保在闭锁打开之前所有特定的活            
                
         
            
            
            
            linux内核提供了用于锁定内存的系统调用,如: mlock:lock一段地址范围内已map的内存 mlockall:lock进程虚拟地址空间内已map的内存,还可以选择对于此后新map的空间是否自动lock mmap+MAP_LOCKED选项:在mmap的同时,对相应地址范围进行mlo...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-05-12 01:06:00
                            
                                122阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            本次解读将从以下四个方面进行。一、volatile关键字;二、CAS机制;三、JAVA同步框架AQS;四、ReentrantLock类可重入加锁、解锁源码解读。一、volatile关键字volatile关键字能保证内存可见性,即对一个volatile修饰的变量修改,将会强制性的从工作内存中刷新到主内存中,并使其他处理器缓存该变量的内存地址无效。其他线程使用该变量时,必须从主内存中加载该变量,从而保            
                
         
            
            
            
            根据微软的说法,由于内存数据库使用了乐观并发控制 ,所以事务不需要锁来锁定资源保证一致性。微软认为在内存数据库的事务中冲突和失败是非常少的情况,所以假定所有的并行事务都是成功的。因此写不会阻塞读,写也不阻塞写。下面是原文:Transactionsin Memory-Optimized TablesInstead, transactions proc            
                
                    
                        
                                                            
                                                                        
                                                                推荐
                                                                                        原创
                                                                                    
                            2013-12-03 10:33:01
                            
                                420阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            导读每个 Linux 系统管理员都应该知道如何验证硬件、资源和主要进程的完整性和可用性。另外,基于每个用户设置资源限制也是其中一项必备技能。在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生。   
  报告 Linux 进程统计信息 
   你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快            
                
         
            
            
            
            最近 006 百度云搜索引擎项目上线 遇到不少坑,也有一些心得分享下;http://yun.java1234.com/006项目分词检索用的是 elasticsearch,开始部署没注意,基本都是默认配置,今天服务说硬盘频繁读,IOPS超高;一般普通硬盘每秒大概90次,我这边都2千多次了。所以大体分析了下,最终要设置下:bootstrap.memory_lock: true这个配置,锁定物理内存地            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-03-03 19:14:50
                            
                                3474阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             文章目录问题描述解决方案注意 问题描述在写Qt项目的时候需要一些图片文件,但我明明按照要求导入了图片资源,但是运行的时候却说:找不到文件?并且出现了奇怪的报错?也就是标题的那串再加上一串数字。解决方案在Qt中如果上传的资源太大了,就会有如下报错: 这时我们可以将文件转为二进制文件(rcc文件)再导入Qt中,但是电脑中是没有自带rcc指令的,这时我们就需要配置环境变量,步骤如下:(本人电脑是Win            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-16 09:17:28
                            
                                146阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ARM公司MC软件使用Memory Compiler用于生成数字芯片中片上存储SRAM的生成。 关于所生成SRAM的结构和参数概念,参考1即可。在这里只谈一下自己平时需要设置的参数。下图为软件界面,参数设定Number of Words:SRAM的深度,有范围限制。Number of bits:SRAM数据宽度,有范围限制。Multiplexer Width:根据官方PDF内设置即可,这个设定与S            
                
         
            
            
            
            最近 006 百度云搜索引擎项目上线 遇到不少坑,也有一些心得分享下;http://yun.java1234            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-26 15:03:16
                            
                                2888阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
  其实你可以使用事务处理 
   比方说在一个字段里面添加一个boolean 的字段当你要处理该字段的时候就 True 哪么别的人都不可以进行操作 
  如果是False 哪么就可以进行操作~~呵可~~我是这样的 
   不过你可以看看  
  SQL锁机制 
   以下是我找的一些料 如果要理解SQL锁机制 最好把下来看完哦 
 默认的事务隔离级别下: 
 Insert,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-18 07:36:55
                            
                                37阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在测试环境中由于需要测试不同时间段的活动,经常需要修改服务器及数据库的时间,为减少运维工作量,只需要在一个地方修改时间即可修改所有测试服务器的时间。我们公司主要采用C#+MySQL,因此涉及到Windows和Linux。再此分享一个同步时间方案:1.Windows时间修改比如你站点的名字为time.abc.com应用程序池的名称也为time.abc.com打开组策略,增加服务器权限增加iis ap            
                
         
            
            
            
            pages pages 接受一个数组,每一项都是一个字符串,指定 SWAN App 都有哪些页面。每一项代表页面的[路径 + 文件名],数组第一项代表 SWAN 初始页面。 SWAN 中新增或减少页面的话,需要在 pages 中进行配置。 配置项中不需要加文件后缀名, SWAN 会自动解析。 如,开            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-08-29 16:58:00
                            
                                336阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            HugePages是Linux 2.6及以上版本内核的一个特性,它允许较大的页面管理内存,作为小型4KB页面大小的替代,它将SGA锁定到物理内存中,从而无需对SGA进行系统页表查找。透明HugePages内存与标准HugePages内存不同,因为内核khugepaged线程在运行时动态分配内存。标准HugePages内存在启动时预先分配,并且在运行时不会更改。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-09-15 11:27:32
                            
                                765阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            CACHE FUSION 原理前面已经介绍了 RAC 的后台进程,为了更深入的了解这些后台进程的工作原理,先了解一下 RAC 中多节点对共享数据文件访问的管理是如何进行的。要了解 RAC 工作原理的中心,需要知道 Cache Fusion 这个重要的概念,要发挥 Cache Fusion 的作用,要有一个前提条件,那就是互联网络的速度要比访问磁盘的速度要快。否则,没有引入 CACHE FUSION            
                
         
            
            
            
            elasticsearch官网建议生产环境需要设置bootstrap.memory_lock: true 重新启动elasticsearch,报错信息如下: [baoshan@test-43.dev.rokid-inc.com /home/baoshan/elk/elasticsearch-5.3.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-08-15 20:18:00
                            
                                359阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            [toc]前言程序员搭建个人博客,一般有两种方法:到csdn、掘金这些大网站上开通,但是这样一般没有什么个性,都是固定的模板(即使cnblogs这种可以让你通过嵌入css等调整样式)自己搭建一个网站但是自己搭建,除了要自己写代码外,最麻烦的是花钱买域名和买空间。于是github的pages是不花钱的最好选择。但是github在国外,网速实在不快,还好这几年国内有了gitee,同样,gitee pa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-22 12:49:11
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、问题描述将Oracle LOCK_SGA参数设置为TRUE之后,报错;SQL> show parameter LOCK_SGA;NAME TYPE VALUE------------------------------------ ----------- ------------------------------lock_sga boolean FALSESQL> alter system set LOCK_SGA=TRUE SCOPE=SPFIL...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-04-01 16:54:00
                            
                                192阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在前言在Linux中大页分为两            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-08-17 07:20:56
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            很早就想写一个自己的网站,但仅仅是自用的话租服务器又不太划算,发现可以直接在github上搭免费的个人网页,就开始着手搭建了。在github上创建仓库直接右上角new repository:在repository name里填上自己的名字 + .github.io,也就是前面的Owner名,这里由于我已经创建过了所以有提示。 然后就可以直接在这个仓库里面写代码了,直接Creat new file在