![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码笔记
萧2K
我是一个程序猿!
展开
-
9种 分布式ID生成方式
一、为什么要用分布式ID?在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征?1、什么是分布式ID?拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID...转载 2020-03-26 10:57:25 · 313 阅读 · 0 评论 -
Sublime Text3快捷键大全
选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 ...原创 2020-03-25 14:10:10 · 434 阅读 · 0 评论 -
spring启动流程图
原创 2020-03-18 17:44:21 · 769 阅读 · 0 评论 -
@transactional注解失效
一,特性:1,一般在service里加@Transactional注解,不建议在接口上添加,加了此注解后此类会纳入spring事务管理中,每个业务方法执行时,都会开启一个事务,不过都是按照相同的管理机制。2,@Transactional注解只能应用到public修饰符上,其它修饰符不起作用,但不报错。3,默认情况下此注解会对unchecked异常进行回滚,对checked异常不回滚。那...原创 2020-03-18 16:07:17 · 661 阅读 · 1 评论 -
源码笔记
《后端架构师技术图谱》Github地址:https://github.com/xingshaocheng/architect-awesome1. java-design-patterns(Star:36k)Github地址:https://github.com/iluwatar/java-design-patterns介绍:设计模式是形式化的最佳实践,程序员可以在设计应用程序或系统...原创 2019-11-21 17:15:48 · 6782 阅读 · 0 评论 -
Quartz+spring任务调度+XXL-JOB源码接入项目
参考:https://blog.csdn.net/zht741322694/article/details/79303157XXL-JOB快速入门:https://www.jianshu.com/p/fa7186bea84b原创 2019-11-16 13:57:26 · 212 阅读 · 0 评论 -
关于SimpleDateFormat安全的时间格式化线程安全问题
SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一个具体的场景来一步步的深入学习和理解SimpleDa...原创 2019-09-03 11:21:14 · 139 阅读 · 0 评论 -
Linux awk命令
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。使用方法 : awk '{pattern + action}' {filenames}尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内...原创 2019-08-05 15:32:38 · 157 阅读 · 0 评论 -
Guava缓存值CacheBuilder介绍
范例LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() .maximumSize(1000) .expireAfterWrite(10, TimeUnit.MINUTES) .removalListener(MY_LISTENER) .build( ...转载 2019-05-31 17:59:02 · 879 阅读 · 0 评论 -
Java开发之@PostConstruct和@PreConstruct注解
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明。使用方式,例如:@PostConstruct //方式1 ...原创 2019-03-28 16:08:03 · 123 阅读 · 0 评论 -
@Scheduled cron表达式
@Scheduled cron表达式一、Cron详解:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:1.Seconds Minutes Hours DayofMonth Month DayofWeek Year2.Seconds Minutes Hours DayofMonth Month DayofWeek...原创 2019-03-28 15:53:19 · 1829 阅读 · 0 评论 -
filebeat+kafka+logstash+elasticsearch+kibana
参考文章:ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 架构之 Logstash 和 Filebeat 配置使用(采集过滤) Logstash配置总结和实例 1、安装filebeat 选择 tar -axvf filebeat-6.4.2-linux-x86_64.tar.gz...原创 2018-10-17 20:56:44 · 1273 阅读 · 0 评论 -
redis缓存和mysql数据库同步
解决方案一、对强一致要求比较高的,应采用实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。二、对于并发程度较高的,可采用异步队列的方式同步,可采用kafka等消息中间件处理消息生产和消费。三、使用阿里的同步工具canal,canal实现方式是模拟mysql slave和master的同步机...原创 2019-01-21 17:56:04 · 1149 阅读 · 0 评论 -
spring cloud stream kafka实例
maven<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId...原创 2019-01-21 13:57:54 · 1714 阅读 · 2 评论 -
Spring中bean的作用域与生命周期
在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖关系将通过配置元数据来描述。 Spring中的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?...转载 2019-01-21 17:57:00 · 116 阅读 · 0 评论 -
influx客户端基本操作
influx控制台基本操作数据库操作显示已存在的所有数据库格式: show databases示例如下:> show databases;name: databasesname----_internal创建新数据库格式:create database <dbname> 说明:dbname : 数据库名称示例如下:> cr...原创 2019-03-19 17:59:42 · 1163 阅读 · 0 评论 -
kafka + influxDB + grafana
A、influxDB# 安装influxDBbrew install influxdb# 要在登录时启动influxDB,运行:ln -sfv /usr/local/opt/influxdb/*.plist ~/Library/LaunchAgents# 配置文件在/etc/influxdb/influxdb.conf ,如果没有就将/usr/local/etc/influxdb.con...原创 2019-03-21 10:09:26 · 1296 阅读 · 0 评论 -
Java BigDecimal详解
1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码public static void main(String[...转载 2019-03-22 16:37:01 · 92 阅读 · 0 评论 -
kafka操作命令
进入kafka_2.11-0.11.0.0目录下启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties &启动kafka bin/kafka-server-start.sh config/server.properties &停止kafka bin/kafka...原创 2018-10-17 21:03:08 · 209 阅读 · 0 评论