自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (42)
  • 收藏
  • 关注

原创 需求获取七种方法

1、观察法2、体验法3、问卷调查法4、访谈法5、单据分析法6、报表分析法7、需求调研会法。

2024-03-29 10:27:35 12

原创 马上消费面试

问自己解决的最有挑战的问题。奇怪的是几场面试下来都在问这个问题。怎样保证kafka消息不丢失 应该问的是ack。直接和我说加班强度挺大的,但是不是每天加班。

2024-03-19 23:17:11 101

原创 成都卫士通线下面试

1、怎样实现10亿数据的计算。女副总问了一句高级工程师和中级工程师的区别。2、怎么解决微服务之间的依赖。3、接口安全怎么设计?

2024-03-19 23:15:00 94

原创 上海卫翎科技(成都线上面试)

2、mysql组合索引根据explain的什么可以判断执行到就第几级 key_length。3、kafka消费积压怎么排查。答案比较震惊 ,是不是发版导致的。1、es嵌套查询怎么实现 nested。

2024-03-19 23:12:22 108

翻译 Elasticsearch 源码解析与优化实战-选举集群元信息

被选出的 Master 和集群元信息的新旧程度没有关系。因此它的第一个任务是选举元信息,让各节点把各自存储的元信息发过来,根据版本号确定最新的元信息,然后把这个信息广播下去,这样集群的所有节点都有了最新的元信息。集群元信息的选举包括两个级别:集群级和索引级。不包含哪个shard存于哪个节点这种信息。这种信息以节点磁盘存储的为准,需要上报。为什么呢?因为读写流程是不经过Master的,Master 不知道各 shard 副本直接的数据差异。HDFS 也有类似的机制,block 信息依赖于DataNode的

2022-03-29 11:29:19 170

翻译 Elasticsearch 源码解析与优化实战-选举主节点

假设有若干节点正在启动,集群启动的第一件事是从已知的活跃机器列表中选择一个作为主节点,选主之后的流程由主节点触发。ES的选主算法是基于Bully算法的改进,主要思路是对节点ID排序,取ID值最大的节点作为Master,每个节点都运行这个流程。是不是非常简单?选主的目的是确定唯一的主节点,初学者可能认为选举出的主节点应该持有最新的元数据信息,实际上这个问题在实现上被分解为两步:先确定唯一的、大家公认的主节点,再想办法把最新的机器元数据复制到选举出的主节点上。基于节点ID排序的简单选举算法有三个附加约定条件:

2022-03-29 11:26:01 422

翻译 Elasticsearch 源码解析与优化实战-分片读写过程中执行关闭

写入过程中关闭:线程在写入数据时,会对Engine加写锁。IndicesService的doStop方法对本节点上全部索引并行执行removeIndex,当执行到Engine的flushAndClose(先flush然后关闭Engine),也会对Engine加写锁。由于写入操作已经加了写锁,此时写锁会等待,直到写入执行完毕。因此数据写入过程不会被中断。但是由于网络模块被关闭,客户端的连接会被断开。客户端应当作为失败处理,虽然ES服务端的写流程还在继续。读取过程中关闭:线程在读取数据时,会对Engin

2022-03-29 11:13:03 177

原创 amend和rebase

如果已经在本地进行了多次提交,可以使用git rebase -i命令对这些小的提交进行合并。如果想将本次要执行的提交和上一次的提交进行合并,则可以使用git commit --amend命令。

2021-08-18 08:18:57 162

原创 Elasticsearch的全文搜索

到目前为止搜索都很简单:搜索特定的名字,通过年龄筛选。让我们尝试一种更高级的搜索,全文搜索——一种传统数据库 很难实现的功能。 我们将会搜索所有喜欢“rock climbing”的员工:GET / megacorp / employee / _search {“query”: {“match”: {“about”: “rock climbing”}}}{ …“hits”: {“total”: 2,“max_score”: 0.16273327,“hits”: [{ …"_score":

2021-08-05 17:25:56 161

原创 Garbage First收集器

在G1收集器出现之前的所有其他收集器,包括CMS在内,垃圾收集的目标范围要么是整个新生代(Minor GC),要么就是整个老年代(Major GC),再要么就是整个Java堆(Full GC)。而G1跳出了这个樊笼,它可以面向堆内存任何部分来组成回收集(Collection Set,一般简称CSet)进行回收,衡量标准不再是它属于哪个分代,而是哪块内存中存放的垃圾数量最多,回收收益最大,这就是G1收集器的Mixed GC模式...

2021-07-28 11:40:25 59

原创 ps+po

在注重吞吐量或者处理器资源较为稀缺的场合,都可以优先考虑Parallel Scavenge加ParallelOld收集器这个组合

2021-07-28 11:13:21 494

原创 右倒车入库

先记住口诀,口诀记不住,你还练什么?1、左后视镜下延左半部分沿左侧黄线行驶2、左侧肩膀与停车控制线处在一条直线上时停车3、挂倒挡,左后视镜下沿接触停车控制线,向右打满方向4、观察右后视镜,看车身与库角的距离,大于30cm时不动,小于30cm时,适当回方向5、观察到右后轮可以入库时,看左边后视镜6、左后方库角从左后视镜中出现,回正方向7、观察左右后视镜,微调方向,使车身平直8、左后视镜下沿与左前方黄线贴合时停车9、挂一挡出库,机盖前边沿接触前方黄线,方向向左打满

2021-07-27 10:42:25 137

原创 如何理解保险业务的限界上下文

保险业务领域有投保单、核保、财务、回访、保全等保险术语,它们分别应用于保险的不同业务流程。客户投保时,业务人员记录投保信息,系统对应有投保单实体对象。缴费完成后,业务人员将投保单转为保单,系统对应有保单实体对象,保单实体与投保单实体关联。如客户需要修改保单信息,保单变为批单,有保全系统对应有批单实体对象,批单实体与保单实体关联。如果客户发生理赔,生成赔案,系统对应有报案实体对象,报案实体对象与保单或者批单实体关联。投保单、保单、批单、赔案等,这些术语虽然都跟保单有关,但不能将保单这个术语作用在保险全

2021-07-10 22:56:25 129

原创 Elasticsearch

反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。搜索引擎原理就是建立反向索引。Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。Elasticsearch 一个典型应用就是 ELK 日志分析系统。...

2021-06-21 10:09:44 51

原创 科目一笔记

机动车驾驶人有下列违法行为之一,一次记12分:驾驶与准驾车型不符的机动车的; 饮酒后驾驶机动车的; 驾驶营运客车(不包括gong)

2021-06-14 17:51:43 129

原创 HashMap和HashTable有什么区别?其底层实现是什么?

区别:HashMap方法没有synchronized修饰,线程非安全,HashTable线程安全; HashMap允许key和V

2021-06-13 13:27:55 459 4

原创 对象在内存中的初始化过程

Student s = new Student()为例1、首先查看类的符号引用,看是否已经在常量池中,在说明已经加载过了,不在的话需要进行加载,验证,准备,解析,初始化过程。2、上述过程执行完毕以后,又将student加载进内存,也就是存储students.class的字段信息和方法信息,储存到方法区字段信息:存储类中声明的每一个字段的信息,包括字段的名、类型、修饰符。方法信息:类中声明的每一个方法的信息,包括方法名、返回值类型、参数类型、修饰符、异常、方法的字节码。3、然后在自己的线程

2021-06-13 13:17:13 116

原创 ArrayList和LinkedList区别

ArrayList:基于动态数组,连续内存存储,适合下标访问(随机访问),扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据haihuishejidao...

2021-06-13 13:13:25 58

原创 List和Set的区别

List:有序,按对象进入的顺序保存对象,可重复,允许多个Null元素对象,可以使用Iterator取出所有元素,在逐一遍历,还可以使用get(int index)获取指定下标的元素Set:wuxu

2021-06-13 12:42:53 89

原创 接口和抽象类的区别

抽象类可以存在普通成员函数,而接口中只能存在public abstract方法。抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。chouxianglei

2021-06-13 12:32:49 79

原创 微服务配置中心对比

2021-06-12 13:07:17 126

原创 有图有真相之NIO Selector

2021-06-11 15:30:29 55

原创 有图有真相之NIO Channel

2021-06-11 15:06:03 39 1

原创 mysql锁升级?

锁升级是指将当前锁的力度降低。举例来说,数据库可以把一个表的1000个行锁升级一个页锁,或者将页锁升级为表锁。如果在数据库中的设计中认为锁是一种稀有资源,而且想避免锁的开销,那shujuku...

2021-06-08 19:22:52 341

原创 马上消费java面试

1、自我介绍2、针对项目问微服务的降级、熔断3、mq怎么防止消息积压。。。

2021-06-08 18:32:26 339

原创 兴业数金笔试干货

兴业有个题库,感觉招应届生的。最后一道编程题力扣原题。Leetcode练习(Python):第66题:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。...

2021-06-08 18:27:16 4260 5

原创 Spring Cloud Zuul

Spring Cloud Zuul的核心是一系列的filters,其作用可以类比Servlet框架的filter,或者AOP。Spring

2021-06-08 18:20:09 32

原创 内核态和用户态

内核态,是系统正运行于操作系统的内核代码内。用户态,系统正运行于用户的应用程序下。总的来说,系统运行在内核态时比运行在用户态时的要求都要严格些,比如,安全,速率,等等。当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运

2021-06-08 15:22:34 363 1

原创 观想科技项目经理pm面试

1、说说需求管理2、说说配置项管理3、说说微服务4、说说数据库更新了,redis怎么更新5、说说mq 实现原理

2021-06-07 13:09:15 122

原创 记限流方法

固定窗口限流算法首先维护一个计数器,将单位时间段当做一个窗口,计数器记录这个窗口接收请求的次数。当次数少于限流阀值,就允许访问,并且计数器+1当次数大于限流阀值,就拒绝访问。当前的时间窗口过去之后,计数器清零。假设单位时间是1秒,限流阀值为3。在单位时间1秒内,每来一个请求,计数器就加1,如果计数器累加的次数超过限流阀值3,后续的请求全部拒绝。等到1s结束后,计数器清0,重新开始计数。/** * 固定窗口时间算法 * @return */boolean fixedWindowsTryAc

2021-06-03 08:31:06 214

原创 nohup

在工作中,我们很经常跑一个很重要的程序,有时候这个程序需要跑好几个小时,甚至需要几天,这个时候如果我们退出终端,或者网络不好连接中断,那么程序就会被中止。而这个情况肯定不是我们想看到的,我们希望即使终端关闭,程序依然可以在跑。这时我们就可以使用 nohup 这个命令。nohup 命令是英语词组 no hangup 的缩写,意思是不挂断,也就是指程序不退出。这个命令会使程序忽略 HUP 信号,保证程序能够正常进行。HUP 信号

2021-05-18 08:18:47 75

原创 synchronized和lock的区别

1、synchroized内置的java关键字,lock是一个java类2、synchroized无法判断获取锁的状态,lock可以判断是否获取到了锁3、synchronized会自动释放锁,lock必须要手动释放锁,如果不释放,死锁4、synchronized线程1获得锁阻塞、线程2等待,傻傻的等;lock锁就不一定会等下去5、synchronized可重入锁,不可以中断的,非公平;lock,可重入锁,可以判断锁,非公平(可以自己设置)6、synchronized适合少量的代码同步问题

2021-05-09 14:56:15 103

原创 微权力下的项目管理

1、爱操心。干一件事之前站在各方面角度都想一想,然后考虑站在整个公司的角度,站在大局的角度,系统性的思考怎么干最好2、目标感要强。为了实现目标我们不择手段首先前提得有目标,所有的东西都是基于目标去分解,所有的活都围绕目标干。3、善于换位思考。这样才能跟所有人沟通好,沟通清楚,把一群人变成一个能够相互沟通协同的组织。这时候因为信息通畅了,大家干活效率才能高。4、应变能力。就是甭管发生什么情况,以不变应万变,能够去适应,能够去变化,不能一根筋,只要为了实现目标,我们什么方式都可以采用,变通性强,灵活

2021-05-09 14:50:19 1054

原创 最大的线程数如何设置

IO密集型判断你程序中十分耗IO得线程cpu密集型几核,就是几,可以保持cpu的效率最高runtime.getruntime().availableprocessors()

2021-05-09 14:38:18 644

原创 让你设计一个mq,你会如何设计

1、实现一个单机的队列数据结构,高效、可扩展2、将单机队列扩展为分布式队列。分布式集群管理3、基于topic定制消息路由策略,发送者路由策略,消费者与队列对应关系,消费者路由策略4、实现高效的网络通信。netty http5、规划日志文件,实现文件高效读写 零拷贝、顺序写,服务重启,快速还原现场。6、定制高级功能,死信队列,延迟队列,事务消息等等...

2021-05-09 14:34:51 349

原创 变更的步骤

提出变更请求项目经理组织完成变更影响分析ccb变更审批变更执行-系统功能变更、技术环境变更、配置项变更功能测试、评审申请人确认培训变更结束

2021-05-09 14:30:32 69

原创 高效会议

会前明确目标、最少人数、提前通知会中确定发言顺序、发言5分钟内、做出会议决议(达成共识-具体执行who/when/what)会后跟踪反馈

2021-05-09 14:22:31 47

原创 JMM8种交互操作

lockunlockreadloaduseassignstorewrite

2021-05-09 14:20:43 198

原创 新希望六和面经

面试一个小时arraylist默认容量 扩容机制redis默认数据类型3点15分 时针和分针的角度hashmaplinkedlist取值stringbuffer和stringbuilderAQShashmap可以有空key和空值么list for和迭代器的区别

2021-05-09 14:18:20 696 2

原创 如何解决ABA问题

使用原子引用AtomicStampedReference

2021-05-09 14:17:40 152

OCR技术简介

OCR技术简介

2015-06-01

SOA体系架构设计

SOA体系架构设计SOA体系架构设计SOA体系架构设计

2015-06-01

jquery_1.4.2_API帮助文档

jquery_1.4.2_API帮助文档

2014-10-13

oracle连接数据库驱动

适用于oracle10g,oracle11g

2014-10-13

SVN1.8Eclipse插件

svn1.8插件 直接放到eclipse的plugins下面 即可

2014-10-13

WinRAR__x64_SC.exe解压缩工具

WinRAR__x64_SC.exe解压缩工具 永久免费

2014-01-23

httpd-2.4.4.tar

httpd-2.4.4.tar

2013-05-29

nginx-1.4.1.tar.gz

nginx-1.4.1.tar.gz 出色的web服务器

2013-05-29

apache-tomcat7 linux

tomcat7 文件解压后在linux上安装

2013-05-29

apache-tomcat 64bit

在64位操作系统上安装 2013年5月5日发布

2013-05-29

apache-tomcat-7 32bit

最新tomcat 2013 5月5日发布

2013-05-29

Wireshark-win64-1.8.7

Wireshark-win64-1.8.7 在64为操作系统上安装

2013-05-29

java笔试面试题

找工作必备工具。没事的时候看一看。添加了题目导航。方便查看

2013-05-28

深入浅出 MFC_简体版

深入浅出 MFC_简体版

2012-12-26

高质量C++编程(林锐)

高质量C++编程(林锐)

2012-12-26

WizportWizport

Wizport Wizport Wizport

2012-12-13

屏幕录像软件及注册机

屏幕录像软件及注册机

2012-12-13

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12中文补丁

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12中文补丁

2012-12-13

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12 还有中文补丁

2012-12-13

SQL语言参考大全(CHM版)

SQL语言参考大全(CHM版)

2012-12-13

wireshark-win32-1.6.2

wireshark-win32-1.6.2

2012-02-26

winscp382setup

winscp382setup

2012-02-26

连接ftp工具

连接ftp工具

2012-02-26

SQLyog-8.7.1破解版附带注册码

SQLyog-8.7.1破解版附带注册码

2012-02-26

ext中文手册

无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。本文将简单地介绍Ext的几个基本概念,和如何快速地做出一个动态的页面并运行起来,假设读者已具备了一些JavaScript经验和初级了解HTML Dom。

2012-02-26

s2sh需要的全部jar包

包含struts2 hibernate spring 三框架整合的全部jar包 直接使用 不是问题

2012-02-26

drbd中文指南

drbd中文文档,重点难点一网打尽

2012-02-26

C语言学习资料ppt

C语言学习资料,重点难点一网打尽,习题讲解

2008-09-25

mybatis-plus根据mysql表快速生成controller service mapper entity xml

mybatis-plus根据mysql表快速生成controller service mapper entity xml

2023-02-17

微服务设计 建模 集成 分解 部署 测试 监控 安全.pdf

微服务设计 建模 集成 分解 部署 测试 监控 安全.pdf

2021-12-07

ES+prometheus-exporter+grafana.rar es监控方案windows版

ES+prometheus-exporter+grafana.rar es监控方案windows版

2021-12-06

根据当前位置经纬度和目标地点经纬度计算距离.txt

根据当前位置经纬度和目标地点经纬度计算距离.txt

2021-12-06

分布式openstack

分布式openstack

2016-09-21

基于地理位置的实时搜索引擎

基于地理位置的实时搜索引擎

2016-09-21

uber高可用消息系统构建

uber高可用消息系统构建

2016-09-21

hadoop、spark和NoSQL实战-part2

nosql spark hadoop 大数据

2016-09-20

hadoop、spark和NoSQL实战-part1

hadoop spark nosql 大数据

2016-09-20

eclipse findbug插件

eclipse findbug插件

2015-12-12

有效切割大数据3

hadoop pig hive hbasehadoop pig hive hbase

2015-05-29

有效切割大数据

hadoophadoophadoophadoophadoophadoophadoophadoop

2015-05-29

空空如也

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

TA关注的人

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