MySQL数据库自增锁问题

2023-05-16
阅读 2 分钟
626
执行归档任务,把mcc_customer_consume_small表数据导入到mcc_customer_consume_archive表中,多线程并发执行insert ... select语句

数据库联合索引覆盖问题

2023-03-24
阅读 2 分钟
489
此文为了确定MySQL联合索引的覆盖问题。首先联合索引是建立在「最左前缀」原则之上。其次select字段也需要被索引覆盖,否则会进行回表查询。测试准备MySQL 版本 8.0.32-arm64版本,InnoDB引擎。创建一张表名test_index,有 a、b、c、d、e 共5个字段。其中a、b、c、d 4个字段按顺序组成的联合索引,索引名称为idx_abcd。e...

算法 - 栈与队列 - 用队列实现栈

2023-03-01
阅读 2 分钟
471
力扣 225题:用队列实现栈 {代码...} 解法:queue2做数据最终存储,queue1用于反转队列。每次先把queue2的旧数据移到queue1中,再把新数据加到queue2中。 {代码...}

算法 - 栈与队列 - 用栈组成队列

2023-03-01
阅读 2 分钟
672
力扣 232题 用栈实现队列 {代码...} 解法:两个栈,一个用于存进入的数据,另一个存要出去的数据 {代码...}

算法 - 链表 - 双指针

2023-02-27
阅读 2 分钟
905
力扣 第2题 : 两数相加 {代码...} 解法:双指针解释在注释代码中 {代码...}

算法 - 字符串 - 反转字符串中的单词

2023-02-27
阅读 1 分钟
854
力扣 151题 反转字符串中的单词 {代码...} 解法:双指针交换数组中的元素 {代码...}

算法 - 字符串 - 反转字符串

2023-02-27
阅读 2 分钟
865
题目1力扣 344题, 反转字符串 {代码...} 解法:双指针 {代码...} 题目2力扣 541题 反转字符串II {代码...} 解法:双指针 {代码...}

算法 - 哈希表 - 三数之和

2023-02-27
阅读 3 分钟
1.3k
力扣 15题 : 三数之和 {代码...} 解法1 ,使用哈希表映射参考:算法 - 哈希表 - 两数之和 与 四数之和 {代码...} 解法2 双指针法 {代码...}

算法 - 哈希表 - 两数之和 与 四数之和

2023-02-27
阅读 2 分钟
543
第一题 两数之和力扣 第一题:两数之和 {代码...} 方法1:循环遍历两次, 时间复杂度 O(n*n)方法2:哈希表映射,遍历一次,时间复杂度 O(n) {代码...} 第二题:四数相加II力扣 454题,四数相加 {代码...} 解答:可以使用第一题思路, 讲4组数组分成2组 {代码...}

算法 - 哈希表 - 数组的交集

2023-02-27
阅读 1 分钟
565
力扣 349题,两个数组的交集 {代码...} 解法:Set.retainAll(Set)取集合的交集 {代码...}

算法 - 哈希表数据结构

2023-02-27
阅读 3 分钟
764
哈希表,Hash Table,也称为散列表。哈希碰撞key映射到同一个索引位置,叫做哈希碰撞。哈希碰撞一般有两种解决方法:拉链法 和 线性探测法。拉链法发生哈希冲突的元素被存储在链表中。线性探测法在开放定址算法里,线性探测法是散列解决冲突的一种方法,当hash一个关键字时,发现没有冲突,就保存关键字, 如果出现冲突...

算法 - 链表 - 环形链表

2023-02-26
阅读 2 分钟
880
环形链表 II难度中等1959给定一个链表的头节点  head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1...

算法 - 链表 - 虚拟头结点

2023-02-25
阅读 2 分钟
1.5k
来源:力扣(LeetCode)链接:[链接] {代码...} 方式1 {代码...} 方式2:虚拟头节点不用判断head,把head和其他节点一样处理,返回虚拟节点的下一个节点即是head。比方式1 更简化代码和逻辑。 {代码...}

算法 - 数组 - 滑动窗口

2023-02-25
阅读 2 分钟
1.2k
力扣 209题 长度最小的数组 {代码...} 暴力解法 {代码...} 滑动窗口 {代码...}

算法 - 数组 双指针

2023-02-24
阅读 1 分钟
687
力扣 27题 移除数组元素 {代码...} 解决方案,双指针法时间复杂度 O(n)空间复杂度 O(1) {代码...}

算法 - 数组 二分法查找

2023-02-24
阅读 2 分钟
591
二分查找力扣 704题. 二分查找 {代码...} 二分法写法(1) 左闭右闭关键点:边界问题left 可以 等于 right每次移动,因为mid肯定不是要找的结果,都可以跳过,使用left = mid -1 或者 right = mid+1,否则可能产生死循环。 {代码...} 二分法写法(二)左闭右开关键点:left 永远不会等于right1、left 和 right永远不会相...

Java的Interrupt与线程中断

2019-02-18
阅读 2 分钟
4k
正常情况下,只是将线程的中断状态变为true。线程中可以通过轮询中断状态,做出相应的处理。如果线程在阻塞状态下,线程将退出阻塞且中断状态将被清除(即为false),且会抛出InterruptException。(IO操作忽略)

Java 之路 - JDK基础 java.lang.Integer

2018-12-20
阅读 2 分钟
2.2k
MIN_VALUE:0x80000000(16进制)= -(2的31次方) =-2147483648MAX_VALUE:0x7fffffff(16进制)= 2的31次方-1 = 2147483647

Java常用工具类整理

2017-12-07
阅读 2 分钟
4.5k
java.lang.Objects / org.apache.commons.lang.ObjectUtils; boolean isNull(Object obj); 判断null boolean equals(Object a, Object b); 等值判断 int hashCode(Object o); 哈希值 String toString(Object o, String defaultValue); java.util.Collections void sort(List list); 排序 ? max(collection); 最大值 ? mi...

MySQL事务隔离级别和锁

2017-05-11
阅读 1 分钟
2.9k
事务操作 MySQL隔离级别 (级别依次降低) SERIALIZABLE REPEATABLE_READ (默认)(幻读:读不到刚刚更新的数据) READ_COMMITTED(不可重复读:一个事务中多次查询可能不一致) READ_UNCOMMITTED(脏读:读取到未提交的数据) 查询数据默认隔离级别 {代码...} 设置隔离级别 {代码...} MySQL的事务操作 {代码...} 锁操作 ...

一致性Hash和环形Hash

2017-04-02
阅读 1 分钟
7.2k
一致性Hash 是为了解决动态缓存节点映射问题的 一致性hash的要求: 平衡性:数据分配要均匀 单调性:原有的数据只能映射到其所在的缓冲区或者新的缓冲区,而非其他旧缓冲区。 分散性:同样的内容映射到相同的缓冲区,而非相同的内容映射到不同的缓冲区。 负载:降低缓冲的负荷。 旧的Hash映射算法 hash(object)%N,objec...

JVM 内存模型

2017-03-29
阅读 2 分钟
2.6k
线程私有,生命周期与线程相同。VM Stack是描述Java方法执行的内存模型:每个方法执行的时候会同时创建一个栈帧(Stack Frame),用于存储局部变量表、操作数栈、动态连接、返回地址、方法出口等信息。

图解Tomcat server.xml配置结构

2017-03-29
阅读 1 分钟
2.2k
整理了一下Tomcat server.xml配置文件的元素概念和功能关系, Server是整个配置的根元素。 Service是一组Connector和Engine的结合体。相当于一个package。可多个。 Executor 线程池,主要提供给Connector使用。可以在各组件中共享。可多个。 Connector相当于网络通道,配置了通信协议。用于从外部接收请求,交给Engine处...

Tomcat 7 server.xml 配置文件详解

2017-03-29
阅读 6 分钟
10.1k
Tomcat7作为Servlet/JSP容器,它的全部行为的配置指令,包含在/conf/server.xml文件中,这个文件是一个无预定义结构的XML文件,所有的属性大小写敏感。

RPC基本介绍

2017-03-02
阅读 1 分钟
4.2k
RPC可以基于TCP或者UDP网络协议实现,RPC协议有很多种,例如Hessian(二进制传输协议)、Google的protobuf等,甚至REST API。

Java并发,volatile+不可变容器对象能保证线程安全么?!

2016-12-23
阅读 2 分钟
4.5k
在前面的UnsafeCachingFactorizer类中,我们尝试用两个AtomicReferences变量来保存最新的数值及其因数分解结果,但这种方式并非是线程安全的,因为我们无法以原子方式来同时读取或更新这两个相关的值。同样,用volatile类型的变量来保存这些值也不是线程安全的。然而,在某些情况下,不可变对象能提供一种弱形式的原子性...

CentOS 7使用yum配置MySQL源并安装MySQL

2016-11-04
阅读 1 分钟
8.4k
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

JAVA加密算法(5)- 数字签名算法(RSA、DSA)

2016-10-28
阅读 2 分钟
9.1k
数字签名流程 (1)生成签名:对源文件的「数字摘要」,使用私钥加密,生成「加密数字摘要」; (2)验证签名:对「加密数字摘要」通过公钥进行解密,生成「数字摘要2」,比较「数字摘要」与「数字摘要2」,结果相同则签名验证通过。 概念:带有「公钥」和「私钥」的「消息摘要」算法,是「非对称加密算法」和「消息摘要...

JAVA加密算法(4)- 非对称加密算法(DH,RSA)

2016-10-27
阅读 7 分钟
6.2k
非对称密码概念 发送者使用接收者的公钥加密,接收者使用自己的私钥解密。 需要两个密钥进行加密或解密,分为公钥和私钥 特点:安全性高,速度慢 常用算法 DH密钥交换算法 RSA算法 ElGamal算法那 用途 密钥交换(DH) 双方在没有确定共同密钥的情况下,生成密钥,不提供加密工作,加解密还需要其他对称加密算法实现 加密...

JAVA加密算法(3)- 对称加密算法(DES、3DES、AES)

2016-10-26
阅读 3 分钟
10.1k
对称加密算法概念 加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。 特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。 弱点:双方都使用同样的密钥,安全性得不到保证。 常用对称加密算法 DES(Data Encryption Standard) 3DES(DES加强版,使用3次DES计算,Triple DES,DESede) AES(Advance...