自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jaylon Wang的专栏

软件研发专栏 ,欢迎访问与关注本人的github: https://github.com/kkman2008

原创 TOGAF认证考试总结[自学备考]

做咨询项目,感觉TOGAF架构对于ADM各阶段以及理清业务与IT的关系都很有指导性,所以决定考一个认证,一方面加深理解,另一方面弄个证书在答标等场合也用得上。 2016年1月24日,星期天,完成了考试,part 1: 36/40(90%),part 2: 27/40(67%),虽然对于Part2...

2020-02-19 08:04:18 283 0

原创 linux不解压日志压缩包直接搜索里面的内容

gzip -dc 文件名 | grep “搜索条件” 可以做到不解压日志压缩包直接搜索里面的内容

2019-05-15 17:59:16 392 0

原创 mycat1.6实现单库分表

mycat1.6实现单库分表   1,下载mycat1.6(http://dl.mycat.io/1.6-RELEASE/ “选择win版本 第6个文件就是”)  2,把server.xml,rule.xml,schema.xml,wrapper.conf替换成如下配置  3,在mysql创建...

2018-10-28 10:55:27 559 0

原创 为什么分布式一定要有 Redis?

为什么分布式一定要有redis? 1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。...

2018-09-26 23:29:08 327 0

原创 数据库表字段命名规范

数据库表字段命名规范 数据库表字段命名规范 摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解...

2018-09-22 14:43:16 1248 0

原创 让孩子们喜欢阅读的18种天才方法

让孩子们喜欢阅读的18种天才方法 这些技巧将使您的孩子们立即独立阅读! 除了描绘我的孩子举止举止无可挑剔,行为举止得体之外,我还设想他们像我小时候一样吞噬书籍。当我的女儿爱上朱迪·布鲁姆(Judy Blume),贝弗利·克莱里(Beverly Cleary)和婴儿保姆俱...

2020-07-11 07:09:04 14 0

原创 一文看尽所有分布式锁:MySQL,Redis,ZK

再有人问你分布式锁,这篇文章扔给他 1.背景 对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布...

2020-07-02 18:37:57 48 0

原创 Redis锁和ZK锁比较-两种方案的优缺点比较

两种方案的优缺点比较 学完了两种分布式锁的实现方案之后,本节需要讨论的是 Redis 和 ZK 的实现方案中各自的优缺点。 对于 Redis 的分布式锁而言,它有以下缺点: 它获取锁的方式简单粗暴,获取不到锁直接不断尝试获取锁,比较消耗性能。 另外来说的话,Redis 的设计定位决定了它的...

2020-07-02 14:43:17 94 0

原创 面试被问到“零拷贝”?我一脸懵逼!

面试被问到“零拷贝”?我一脸懵逼! 前言 I/O概念 1.缓冲区 2.虚拟内存 3.mmap+write方式 4.sendfile方式 Java零拷贝 1.MappedByteBuffer ...

2020-06-30 16:27:18 42 0

原创 Kafka的介绍和使用

一:介绍 参考:kafka kafka是分布式消息系统,以从“一个高吞吐量,分布式的消息系统”改为“一个分布式流平台”。 kafka与传统消息系统不同在于: kafka是一个分布式系统,易于向外扩展; 它同时为发布和订阅提供高吞吐量; 它支持多订阅者,当失败时能自动平衡...

2020-06-29 16:10:38 59 0

原创 Kafka理论之Partition & Replication

Kafka理论之Partition & Replication 基于分区和副本集的相关知识,初步了解Kafka的数据存储、同步原理 Kafka基本架构 此图来源于朱小厮博客   上图为Kafka的典型架构图,对于消息的生产以及消费逻辑不在本文的讨论范畴,主要就Broker...

2020-06-27 17:52:32 129 0

原创 LeetCode 题解 | 198.打家劫舍

LeetCode 题解 | 198.打家劫舍 198.打家劫舍 打家劫舍 - 力扣(LeetCode)​leetcode-cn.com 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房...

2020-05-29 16:38:14 61 0

原创 maven的deploy

昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下命令的介绍,竟然花了近半小时才完全跑通,故记录此文。 假设现有项目结构如下 dailylog-parent |-dailylog-common |-d...

2020-05-25 19:53:31 44 0

原创 聚合(根)、实体、值对象精炼思考总结

1.聚合根、实体、值对象的区别? 从标识的角度: 聚合根具有全局的唯一标识,而实体只有在聚合内部有唯一的本地标识,值对象没有唯一标识,不存在这个值对象或那个值对象的说法; 从是否只读的角度: 聚合根除了唯一标识外,其他所有状态信息都理论上可变;实体是可变的;值对象是只读的; 从生命周期的...

2020-05-24 06:22:49 107 0

原创 [LeetCode] LFU Cache 最近最不常用页面置换缓存器

[LeetCode] LFU Cache 最近最不常用页面置换缓存器 Design and implement a data structure forLeast Frequently Used (LFU)cache. It should support the following oper...

2020-04-28 22:16:55 83 0

原创 LRU和LFU的区别

LRU和LFU的区别 一、概念介绍 LRU和LFU都是内存管理的页面置换算法。 LRU,即:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面。 LFU,即:最不经常使用淘汰算法(Least Frequently Used...

2020-04-21 00:48:06 128 0

原创 object mapping for [A] tried to parse field [A] as object, but found aconcrete value

object mapping for [A] tried to parse field [A] as object, but found aconcrete value 原因:1)字段A为nested字段,给的值为字符串形式 解决办法:1)新建一个JSONObject封装字符串/ 如果是Li...

2020-04-20 23:54:48 604 0

原创 LeetCode刷题之BFS和DFS

LeetCode刷题之BFS和DFS 广度优先搜索(BFS) 主要用于树的层序遍历或图的最短路径寻找,主要使用队列queue来完成。 ①树的层序遍历:使用队列保存未被检测的结点,结点按照宽度优先的次序被访问和进出队。 ②有向无环图的最短路径查找:由于有向无环图的某个节点的next节点可能会与另...

2020-04-19 11:59:04 96 0

原创 从源码角度理解Java设计模式——门面模式

从源码角度理解Java设计模式——门面模式 一、门面模式介绍 门面模式定义:也叫外观模式,定义了一个访问子系统的接口,除了这个接口以外,不允许其他访问子系统的行为发生。 适用场景:子系统很复杂时,增加一个接口供外部访问。 优点:简化层级间的调用,减少依赖,防止风险。 缺点:如果设计不当,...

2020-04-18 16:42:40 67 0

原创 spotbugs官方文档的bug描述概述

spotbugs官方文档的bug描述概述 spotbugs已经取代和继承了曾今的findbugs,已经按个人理解对bug的类别进行排序,重要的在前,不重要的在后。bug描述里的废话被我删了。 文档参考:http://spotbugs.readthedocs.io/en/latest/bugD...

2020-04-18 07:36:56 145 0

原创 mysql 之 json 数据类型的使用及高效检索(配合虚拟列 virtual generated column)

mysql 5.7+ 版本开始支持 json 数据类型,可以方便的存储JSON格式的数据,同时配合虚拟列 (virtual generated column),可以方便的为 json 列数据的某属性映射虚拟列,建立索引,高效检索。 构造json数据 方法:json_array() / json...

2020-04-14 18:08:50 59 0

原创 【拓展篇】Elasticsearch 6.0 一个索引只允许有一个type

【拓展篇】Elasticsearch 6.0 一个索引只允许有一个type 一,单index,单type 未来发布的elasticsearch 6.0.0版本为保持兼容,仍然会支持单index,多type结构,但是作者已不推荐这么设置。在elasticsearch 7.0.0版本必须使用单ind...

2020-04-14 11:31:54 225 0

原创 利用堆实现排序和解决topk问题之Java实现

利用堆实现排序和解决topk问题之Java实现 如下图,将一个数组转化堆,有如下性质 所有父节点的值小于或等于两个子节点的值(最小堆) 如果有左子树,那么左子树的位置是2i+1,如果有右子树,右子树的位置是2i+2 只有数组下标小于或等于 【数组长度 / 2 - 1...

2020-04-13 09:07:07 46 0

原创 八大排序-堆排序(手写堆排序)[java版]

八大排序-堆排序(手写堆排序) 原理 以最大堆为例,利用最大堆结构的特点:每个最大堆的根节点必然是数组中最大的元素,构建一次最大堆即可获取数组中最大的元素。剔除最大元素后,反复构建余下数字为最大堆获取根元素最终保证数组有序。 以上都是废话,建议直接看图 最大堆定义 最大堆图示 ...

2020-04-12 21:24:36 55 0

原创 每日算法(四十五)-java找出topK的值

每日算法(四十五)-java找出topK的值 这里用的方法的堆排序的思想(如果堆排序不是很清楚可以看之前的排序算法里的堆排序),构造容量位K的小顶堆,即数组前K个元素构造出的堆,堆积为最小值,之后将堆顶分别于剩下的所有元素依次进行比较,比堆顶大则交换,再进行调整,代码如下 public clas...

2020-04-12 11:24:12 48 0

原创 LeetCode 题解之 215. Kth Largest Element in an Array

215. Kth Largest Element in an Array 题目描述和难度 题目描述: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输...

2020-04-09 10:12:26 31 0

原创 Min Cost to Connect Ropes

Min Cost to Connect Ropes 一 题目 Givennropes of different lengths, we need to connect these ropes into one rope. We can connect only 2 ropes at a time...

2020-04-08 22:51:57 72 0

原创 Top-K问题

Top-K问题 面试中,TopK,是问得比较多的几个问题之一,到底有几种方法,这些方案里蕴含的优化思路究竟是怎么样的,今天和大家聊一聊。 画外音:除非校招,我在面试过程中从不问TopK这个问题,默认大家都知道。 问题描述: 从arr[1, n]这n个数中,找出最大的k个数,这就是经典的...

2020-04-08 22:49:44 38 0

原创 分布式锁

分布式锁的几种使用方式(redis、zookeeper、数据库) 原创南北雪树 最后发布于2018-01-08 19:57:10 阅读数 22476 收藏 展开 Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费 synchronized lock db lock...

2020-04-06 08:33:52 58 0

原创 Intellij IDEA视频(使用技巧)

最大化工作区 各种关闭,如下方商品所示 进入免打扰模式:Distraction Free Mode 00:00/01:53 https://twitter.com/intellijidea/status/1224701722901217280 Switch betwee...

2020-04-02 10:02:48 136 0

原创 SpringBoot 2.2.1 groovyMarkupConfigurer exception

Your error is related to Java module system: java.lang.reflect.InaccessibleObjectException: Unable to make jdk.internal.loader.ClassLoaders$AppClas...

2020-04-01 19:37:56 130 0

原创 ElasticSearch各种查询关键字的区别(重要) 

ElasticSearch各种查询关键字的区别(重要) query 和 filter 的区别请看:http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤 term主要用于精确匹配哪些值,比如数字,日期,布尔值...

2020-03-28 21:29:39 332 0

原创 Mysql redo、undo、bin、relay log 区别

Mysql redo、undo、bin、relay log 区别 redo log 和 undo log undo log: 为了实现事务原子性,要么全部完成commit,要么全部回滚rollback,Innodb用于实现mvcc(多版本并发控制) 例如:将user=’A’ 改为 user=...

2020-03-19 20:32:24 113 0

原创 SpringBoot单元测试利器:Mockito

SpringBoot单元测试利器:Mockito Mockito 是一种 Java Mock 框架,主要是用来做 Mock 测试,它可以模拟任何 Spring 管理的 Bean、模拟方法的返回值、模拟抛出异常等等,在了解 Mockito 的具体用法之前,得先了解什么是 Mock 测试。 1. ...

2020-03-17 09:26:31 169 0

原创 mysql:insert ignore、insert和replace区别 

mysql:insert ignore、insert和replace区别 insert 报错 插入 insert into names(name, age) values(“小明”, 23); insert ignore 忽略 插入 insert ignore into names(name,...

2020-03-16 13:11:40 54 0

原创 Redis的五种对象类型及其底层实现

Redis的五种对象类型及其底层实现 Redis对象类型简介 Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码: redis>SET message "hello redis" 其中的key是me...

2020-03-16 09:41:46 95 0

原创 关于MySQL锁机制知识普及

MySQL锁机制知识普及 目录 前言 一、什么是锁 二、锁的类型 2.1 锁粒度 2.2 意向锁 2.3 锁的兼容性 2.4 行锁的算法 2.5 自增锁 三、加锁分析 3.1 MVCC:快照读和当前读 3.2 两阶段锁 3.3 隔离级别 3.4 加锁分析 3.4.1 ...

2020-03-13 16:32:32 50 0

原创 application.yml(yaml)使用@符合问题:'@' that cannot start any token. (Do not use @ for indentation)

application使用@符合问题:'@' that cannot start any token. (Do not use @ for indentation) 在application配置文件中使用@出现异常: Exception in thread "m...

2020-03-10 20:30:31 238 0

原创 简单工厂、工厂方法、抽象工厂区别与联系

简单工厂、工厂方法、抽象工厂区别与联系 工厂模式按照对类的抽象程度可以划分为如下三种类型 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 简单工厂: 定义:是由一个工厂对象决定创建出哪一种产品...

2020-03-08 17:40:28 57 0

原创 main线程终止,其他线程还会运行吗?

main线程终止,其他线程还会运行吗? 01 理论分析 当你启动一个Java Application的时候,这个时候系统创建一个进程,分配各项资源,然后这个进程启动了Main线程. 我们一般把Main线程说成主线程,因为其他线程一般是由main线程启动的.但其实,在进程层面看起来,main其...

2020-03-06 13:59:10 328 1

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