- 博客(6)
- 收藏
- 关注
原创 多线程常用操作类和常用线程池概述
常用的并发类总结HashMapLinkedHashMapConcurrentHashMap源码总结哈希函数可以将任意长度的输入映射成固定长度的输出,也就是哈希地址哈希冲突是不可避免的,常用的哈希冲突解决办法有以下2种方法:1、链地址法将链表的头指针保存在数组中,哈希地址、键、值等信息一般保存在链表节点中,一般通过哈希地址计算出数组的下标,将哈希值相同的保存在下标相同的数组中的。拉链法适合经常进行插入、删除操作的情况。2、开放定址法开放定址法也称线性探测法,基本思想是:将哈希表T[0…m-
2022-01-07 16:51:39 327
原创 2021-10-15
日志查看命令转载于linux实用命令文章一、查看静态日志命令含义grep “xinxin” log.info用关键字查找日志grep “xinxin” log.info -C5根据关键字查找日志 并查找附近5行的内容,-C指的是circular环的意思grep “xinxin” log,info -A5关键字查找,关键字后5行grep “xinxin” log.info -B5关键字查找,关键字前5行grep “xinxin\ | xiao.
2022-01-07 10:23:22 632
原创 EffectiveJava经验总结:第二章--创建和销毁对象
EffectiveJava经验总结+解释第一章:使用静态工厂方法代替构造器本章主要是讲使用静态工厂创造对象要优于构造器创建对象1、静态工厂方法可以减少创建对象的次数减少对象创建次数,对于一些长时间使用的对象 例如数据库连接对象,不需要频繁的创建和销毁 整个生命周期一个就够了,将这种类的创建放在静态代码块里面,只创建一个,mysql驱动类创建方式就是这样类似单例模式享元模式 static { try { DriverManager.registerDrive
2021-11-16 20:42:00 227
原创 Springboot父子项目Pom构建详解(1)
Pom构建Springboot父子项目详解(1)1、首先创建springboot父子模块项目构建父模块时选择maven pom即可,生成的项目没有src,在父项目目录下创建子模块,子模块选择maven project ,生成的是包含规范目录的文件,子模块的group前缀是父模块名字,artifact是子模块的名字。2、创建好之后将子模块作为modules放进父pom文件里子模块的parent换成父项目的版本3、引入依赖:在创建项目时我什么依赖都没选择添加,此时默认的依赖有:spring-boo
2021-11-03 20:01:10 5664
原创 2021-07-14
数据库面试知识点总结都是按照丁奇的45讲,自己总结下 方便观看1、Mysql全局锁:MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类,MySQL提供了一个加全局读锁的方法,Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。全局锁的典型使用场景是,做全库逻辑备份。也就是把整库每个表都select出来
2021-07-29 10:50:06 184
原创 redis分布式锁原理
redis分布式锁原理为什么要在分布式系统中加分布式锁分布式锁的类型redis怎么实现分布式锁的1、为什么要在分布式系统中加分布式锁:这篇文章介绍的比较全面:https://www.jianshu.com/p/4b39c071557f原生加的锁只对属于自己JVM里面的线程有效,对于其他JVM的线程是无效的。因此,这里的问题是:Java提供的原生锁机制在多机部署场景下失效了,这是因为两台机器加的锁不是同一个锁(两个锁在不同的JVM里面)。要保证两台机器加的锁是同一个锁,即多台机器用一个全局锁
2021-07-07 14:57:37 174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人