自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 初始化大量历史数据时踩过的坑

1.当数据量特别大的时候要注意不要再任务的总方法上加事务,这样会导致整个任务只是用同一个数据库连接,当任务执行时间过长时,连接可能会达到最大可用时长,这个时长的配置在druid连接池表现为下面这几个属性。当连接达到最大可用时长而事务仍然没有提交时,连接池会删除这个连接,从而导致任务执行失败。 <!-- 打开removeAbandoned功能 --> <property name="removeAbandoned" value="true" />

2020-06-30 20:51:08 1159 2

原创 idea 搬家之后要做的配置

关闭窗口快捷键 settings——>keymap——>main menu——>window——>editor tabs——>close右键添加即可。 提示快捷键 settings——>keymap——>Main menu | Code | Completion | Basic——>右键添加即可 ...

2020-06-27 22:36:14 230

原创 使用redis-cli部署集群

目标使用3台服务器A、B、C,每台服务器部署一套主从(1主2从),三个主服务来平分redis槽。安装redis服务安装gcc yum install -y gcc 安装wget yum install -y wget 下载redis包 wgethttp://download.redis.io/releases/redis-5.0.8.tar.gz 解压并安装redis命令 cd $REDIS_HOM...

2020-06-27 22:01:59 1749

原创 xshell 一键向所有窗口发送指令

查看--》撰写--》撰写栏底部会跳出一个命令栏在这里编写指令会发送到所有窗口

2020-06-27 21:45:27 2450

原创 zookeeper学习笔记

什么是zookeeper zookeeper的主从复制结构,只有leader可写,leader只有一个。 两种运行的状态(可用状态和不可用状态) zookeeper选择新的leader的时间在200ms 3个节点并发八九万 不要把zookeeper当成数据库用 zookeeper是一个目录树结构,一个节点1MB,节点有三种 zookeeper的一些特性:...

2020-06-26 23:35:22 166

原创 redis 学习笔记

布隆过滤器 布谷鸟过滤器 redis作为数据库/缓存的区别? 缓存的特点(不是全量数据,数据不重要,缓存应该随着访问变化热数据) 内存大小的设置 内存达到最大值以后的策略(默认禁止,报错;LRU;LFU;random;ttl。一般选择allkeys-lru或者volatile-lru,注意这两者的使用场景,前者是在所有键中寻找最少使用的,后者是在过期集合的键中选择最少使用的) 对有过期时间的key重新set后,会变为永久有效。 倒计时/定时 过期判定原理 缓存常见问题(击穿,穿透,雪崩,一

2020-06-26 00:42:07 198

原创 redis 客户端命令

io多路复用的原理String 【bitcount bitop】 APPEND key value summary: Append a value to a key since: 2.0.0 BITCOUNT key [start end] summary: Count set bits in a string since: 2.6.0 BITFIELD key [GET type offset] [SET type offset value] [INCRBY typ

2020-06-25 22:23:07 245

原创 安装redis 服务

1.wgethttp://download.redis.io/releases/redis-5.0.8.tar.gz2.gcc -v 没有的话安装gcc yum install -y gcc3.解压redis 进入根目录4.make install PREFIX=/opt/redis5.vi /etc/profile6.export REDIS_HOME=/opt/redis export PATH=$PATH:$REDIS_HOME/bin7.source /et...

2020-06-25 12:03:28 174

原创 juc 之 CountDownLatch 倒数解锁

package com.tangjianghua.juc.class003_alllock;import java.util.ArrayList;import java.util.concurrent.CountDownLatch;/** * CountDownLatch:门闩,倒计时解锁 * await()阻塞当前线程,知道CountDownLatch减到0 * @author tangjianghua * date 2020/6/23 * time 11:50 */public.

2020-06-23 16:56:48 213

原创 juc 之 CyclicBarrier 栅栏

package com.tangjianghua.juc.class003_alllock;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * CyclicBarrier:篱栅,栅栏 * 栅栏上绑定一个任务,当有足够的线程到达栅栏时,触发栅栏的任务。 * 多个线程通过栅栏,当有足够的线程到达栅栏的某一阶段时,栅栏的这个阶段放行。 * @auth.

2020-06-23 16:55:46 253

原创 juc 之 LockSupport 锁工具

public static void main(String[] args) { final Thread thread = new Thread(() -> { System.out.println("阻塞"); LockSupport.park(); System.out.println("已解锁"); }); thread.start(); try { .

2020-06-23 16:54:25 175

原创 juc 之 Exchanger 交换器 交换两个线程中的变量

package com.tangjianghua.juc.class003_alllock;import java.util.concurrent.Exchanger;/** * @author tangjianghua * date 2020/6/23 * time 16:48 */public class ExchangerTest { static Exchanger<String> exchanger = new Exchanger<>(); .

2020-06-23 16:51:21 189

原创 juc 之 Semaphore控制线程并发量

public static void main(String[] args) { //创建一个Semaphore,指定并发量为2,公平竞争 final Semaphore semaphore = new Semaphore(2, true); for (int i = 0; i < 10; i++) { new Thread(()->{ try { s.

2020-06-23 16:46:10 144

原创 juc之phaser阶段锁

package com.tangjianghua.juc.class003_alllock;import java.util.concurrent.Phaser;/** * Phaser 阶段锁 * 注册5个线程,分四个阶段完成 * @author tangjianghua * date 2020/6/23 * time 15:55 */public class PhaserTest { static final WarPhaser marriagePhaser = ...

2020-06-23 16:36:18 212

原创 IO学习笔记

1.kernel ,vfs, inode id,pagecache 4k,dirty,flush2./proc内核映射目录 3./proc/pid/fd/ 文件描述符 可用命令: lsof -op pid4.任何一个进程都有0u 1u 2u这三个文件描述符,分别代表标准输入,标准输出,错误输出5.关于重定向输入输出< 和>,由上个知识点可知任何一个命令都有三个文件描述符,那么如何去重定向这三个文件描述符?联想一个问题:如何把项目输出日志扔进黑洞?首先标准输出指向黑...

2020-06-20 00:46:20 266

原创 leetcode 146 LRUCache

运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:你是否可...

2020-06-19 15:19:29 105

原创 GC常用参数

### GC常用参数* -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间* -XX:+UseTLAB 使用TLAB,默认打开* -XX:+PrintTLAB 打印TLAB的使用情况* -XX:TLABSize 设置TLAB大小* -XX:+DisableExplictGC System.gc()不管用 ,FGC* -XX:+PrintGC* -XX:+PrintGCDetails* -XX:+PrintHeapAtGC* -XX:+PrintG.

2020-06-14 19:40:25 1096

原创 面试题总结(持更)

JVMclass 加载过程(class->loading->linking->initializing->gc) 静态变量的赋值过程(先默认后初始化) 双亲委派机制是什么,为什么要用双亲委派(安全) 怎么实现一个自定义的类加载器(extends ClassLoader overwrite findClass defineClass) lazyloading(5种情况) 解释模式/JIT编译模式(-Xmixed(检测热点代码 -XX:CompileThreshold=10

2020-06-14 19:01:30 187

原创 算法学习笔记

排序算法的特点选择排序:每次都会把当前范围里的最小的元素选择出来放到范围前一个位置,不断往后缩小这个范围。冒泡排序:每次排序都会把当前范围最大的元素冒到当前范围的最顶端,不断往前缩小这个范围。插入排序:每次排序都会将范围之外的下一个元素插入到当前范围重新排序,不断插入下一个元素。...

2020-06-12 11:06:45 229

原创 pdfbox pdf转图片中的字体问题

问题在使用pdfbox转图片时,出现字体不支持的问题。通用的解决方式是将需要的字体安装到服务器来解决,但是这种方式比较鸡肋,如果我们是集群部署或者需要迁移服务器时,就必须多次安装字体,这是一种很不好的体验。原因pdfbox在转换pdf时,会从系统的字体库去初始化字体到内存中,如果要转换的字体已经存在,则直接使用该字体,如果该字体不存在,在源码中对该字体的替补字体进行配置,寻找可替代的字体转换,如果没有可替代的字体则不会输出文字内容。解决方案1:安装字体到系统方案2:为字体添加已存在的

2020-06-05 22:24:49 7910 1

原创 xshell 执行项目报错 X11 window server

问题在xshell中执行java项目报错。java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the valException in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.

2020-06-05 11:11:08 4491

原创 redis 框架配置相关操作

持久化RDBrdb默认打开,配置为(save 900 1 save 300 10 save 60 10000)三个,如果需要关闭的话执行(save "")。rdb文件默认为(dbfilename dump.rdb)。指定工作空间路径(dir ./),持久化文件会保存在这里AOF配置(appendonly yes)。指定文件默认(appendfilename "appendonly.aof")。持久化频率(# appendfsync always appendfsyn...

2020-06-01 13:39:55 179

原创 redis 学习中遇到的问题

安装检查gcc是否安装,版本需要高于5 当出现一下报错时启动命令添加参数,重新安装zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: No such file or directory#重新执行命令:make MALLOC=libc

2020-06-01 13:20:21 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除