自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数组和链表

插入排序动态获得中位数 public static int[] getMiddle(int[] A, int n) { // write code here int[]res=new int[A.length]; res[0]=A[0]; //插入排序, 每次取i/2的数 for (int i = 1; i...

2020-04-20 10:19:32 274

原创 数据结构基本实现

数组链表栈队列树图/** * 深度优先搜索(递归) */ private boolean checkDFS(UndirectedGraphNode a, UndirectedGraphNode b) { if (a == null || b == null) { return false; ...

2020-03-31 09:00:54 217

原创 动态规划&回溯各种变形题

叠罗汉叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上。为了使叠成的罗汉更稳固,我们应该让上面的人比下面的人更轻一点。现在一个马戏团要表演这个节目,为了视觉效果,我们还要求下面的人的身高比上面的人高。请编写一个算法,计算最多能叠多少人,注意这里所有演员都同时出现。给定一个二维int的数组actors,每个元素有两个值,分别代表一个演员的身高和体重。同时给定演员总数n,请返回最多能........................

2019-12-15 20:36:55 686

原创 二叉树经典题

https://blog.csdn.net/qq_37859539/article/details/81462171

2019-11-10 14:30:56 745

原创 《分布式系统原理介绍》要点简记

数据备份机制问题: 机器宕机导致数据丢失问题解决:无状态节点则无需读取读取任何信息就可以立刻重新“可用”有状态节点可以 通过读取本地存储设备中的信息或通过读取其他节点数据的方式恢复内存信息有状态是指是否是保存数据的节点序列号机制问题: 消息乱序解决: 给消息排号,按照版本号进行消费校验码机制问题:数据错误 消息被抓包篡改解决: 使用一定的校验码机...

2019-08-26 08:58:26 301

原创 五大基本算法之 基础算法实现

大致套路求总共多少 - 用分治法求最大 - 用动态规划求是否存在 - 用二分(先排序)数组和字符串 - 大部分可以用双指针法哈希可以降低时间复杂度对数字的操作就是 n % 10 n/10数字判断回文,反转后和原来相等二分查找public int binarySearch(int[] a, int l,int r, int k){ while(l &l...

2019-08-01 09:13:11 556

原创 日常工作经验

日常工作经验

2023-02-21 10:37:50 139

原创 MAC 下载基础命令

MAC 下载基础命令

2023-02-17 10:39:20 1532

原创 深入理解Java虚拟机

深入理解Java虚拟机

2022-10-14 11:25:49 459

原创 GRPC整体学习

grpc整体学习

2022-08-08 16:02:51 349

原创 区块链BitCoinJ框架源码学习

区块链BitCoinJ框架源码学习

2022-07-24 19:36:57 4185

原创 区块链之预言机技术

区块链之预言机技术

2022-07-21 14:34:35 240

原创 区块链中基础数据结构

区块链中基础数据结构

2022-07-19 13:34:56 2899

原创 区块链常见问题

区块链常见问题

2022-07-19 11:46:25 1596

原创 探秘区块链之全局介绍

探秘区块链之全局介绍

2022-07-15 11:58:31 207

原创 redis和zk实现分布式锁的优缺点

redis和zk实现分布式锁的优缺点

2022-07-07 16:28:07 2036

原创 Java线程池

Java线程池参数设置

2022-07-06 18:37:47 211

原创 Mysql 索引FileSort

filesort

2022-07-05 17:36:19 432

原创 SQL优化

sql优化总结

2022-07-05 17:16:22 93

原创 SOA和微服务举例介绍

SOA和微服务举例介绍

2022-07-05 16:16:01 326 2

原创 SpringMVC详细执行流程

SpringMVC详细执行流程

2022-07-05 12:16:58 248

原创 Mybatis 设计

public static SqlSessionManager newInstance(Reader reader, String environment) { //加载配置 构建对象 return new SqlSessionManager(new SqlSessionFactoryBuilder().build(reader, environment, null)); ...

2022-07-05 12:02:53 125

原创 G1(垃圾first)回收器

G1垃圾回收器

2022-07-02 13:36:41 128

原创 图存储-GeaBase

解决问题主要解决复杂关系网络数据存储,支持高并发,低延迟,高可用的读写能力架构详细架构存储格式vertisces: 顶点edges: 边in-edge: 入边 out-edge:出边 数据冗余,为了增加性能micro shards:micro-sharding性能评测 | MongoDB中文社区一台机器有多大shard底层结构全量更新主要通过文件存储系统+MapReduce,提高效率。批量更新业务基于odps...

2022-05-11 11:52:42 388

原创 Hive 特殊SQL

explode()列转行 SELECT stu_name, ecourse, escorefrom student_score_2lateral view posexplode(split(course, ',')) cr as a, ecourselateral view posexplode(split(score, ',')) sc as b, escorewhere a=b;结果-- 结果为:-- 张三 语文 98-- 张三 数学

2021-05-17 14:44:15 105

原创 Java线程池

线程池任务处理机制线程池的运行机制是 先创建core线程 大于core会把任务放在等待队列 等待队列满了 会创建新线程 大于max线程数会触发拒绝常用的等待队列ArrayBlockingQueueFIFO、数组实现有界阻塞队列,一旦指定了队列的长度,则队列的大小不能被改变LinkedBlockingQueueFIFO、Node链表结构可以通过构造方法设置capacity来使得阻塞队列是有界的,也可以不设置,则为无界队列PriorityBlockingQueue无...

2021-04-13 15:13:31 105

原创 常用中间件理解

Dubbo是一个RPC调用的解决方案,我们在最开始的时候都是在一个系统中调用服务,没有远程调用,随着业务的复杂度提升,需要多系统之间进行服务调用,因此在服务的提供方和调用方之间就需要约定一个协议,进行通信,Dubbo就是这样的一个协议,他的整体架构是一个三角形,有服务提供者,注册中心,服务调用者,首先服务提供者向注册中心注册服务,然后服务调用者从注册中心获得服务提供列表,并缓存到本地,然后服务调用者直接调用服务提供者,同时Dubbo还有一个监控模块,负责监控整个服务调用的情况,比如耗时,服务调用次数等

2021-04-13 15:04:46 141

原创 msgbroker

消息中间件架构图保证高可靠 recover 可以防止dispatcher线程池不够用或者内存不够时 高实时

2020-09-25 10:56:39 937

原创 统计学研究系列之鸟瞰

why之前是从工程中获得红利,现在需要从数据中获得红利what统计学是一套有关数据收集,数据处理,数据分析的方法论how数据收集 简单抽样 完全随机 分类抽样 先分类,每类中抽样,保证样本分布均匀 系统抽样 按照等比例抽样 数据处理 数据分析...

2020-09-21 09:58:23 118

原创 2020-09-21

搭建连调环境 学习统计学 学习技术大学课程

2020-09-21 09:45:52 74 1

原创 SOFA 探究

SOFA模块化问题:传统的module只是代码的模块化,最终变成jar 运行在jvm中,这样会导致module的服务可以随意依赖另一个模块,不利于微服务化。解决: 将每个模块中的类使用不同的上下文进行隔离,然后在模块依赖时,提供方进行jvm服务注册,调用方进行jvm服务注入,在运行时,还是在同一个jvm中调用。...

2020-08-19 15:34:25 269

原创 ServiceMesh演进之路

1

2020-08-17 16:32:50 291

原创 SpringCloud全局介绍

Spring Cloud是一系列框架的有序集合,她可以实现服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控。服务注册发现(Eureka) 相当于zookeeper,好处是服务调用方不直接依赖于服务提供方,保证服务高可用 服务降级(Hystrix) 可以保证某个服务提供方的异常不会影响整体系统的稳定。 数据监控(Zuul) Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架 相当于网关 配置中心(Archaius) 配置管理API,包含一系列配置管

2020-07-06 15:44:39 1437

原创 DDD 领域驱动设计

why目前业务规则和数据库层以及其他层交织在一起,很难保证业务规则的实现和业务设计的一致,代码不易维护what主要是把业务规则层抽取到领域层中,解决软件复杂性的问题。howDDD也会分为3层应用层 组装领域层和基础设施层完成对应的用户指令 领域层 保存领域状态(基础字段)和业务规则(对象操作方法) 基础设施层 消息处理 缓存 RPC 数据库操作 应用层@Service@Transactional(rollbackFor = Exceptio

2020-06-16 21:03:14 241

原创 kafka研究系列之事务实现

java代码Properties props = new Properties();props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");props.put("client.id", "ProducerTr

2020-06-09 11:13:32 259

原创 缓存过期清除策略之LRU算法

class LRUCache{ Node head; Node end; int limit; HashMap<String, Node> map = new HashMap<>(); public LRUCache(int limit) { this.limit = limit; } public String get(String key) { Node node = map.ge.

2020-06-06 20:36:46 516

原创 Zookeeper研究系列之二阶段提交到Paoxs协议到ZAB协议的演进

要解决的问题:分布式数据一致性(当客户端发起写入数据请求时,各个节点的数据保持一致)两阶段提交存在的问题:同步阻塞: 协调者发起命令后只能无限等待参与者响应 单点问题:协调者宕机则整个集群不可用 脑裂问题:网络分化后,导致部门节点提交成功,部分节点失败,造成数据不一致Paoxs协议存在问题:活锁问题:假如提案者1因为不能获得过半响应而将自己的编号+1,...

2020-06-05 11:33:23 638

原创 Zookeeper研究系列之经典案例 实现公平的分布式锁

思路抢锁,抢到了执行业务方法,没抢到监听前一个用户节点代码pom <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>2.12.0</version> </dependency>public class User

2020-06-04 18:36:57 232

原创 Kafka研究系列之时间轮TimerWheel

what 电商中经常会有些延时操作的业务,比如30分钟未支付则取消订单,kafka中消息到达broker后,写入延时队列,如果在超时时间内ISR列表节点没有全部同步消息,则返回客户端超时异常,因此时间轮的本质就是一个延时队列。why java中自带的延时队列DeleyQueue,底层使用优先队列PriorityQueue实现,本质是一个小顶堆,在入队时需要和父节点不断比较,如果比父节点大,则插入,如果比父节点小,则交换当前位置和父节点的位置,循环比较,直到比父节点大为止。因...

2020-06-02 15:40:32 690

原创 每日收获(4月7日- 4月10日)

4月7日计算逆序对import java.util.*;public class AntiOrder { public int count(int[] A, int n) { // write code here if (A == null || n == 0) return 0; return mergeSortRecursio...

2020-04-07 09:44:05 99

空空如也

空空如也

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

TA关注的人

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