自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql 水平分表,建表

原先mysql 水平分表是dba创建的,自己没有负责过,现在要将遇到一个需要创建分表的需求,创建分表时遇到了一些问题,例如将表名为 table_A的表分表256张分表,如何快速创建?一、创建table_A的表CREATE TABLE `table_A` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`)...

2020-09-27 10:05:56 15

原创 mybatis代码生成

项目中使用mybatis代码生成工具生成mapper和entity;记录下步骤:1、配置jdk环境自行百度2、MyBatis Generator数据库文件 config配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://myb

2020-07-02 11:43:35 43

原创 谷歌Guava Cache的使用

最近在项目中看到同事使用了Guava Cache;对这个不是特别了解,记录学习。1、依赖<!-- https://mvnrepository.com/artifact/com.google.guava/guava --><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version&

2020-06-30 18:41:06 61

原创 java8新特性-Stream

java8有两大新特性,一个是lambda,一个是Steam,记录一下Stream表达式的学习。1、Sream简单介绍Srream用来处理集合或者数组的流,可以进行查找、删选、映射等操作,可以替换for循环。2、注意点①Stream 自己不会存储元素。②Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行,也被称为惰性求值。3、Sream使用Stream使用分为3步骤。①、创建Sr

2020-06-16 15:59:07 53

原创 Lombok @Builder,如何使用泛型

最近需要项目中使用@Builder,创建对象就不能直接new了,使用泛型时遇到问题。@Data@Builderpublic class Page<T> { /** * 总数 */ @Builder.Default private Integer total = 0; /** * 详细行数据 */ private List<T> rows;}创建Page对象时编译报错,那如何使用

2020-06-16 10:26:46 550

原创 Java8新特性-lambda表达式

现在学习Java8新特性,总结一下lambda表达式。1.函数式接口只包含一个抽象方法的接口,称为函数式接口。Java8内置函数式接口:java.util.function包下的接口。2.新运算符 -> @Test public void test2(){ Consumer<String> consumer = x ->System.out.println(String.format("有参数,无返回 ..

2020-06-14 15:14:40 35

原创 java线程池拒绝策略详解

java线程池共有四种拒绝策略。public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<

2020-05-21 11:40:31 53

原创 JVM导出dump文件

1.jvm启动时增加的参数#出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError#生成堆文件地址:-XX:HeapDumpPath=/home/liuke/jvmlogs/2.查看内存状态 jmap -heap 进程ID3.查看JVM堆中对象详情占用情况 jmap -histo 进程ID4.导出整个JVM 中内存信息,可以利用其它工具打开dump文件分析,例如jdk自带的visualvm工具  jmap -dump:f...

2020-05-21 10:05:32 227

原创 HashMap为什么线程不安全

学习java集合时,老师都会说下hashMap是线程不安全的;现在就详细说下为什么不安全?1.put操作造成线程不安全这个问题比较好想象,比如有两个线程A和B,首先A希望插入一个key-value对到HashMap中,首先计算记录所要落到的桶的索引坐标,然后获取到该桶里面的链表头结点,此时线程A的时间片用完了,而此时线程B被调度得以执行,和线程A一样执行,只不过线程B成功将记录插到了桶里面,假设线程A插入的记录计算出来的桶索引和线程B要插入的记录计算出来的桶索引是一样的,那么当线程B成功插入之后,线

2020-05-21 09:29:29 59

原创 CAS原理

最近有次面试,问到CAS的底层实现原理,原先看博客和知乎上都是说使用硬件来实现比较和替换的原子性;被毒打了;现在记录一下。1.CAS操作是通过sun包下Unsafe类2.CAS的原理Unsafe中对CAS的实现是C++。CAS的实现和操作系统、CPU都有关系Linux的X86下主要是通过cmpxchgl这个指令在CPU级完成CAS操作的,但在多处理器情况下必须使用lock指令加锁来完成。从这个例子就可以比较清晰的了解CAS的底层实现了。...

2020-05-21 09:07:09 40

原创 JVM参数总结

1、堆栈配置相关-Xmx3550m: 最大堆大小为3550m。-Xms3550m: 设置初始堆大小为3550m。-Xmn2g: 设置年轻代大小为2g。-Xss128k: 每个线程的堆栈大小为128k。-XX:MaxPermSize: 设置持久代大小为16m-XX:NewRatio=4: 设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。-XX:SurvivorRatio=4: 设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Su

2020-05-18 10:29:16 57

原创 解决Linxu cpu和内存高的过程

同事新开发了一个程序,原先在华为云上运行的时候占得CPU和内存比较高,经理让我定位下问题。经检查是线程池任务中阻塞队列中任务占用太多的原因。1.top查看程序的PID、内存和CPU的使用情况。 查看top后,PID=55582.将5558转为16进制。利用window自带的计算器,将5558转为16进制后为15B63.利用jvm自带的jstack导出堆栈信息。 jstack -l 5558 > jstack.log5.分析jstack文件,发现好多线程处于wa...

2020-05-14 13:59:11 62

转载 spring 三级缓存解决循环依赖

转发:https://blog.csdn.net/f641385712/article/details/92801300

2020-05-14 11:26:32 178

转载 一次young gc耗时过长优化过程

https://www.cnblogs.com/sunzhenchao/p/6711275.html

2020-05-12 16:14:16 100

原创 分布式垃圾收集DGC

1、DGC采用引用计数法判断对象已死。2、当使用RMI远程调用时;只有当远程对象的本地引用和远程引用同时失效;才会进行垃圾回收。当客户端获得远程对象的存根时;会定期向服务器发租约通知;告诉服务器自己持有远程对象的引用了。 因为租约通知有时效的;所以需要客户端定时发出新的租约通知。如果客户端不在发送租约通知;导致过期;服务器就会认为远程客户端不在持有该对象。...

2020-05-11 13:58:43 101

原创 高并发限流

转发:https://blog.csdn.net/qq_39806107/article/details/101269830

2020-04-28 13:11:53 61

转载 mysql函数和知识点收集

1、mysql函数https://blog.csdn.net/sinat_38899493/article/details/787104822、mysql知识点https://www.cnblogs.com/hsmwlyl/p/10719152.html

2020-04-14 13:56:35 44

转载 python基础知识

https://www.cnblogs.com/xiugeng/p/9712775.html

2020-03-17 17:23:45 36

原创 springboot集成spring-retry实现接口重试

今天需要通过http接口推送数据,根据协议接口失败情况下,需要重试3次。springboot 版本1.5,1.maven依赖 <dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactI...

2020-03-17 11:45:45 358 2

原创 jodd-http post中文乱码问题

一、使用http框架 <dependency> <groupId>org.jodd</groupId> <artifactId>jodd-http</artifactId> <version>5.0.2</version> </de...

2020-01-07 17:41:06 719 1

原创 linux 测试post接口

我们在window中测试接口,通常使用postman,但是遇到一个问题,联调接口时,因为权限问题,只能在linux上测试接口是否开通。最后通过crul解决了这个问题。1. post 访问 网址?name='张三'&password='123' header为content-type=application/x-www-form-urlencodedcurl -H 'conte...

2020-01-02 15:00:22 240

原创 springboot集成kafka指定分区发送

springboot 版本为 2.0.61.配置文件 kafka: bootstrap-servers: kafka地址 producer: key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafk...

2019-12-04 14:12:13 2492

转载 ubuntu 查看pip安装列表和路径

https://blog.csdn.net/sinat_29158315/article/details/81813556

2019-11-29 11:21:43 1942

原创 flink java.lang.RuntimeException:null异常

flink程序在华为云上运行一段时间后,程序突然有问题,抛出异常了。一、异常:java.lang.RuntimeException: null at org.apache.flink.streaming.runtime.io.RecordWriterOutput.pushToRecordWriter(RecordWriterOutput.java:110) at org.apache...

2019-11-28 10:06:40 810

原创 python with学习

1.with在python中可以自动关闭打开的资源,使代码更简练。2.with使用def open_file(path, method): with open(path, method) as f: while True: content = f.readline() if content: ...

2019-11-14 13:33:08 30

原创 python property注意事项

在python3下使用property属性,注意事项① 使用@property的方法必须仅有一个self参数②使用getter方法是必须只有两个参数(self,name)其中为赋值的参数name③方法名相同④ 对象名.name 调用方法①,调用时必须不能加(),错误使用 :对象名.name()...

2019-11-13 16:54:37 46

原创 python import

1.python import时,找不到文件解决办法:imort syssys.path 导入路径sys.path.append(要导入文件的路径)2.import 重新导入问题因为python导入模块只会在内存中导入一份,如果修改了模块内容,要重新生效的话import impimp.reload(模块名)要导入的模块就好重新加载...

2019-11-13 15:04:14 33

原创 python 深拷贝和浅拷贝

一、python的copy模块1. a = copy.copy(b)copy模块的copy是浅拷贝,①如果 b是不可变类型, 那id(a) ==id(b),直接将b的引用给a。②如果b是可变类型, id(a) != id(b), a会再内存中重新开辟一块空间,a的引用和b的引用不一致,但是a中元素的地址和b中元素的地址相同。2. copy.deepcopy()num_tu...

2019-11-13 14:37:15 38

原创 ubuntu设置root密码,远程登录

一、设置root密码ubuntu默认不能使用root用户,需要设置root密码的权限命令:sudo passwd root输入root密码即可,ubuntu不会显示输入的密码。二、远程连接1、安装sshsudo apt install openssh-server2.测试安装是否成功ps -ef |grep ssh3.修改配置文件udo gedit/etc...

2019-11-12 15:05:38 115

原创 python Lock锁timeout用法和单位

1、python获取Lockmutex = threading.Lock()2、上锁acquire()参数:blocking 获取不到锁时,是否阻塞当前线程 ,默认为True timeout 当前线程获取不到锁时,等待的超时时间,单位为秒3、注意:因为acquire()方法有多个默认参数,使用blocking和timeout时必须添加参数名正确:mu...

2019-11-06 11:48:21 741

原创 python3 查看当前进程的进程id

获取执行程序的进程的pid ---import ospid = os.getpid()获取的pid为int类型数据

2019-11-05 15:11:29 368

原创 Java equals 和 ==

1.Java中8大基础类型: 浮点型:float(4 byte), double(8 byte)  整型:byte(1 byte), short(2 byte), int(4 byte), long(8 byte)  字符型: char(2 byte)  布尔型: boolean2. ==基础类型中 == 是直接比较 值是否相等。复合数据类型中 == 比...

2019-11-05 10:07:40 21

原创 mysql 排他锁和共享锁

mysql 引擎:MyISAM不支持事务,InnoDB支持事务、行级锁、高并发。排他锁:排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。语法:select * from 表明 for update共享锁:共享锁又称为读锁,...

2019-11-04 10:48:57 34 2

原创 maven安装jar和解决mvn不是内部命令

项目需要安装jar包到本地仓库,安装时报“mvn不是内部命令” 的错误解决错误:命令行进入maven本地安装目录的bin目录下1.将要安装的jar报复制到d盘2.进入maven的bin目录3.命令行执行命令mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId ...

2019-10-31 16:17:35 79

原创 springboot 解决跨域问题

前端是VUE开发,后台为springboot 2.0.6。跨域问题原因:post请求应该加上一些header参数,表示跨域。代码如下:@Configurationpublic class SimpleCorsFilter{ @Order @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfi...

2019-10-29 17:42:33 25

原创 python isinstance使用

判断是否属于迭代器from collections import Iteratorisinstance([],Iterator)判断[]是否是迭代器

2019-10-24 16:03:16 88

转载 python3 创建多线程

https://www.cnblogs.com/zhang293/p/7954353.html

2019-10-15 17:30:40 60

原创 python3 RuntimeError: thread.__init__() not called

1.线程Thread自定义线程必须在__init__方法的第一行添加 threading.Thread.__init__(self)。class MyThread(threading.Thread): def __init__(self, num): # 必须添加在方法的第一行,不能少 threading.Thread.__init__(se...

2019-10-15 17:08:05 256

转载 Flink的Apache Kafka连接器

转载:https://www.jianshu.com/p/c25bde9893a7

2019-09-17 16:52:12 71

原创 linux rz上传

yum install -y lrzsz 安装命令sz 下载文件到本地rz 上传文件到服务器

2019-09-02 16:25:00 42

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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