- 博客(278)
- 资源 (49)
- 收藏
- 关注
原创 ZK宕机重启数据恢复
ZK 的开发者给 ZK 设计了两种磁盘文件,对应的路径分别是 zoo.cfg 配置中的 dataDir 和 dataLogDir 这两项目录的配置。dataDir 对应 snapshot,dataLogDir 对应 增量事务日志现在 ZK 服务端启动后,会先从 snapshot 的目录中找到 zxid 最大的那个文件恢复数据,这里最大zxid 建设 100恢复完后就会去 log 文件目录下寻找所有比 100 要大的 log 文件以及比 100 要略小一点的 log 文件,建设是 log.90 和 l
2022-03-27 23:10:08
2001
原创 GC回收器选择
使用JDK 8,如果堆内存小于6GB,选择CMS垃圾收集器;如果堆内存为6GB及以上,果断选择G1垃圾收集器;如果CPU不够强,例如不到4核,可以选择UseParallel垃圾收集器。
2022-02-20 13:08:00
574
原创 Linux内存公式
物理内存总数:Mem_total = Mem_used+Mem_free实际使用的物理内存数:-buffers/cache = used-buffers-cache实际可用的物理内存数:+buffers/cache = free+buffers+cache交换分区对应的内存总数:Swap_total = swap_used+swap_free...
2022-02-12 23:29:39
1502
原创 IDEA编译的偶现坑
idea编译问题,一般都是修改 complie 到对应的maven版本1、File -> Project Structure -> Modules 选中对应module,修改 Language Level2、File -> Settings -> Build,Execution,Deployment -> Compiler -> Java Compiler 修改对应java版本但是如果还是出现maven导入类不行或者编译不行,那就只能 invalid cach
2021-08-06 15:03:11
1284
原创 Mybatis Plus动态表名及动态参数(binlog同步等可用)
@Datapublic class SyncData implements Serializable { private String tableName; private List<SyncDataColumn> columns; //当前暂时不支持多个,后续可以考虑多个group by查询情况 private Pair<String, String> group; @Data @AllArgsConstructor .
2021-08-03 22:07:32
1804
原创 IDEA SSH通道配置
File -> Setttings -> Tools -> SSH ConfigurationsHost:填写跳板机ip/域名Port:跳板机端口User name: 登录跳板机账户名Private key file:ssh 秘钥Passphrase:秘钥对应的密码值
2021-07-16 10:41:29
1846
原创 leetcode842.将数组拆分成斐波那契序列
题目给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型); F.length >= 3; 对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。 另外,请注意,将字符串拆分成小块时,每个
2020-10-22 02:27:49
337
原创 leetcode48.旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,...
2020-10-18 03:25:22
272
4
翻译 架构简介
翻译自:https://tianpan.co/notes/145-introduction-to-architecture体系结构是软件系统的形状。将其视为实体建筑物的全景。范例是砖头。 设计原则是房间。 组件是建筑物。它们一起用于特定目的,例如医院用于治愈患者,而学校则用于教育学生。为什么我们需要架构?行为与结构每个软件系统为利益相关者提供两种不同的价值:行为和结构。软件开发人员有责任确保这两个价值都很高。凭借其工作描述,软件架构师将更多的精力放在系统的结构上,...
2020-08-23 10:43:52
271
翻译 可扩展系统构架介绍
翻译自:https://lethain.com/introduction-to-architecting-systems-for-scale/很少有计算机科学或软件开发程序试图教授可扩展系统的构建块。取而代之的是,系统架构通常是通过解决不断增长的产品的痛苦或与已经从该痛苦过程中学到的工程师一起完成的。在这篇文章中,我将尝试记录一些在Yahoo!上使用系统时所学到的可伸缩性架构课程。和Digg。我试图维护图表的颜色约定:绿色是来自外部客户端的外部请求(来自浏览器的HTTP请求等),...
2020-08-21 01:40:23
507
2
翻译 谈谈可扩展性
翻译自:https://www.allthingsdistributed.com/2006/03/a_word_on_scalability.html(沃纳·博赫尔斯CTO - Amazon.com)可伸缩性经常被用作魔术咒语,以表明某些东西设计不当或损坏。在讨论中,您经常会听到“但是规模不大”作为结束争论的神奇词汇。这通常表明开发人员正在遇到系统体系结构限制其增长服务能力的情况。如果以积极的意义使用可伸缩性,则通常会指出所需的属性,例如“我们的平台需要良好的可伸缩性”。我们对可伸缩性...
2020-08-19 22:22:21
903
原创 leetcode1229. 安排会议日程
问题描述你是一名行政助理,手里有两位客户的空闲时间表:slots1 和 slots2,以及会议的预计持续时间 duration,请你为他们安排合适的会议时间。「会议时间」是两位客户都有空参加,并且持续时间能够满足预计时间 duration 的 最早的时间间隔。如果没有满足要求的会议时间,就请返回一个 空数组。「空闲时间」的格式是 [start, end],由开始时间 start 和结束时间 end 组成,表示从 start 开始,到 end 结束。题目保证数据有效:同一个人的空闲时间不会
2020-07-19 15:12:16
354
原创 leetcode729.我的日程安排表1
问题描述实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内没有其他安排,则可以存储这个新的日程安排。MyCalendar 有一个 book(int start, int end)方法。它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end。当两个日程安排有一些时间上的交叉时(例如两个日程安排都在同一时间内),就会产生重复预订。每次调用 My
2020-07-19 15:11:58
448
原创 剑指Offer 31.栈的压入、弹出序列
问题描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。public static boolean isStackArray(int[] nums1, int[] nums2) { if (nums1.length != nums2.length) { .
2020-07-19 15:11:49
254
原创 ES进阶系列 — 1 JVM内存分配
ES高级系列 — 1 节点JVM内存分配ES高级系列 — 2 如果确定主节点数量和备份数ES高级系列 — 3 线上慢查询排查ES高级系列 — 4 平稳升级级快照恢复=============待续=============
2020-05-31 21:23:37
963
原创 ES入门系列 — 6 文档相关性及排序
1、文档相关性2、score3、排序4、doc values及fielddata=============待更新,待完善============
2020-05-31 21:06:49
707
原创 ES入门系列 — 5 查询语法
1、Query String查询# 查询在 tweet 类型中 tweet 字段包含 elasticsearch 单词的所有文档GET /_all/tweet/_search?q=tweet:elasticsearch# 上面等同于GET /_all/tweet/_search?q=+name:john +tweet:mary# 下面语句搜索返回包含 mary 的所有文档。对 _all 字段进行查找,除非设置特定字段,否则查询字符串就使# # 用 _all 字段进行搜索GET GET ...
2020-05-31 21:04:17
1408
翻译 将BDD 与DDD 实践相结合
翻译自:Behaviour-Driven Development Combined with Domain-Driven Design行为驱动开发(behavior Driven Development,BDD)在很大程度上是关于对话和示例的,但BDD的另一部分,即软件设计部分,Konstantin Kudryashov在研究如何将BDD与领域驱动设计(Domain Driven desi...
2020-05-06 02:32:54
631
原创 领域驱动设计核心理念
核心理念(个人总结)1、建立通用语言,确保团队内部沟通无歧义2、关注核心领域/领域层,将人力成本尽可能投入核心领域设计及实现3、从业务、系统到代码的边界化4、分层。解耦层级之间的关系,高内聚低耦合,提高系统应变化能力...
2020-05-06 01:33:28
926
原创 ES入门系列 — 3 走进elasticsearch
简单写一个ES系列,希望对NewSql、检索有兴趣的同学可以快速入手,争取在7月份完成该系列文章ES入门系列ES入门系列 —1 windows系统安装Elasticsearch ES入门系列 — 2 Elasticsearch介绍 ES入门系列 — 4 索引如果你是第一次使用elasticsearch,那么建议你先快速阅读以下上篇文章ES入门系列 — 2 Elastic...
2020-04-26 14:57:42
734
原创 ES入门系列 — 4 索引及分析器
简单写一个ES系列,希望对NewSql、检索有兴趣的同学可以快速入手,争取在7月份完成该系列文章ES入门系列ES入门系列 —1 windows系统安装Elasticsearch ES入门系列 — 2 Elasticsearch介绍这一节介绍索引,作为一个搜索引擎,索引是搜索的核心元素,之所以搜索引擎这么快速,问题的关键也就是索引是否高效的问题,这里涉及到索引的IO,已经索引...
2020-04-26 14:53:43
605
原创 ES入门系列 — 2 Elasticsearch介绍
简单写一个ES系列,希望对NewSql、检索有兴趣的同学可以快速入手,争取在7月份完成该系列文章ES入门系列ES入门系列 —1 windows系统安装Elasticsearch搜索已经无时无刻在互联网存在,很典型的就是Google、百度之类的综合搜索,几乎作为每个普通网民还是IT从事人员,几乎每天都在和综合搜索打交道,通过搜索你可以触及你想要的信息,这是一种可以是...
2020-04-25 19:57:34
862
原创 ES入门系列 — 1 windows系统安装Elasticsearch
简单写一个ES系列,希望对NewSql、检索有兴趣的同学可以快速入手,争取在2个月完成该系列完整ES入门系列1、安装Java这个网上很多帖子,
2020-04-23 20:38:08
2379
5
原创 领域驱动设计之模型设计
概念完整性Brooks在他的经典巨著《人月神话》里面提到了概念完整性,并将软件维护软件的 “概念完整性” 作为软件开发的核心问题。软件工程之所以复杂、难以维护,根本原因在于软件迭代过程中概念完整性遭到了破坏。软件开发者不理解原先开发者的设计理念,对软件领域模型不足够了解,团队内部缺乏沟通和可维护性文档,甚至开发团队从来就没有意识到维护软件概念完整性的重要性。这群开发者从一定程度上讲,他们不算是...
2020-04-06 11:46:16
504
原创 Maven依赖范围及optional
时间久了,容易混淆,简单记录optional(可选的)依赖关系projectA -----> projectB-----> projectC -----> project D上面projectA 依赖 projectB,projectB 依赖projectC、projectD...
2020-03-27 10:25:08
408
原创 消息中间件技术选型
一、RabbitMq协议:AMQP序列化:byte、json实现语言:Elang1、特点(1)RabbitMQ 一个比较有特色的功能是支持非常灵活的路由配置,和其他消息队列不同的是,它在生产者(Producer)和队列(Queue)之间增加了一个 Exchange 模块,你可以理解为交换机。路由的规则也非常灵活,甚至你可以自己来实现路由规则(2)RabbitMQ 的客户端支...
2020-03-15 21:32:53
674
原创 领域驱动设计(DDD)之领域专家
个人观点及总结领域专家不一定是专家,不一定是技术人员,可以由产品,商务、运营、业务经理等角色组成领域专家应该包括三种角色:1、如果是现有系统,应该是对业务足够熟悉,了解业务系统设计的详细的需求背景及以往历程;2、了解业务后续发展规划,对行业发展现状及未来有足够洞察力,全局观认识业务形态,并能很好兑现产品的商业价值和品牌价值。3、熟悉领域建模,具备划分业务逻辑边界,抽象领域模型,并落地工程能...
2020-03-07 21:39:30
1823
原创 领域驱动设计(DDD)之分层架构
由于由近几年微服务架构兴起,领域驱动设计也被大多领域专家重新看待。但是其实这其实本来是不想关的两个东西,领域驱动设计更加强调的是一个架构设计理念,所谓理念的东西,就像是建议你怎么做,但不会对,而微服务着重在架构设计由于DDD设计的理念偏广,DDD名词概念,DDD与微服务落地,DDD事件风暴及领域建模,DDD大中台实践,DDD与领域模型一致性等等话题,笔者这里就DDD分层架构展开编写,当然...
2020-03-01 21:24:33
3680
原创 DDD领域、子域、核心域、通用域、支撑域
DDD 的领域就是这个边界内要解决的业务问题域。既然领域是用来限定业务边界和范围的,那么就会有大小之分,领域越大,业务范围就越大,反之则相反。领域可以进一步划分为子领域。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。在领域不断划分的过程中,领域会细分为不同的子域,子域可以根据自身重要性和功能属性划分为三类子域,它们分别是:核心域、通用域和支撑域。...
2020-02-09 15:04:21
5877
转载 LSM-tree 基本原理及应用
LSM-tree 在 NoSQL 系统里非常常见,基本已经成为必选方案了。今天介绍一下 LSM-tree 的主要思想,再举一个 LevelDB 的例子。正文 3056 字,预计阅读时间 8 分钟。LSM-tree起源于 1996 年的一篇论文《The Log-Structured Merge-Tree (LSM-Tree)》,这篇论文 32 页,我一直没读,对 LSM 的学习...
2020-01-07 19:38:55
775
原创 2019数据库排名
本文摘自 一下链接,只是备份了解使用https://www.oschina.net/news/112560/mysql-is-the-dbms-of-the-year-2019全球知名的数据库流行度排行榜网站 DB-Engines宣布,在过去的一年里,MySQL 在DB-Engines 排名中比其他 350 个受监测数据库管理系统的任何一个更受欢迎。因此,MySQL 为 2019 ...
2020-01-07 15:46:49
2464
原创 Maven只deploy某个pom
Maven只单独部署某个pom,比如只deploy父pom,不deploy子模块实例如果原来工程maven结构pgroup:partifact:1.0.0-RELEASE pgroup:module1:1.0.0-RELEASE pgroup:module2:1.0.0-RELEASE pgroup:module3:1.0.0-RELEASE升级module3...
2019-12-17 14:40:11
11032
13
原创 Wox插件之程序员不安装会死系列
Wox 安装在操作系统上,可快速启动、计算、查找程序、文件等,同时也提供了一系列插件,使用起来非常的方便。默认启动 Wox 快捷键 Alt + Space,当然你也可以自己设置自己喜欢的快捷键Wox下载地址:http://www.wox.one/不安装会死系列插件介绍插件地址:http://www.wox.one/plugin1、Everything文件、文件夹检索插件。Wox安装之后...
2019-12-14 17:17:33
7179
8
javax.servlet-3.01.jar包括源码
2013-04-07
程序化广告:个性化精准投放实用手册-高清文字版
2019-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人