自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM类加载机制

类加载:mapping 一个类或者接口的名称 to class object,具体包括加载,链接,初始化过程。JAVA APIs 例如 Class.forName(),classLoader.loadClass() ,放射APIs以及JNI_FindClass可以开始类加载。VM本身可以开始类加载,在jvm启动的时候会加载一些核心类如java.lang.Object,java.lang.Thread,etc,加载一个类需要加载所有的父类或者父接口。在链接阶段,classfile验证,可能需要加载附加的类。

2020-08-28 07:48:13 88

原创 Kubeadm一健部署准备

kubeadm(不适合生产环境,可用kops):#创建一个master节点kubeadm init#将一个node节点加入到当前集群中kubeadm join <master节点的ip和端口>为什么不用容器部署 Kubernetes 呢?1.如何容器化kubelet,kubelet除了和容器运行时打交道,还要和宿主机打交道 如CNI CSI.kubeadmin使用的方式是:kubelet直接运行在宿主机上,然后使用容器部署其他的kubernetes组件.所以第一步是在机器上面

2020-08-21 22:47:29 156

原创 Kubernetes 初步理解

容器:实际上是一个由Linux Namespace,Linux Cgroups 和rootfs三种技术构建出来的进程的隔离环境。一个正在运行的linux容器:1.一组联合挂载在/var/lib/docker/aufs/mnt上的rootfs,这一部分我们成为“容器镜像”2.一个由namespace+cgroups构成的隔离环境,这个部分我们称为容器运行时。kubernetes项目架构:1.由Master 和Node节点组成。2.Master组成:kube-apiserver:负责api服务

2020-08-21 22:14:48 116

原创 图的表示

图的表示:方式1:方式2:方式3:方式4:

2020-08-19 11:07:34 117

原创 基于Redis的分布式锁

用redis实现分布式锁:分布式锁在多个进程互斥的操作共享资源的时候非常有用。很多库和博客都描述了如何使用redis实现分布式锁管理,但是每个库用的方式都不一样,很多简单实现方式没有很好保证。这篇试图提供一个权威的算法-Redlock,使用redis实现分布式锁。分布式锁最少的三个保证:1. 安全性:互斥,一个时间,只能有一个客户端持有锁。2. 活跃性A:死锁,最终总是能获取到锁。3. 活跃性B: 容错,只要大部分redis节点起来了,客户端就能够获取和释放锁。为什么基于故障转移的实现不够:

2020-08-02 21:15:57 105

原创 Redis数据类型简介

redis实际上是一个数据结构服务器,支持不同类型的值。传统的key-value存储中,String类型key关联String类型值;在redis中value的类型不局限于简单的String类型,还可以是一些复杂的数据结构,下面是redis支持的数据结构:Binary-safe stringsLists:String类型元素的集合,按照插入顺序排序,基本上是链表Sets: 唯一的,无序的String类型元素的集合Sorted sets: 和 sets类似,但是每个元素关联一个浮点类型的分数。元素通

2020-08-01 18:06:24 80

原创 堆排序

问题:给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= nums.length <= 50000-50000 <= nums[i] <= 50000来源:力扣(LeetCode)方法:class Solution { public int[] sortArray(in

2020-07-26 11:24:15 53

原创 Heap and Heap Sort

what is heap1.An Array visualized as a nearly complete binary tree2.Heap as a Treeroot of tree: first element (i=1)parent(i) = i/2left(i) = 2i ; right(i) = 2i+13.Max-Heap (Min-Heap)the key of a node is >= the keys of its childrenheap opera

2020-07-19 21:10:35 151

原创 Mit Algorithm Merge Sort

问题给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= nums.length <= 50000-50000 <= nums[i] <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-an-arraymerge

2020-07-16 23:23:22 67

原创 Mit Algorithm Merge Operation

题目给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6]来源:力扣(LeetCode

2020-07-16 00:38:28 74

原创 Mit Algorithm Peak Problem

问题:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入: nums = [1,2,1,3,5,6,4]输出: 1 或 5解释: 你的函数可以返回索

2020-07-15 23:59:34 205

原创 ElasticSearch Query DSL Query and filter

Query DSL: Query and filter关联分数Query contextFilter context合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入关联分数关联分数用来衡量文档和查询条件的匹配度。默认情况下,es通过关联分

2020-07-15 23:43:46 100

空空如也

空空如也

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

TA关注的人

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