同步锁 使用 java关键字synchronize 来做同步处理时,锁的获取和释放都是隐式的,实现的原理是通过编译后加上不同的机器指令来实现。 ReentrantLock 就是一个普通的java类,它是基于 AQS(AbstractQueuedSynchronizer)来实现同步锁。AQS 是 Ja ...
分类:
其他好文 时间:
2019-12-28 23:13:12
阅读次数:
144
目录 语言分类 面向对象 面向对象三要素 Python的面向对象 01 语言分类 面向机器: 抽象成机器指令,机器容易理解。 代表:汇编语言 面向过程: 做一件事情,排除个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理。 问题规模小,可以步骤化,按部就班处 ...
分类:
编程语言 时间:
2019-12-28 21:07:07
阅读次数:
107
删除单向链表中的某个节点 链表的节点删除 在删除链表的节点步骤如下: 1.找到被删除节点的前面一个节点 2.将前面节点的next节点改成下一个节点 3.将被删除节点的内存释放 接下来我们来考虑一道leetcode题: 237. Delete Node in a Linked List Write a ...
分类:
其他好文 时间:
2019-12-28 18:59:12
阅读次数:
123
1、简述synchroized和java.util.concurrent.locks.Lock的异同? 1.synchronized 用在方法和代码块的区别? a. 可以只对需要同步的使用 b.与wait(),notify()和notifyall()方法使用比较方便 2.wait() a。释放持有的 ...
分类:
其他好文 时间:
2019-12-28 14:38:49
阅读次数:
89
锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。锁是解决并发冲突的重要工具。在开发中我们会用到很多类型的锁,每种锁都有其自身的特点和适用范围。需要深刻理解锁的理念和区别,才能正确、合理地使用锁。常用锁类型乐观锁与悲观锁悲观锁对并发冲突持悲观态度,先取锁后访问数据,能够较大程度确保数据安全性。而乐观锁认为数据冲突的概率比较低,可以尽
分类:
编程语言 时间:
2019-12-27 22:08:08
阅读次数:
182
MySQL事务 事务隔离级别, 数据库事务的隔离级别有4种,由低到高分别为 Read uncommitted Read committed [事务更新] Repeatable read Serializable 查看事务隔离级别 事务隔离级别设置 幻读 insert ? (前后多次读取,数据总量不一 ...
分类:
数据库 时间:
2019-12-27 20:09:06
阅读次数:
92
Delphi FreeAndNil 是一个过程,并不是函数,看源代码就知道,它的主要作用是清空并释放对象 看代码的执行顺序,先置空,再释放 置空 清空指针指向内存的地址。 释放 释放实例占用的所有资源。Free后,指针不能再使用 更新时间:2019.12.27 来源于:https://www.cnb ...
内存管理 内存分配和内存释放 内存分配由程序完成,内存释放由GC完成 运行时数据区域 (1)程序计数器(program counter register) 一块较小的内存空间 当前线程所执行的字节码的行号指示器,字节码解释器在工作的时候就是通过改变程序计数器的值来选取下一跳要执行的指令 多线程环境下 ...
分类:
其他好文 时间:
2019-12-27 13:09:40
阅读次数:
94
public interface DistributedLock { /** * 加锁 * @param lockKey 锁定的key * @param lockSeconds 锁定时间(单位:秒),超过该锁定时间会自动释放锁,可能会导致并发问题。 * @param expirySeconds 本次 ...
分类:
其他好文 时间:
2019-12-27 11:34:05
阅读次数:
60
1. 首先释放安装包: tar -xvzf php-7.3.2.tar.gz.gz cd php-7.3.2 2. 接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线安装: yum -y insta ...
分类:
Web程序 时间:
2019-12-27 09:14:47
阅读次数:
105