自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis2

zset redis消息 位图 布隆过滤器

2022-11-21 09:12:26 380 1

原创 redis1

redis基础命令

2022-10-10 22:00:40 215

原创 mysql16

mysql总结

2022-08-15 00:43:40 250

原创 mysql15

mysql 锁机制

2022-08-08 00:08:41 165

原创 mysql14

bin log, undo log, mvcc

2022-08-01 00:27:57 280

原创 mysql13

buffer pool、redo日志

2022-07-24 00:57:51 211

原创 mysql12

索引页结构、buffer pool

2022-07-18 00:43:16 240

原创 mysql11

mysql查询重写、连接查询消除、子查询优化及子查询的执行过程、mysql线程追踪

2022-07-11 00:21:15 338

原创 mysql10

mysql成本计算以及Optimizer Trace

2022-07-03 18:52:27 196

原创 mysql9

多表关联,以及mysql成本计算

2022-06-26 12:49:34 351

原创 mysql8

mysql查询优化

2022-06-17 08:55:28 126

原创 excel读取demo

excel读取

2022-06-15 15:26:06 145

原创 mysql7

mysql explain相关内容

2022-06-11 18:49:15 227

原创 抽象工厂模式+反射

import java.util.concurrent.TimeUnit;public interface CacheService { String get(final String key); void set(String key, String value); void set(String key, String value, long timeout, TimeUnit timeUnit); void del(String key);}import org.springfra

2022-05-05 15:00:30 686

原创 类加载工具类

import java.io.File;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.util.Properties;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/**

2022-05-05 14:21:43 185

原创 java通过方法句柄实现getter方法从而对数组动态分组

import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import java.lang.invoke.MethodHandle;import java.lang.invoke.MethodHandles;import java.lang.invoke.MethodType;i

2022-03-17 16:30:00 612

原创 Amazon Connect录音配置

在Amazon Connect中启用通话录音,amazon connect后台会将录音文件上传到s3中。在Default Outbound-出站私密消息中将【设置录音和分析行为】块开启代理和客户的录音

2022-03-01 17:48:25 125

原创 s3桶策略

{“Version”: “2012-10-17”,“Statement”: [{“Sid”: “AccessS3Console”,“Effect”: “Allow”,“Principal”: “",“Action”: "s3:”,“Resource”: “arn:aws:s3:::amazon-connect-3dcab6c89b51/*”}]}

2022-03-01 16:53:14 208

原创 122.股票买卖的最佳时机ii

122.股票买卖的最佳时机iifunc maxProfit(prices []int) (ans int) { for i := 1; i<len(prices); i++ { ans += max(0, prices[i] - prices[i-1]) } return}func max(a,b int) int{ if a>b { return a } else { return b }

2021-11-02 01:52:17 73

原创 763.划分字母区间

763.划分字母区间func partitionLabels(s string) (partition []int) { lastPos := [26]int{} for i,c := range s{ lastPos[c-'a'] = i } start,end := 0,0 for i,c := range s{ if lastPos[c-'a'] > end{ end = lastPos[c-'a'

2021-11-02 01:42:36 93

原创 452.用最少的箭射爆气球

452.用最少的箭射爆气球func findMinArrowShots(points [][]int) int { if len(points) { return 0 } sort.Slice(points, func(i,j int) bool{return points[i][1]<points[j][1]}) maxRes := points[0][1] ans = 1 for _,p := range points{

2021-11-01 01:49:08 54

原创 605.种花问题

605.种花问题class Solution: def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool: l = len(flowerbed) news = [0] * (l+2) ans = 0 for i in range(1,l+1): news[i] = flowerbed[i-1] for i in rang

2021-10-11 00:57:45 44

原创 mysql6

mysql6mysql性能优化总论调优金字塔硬件和os调优硬件用几级的磁盘阵列(从0到10),一般来说用RAID 5当使用多磁盘后,能不能把mysql的数据文件分散到不同的磁盘上能不能用裸设备存放mysql文件裸设备:又叫裸分区,没有经过格式化,无法通过操作系统文件系统读取,而是直接由应用程序读取文件系统用什么?在windows下面用ntfx在linux下面又ext3、ext4比较适合mysql的有xfs操作系统的磁盘调度算法在linux环境下用deadline

2021-09-30 02:08:15 194

原创 mysql5

mysql5深入思考索引在查询中的使用所有搜索条件都可以使用某个索引的情况SELECT * FROM order_exp WHERE order_no > ‘DD00_6S’ AND order_no > ‘DD00_9S’;搜索条件是两个,用and符取交集,所以是能用到索引的SELECT * FROM order_exp WHERE order_no > ‘DD00_6S’ OR order_no > ‘DD00_9S’;搜索条件是两个,用or符取并集,也是可

2021-09-27 02:07:47 399

原创 435.无重叠区间

435.无重叠区间class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: if not intervals: return 0 intervals.sort(key = lambda x:x[1]) n = len(intervals) right = intervals[0]

2021-09-25 01:09:04 45

原创 mysql4

mysql4磁盘和B+树磁盘物理构造柱面半径相同的磁道沿着主轴方向(z轴方向)发射,形成一个空间柱面磁头所有磁头的移动都是一起移动的磁头数量与盘片数量相同扇区把磁道再切割成一段段的弧,这一段弧就是扇区磁盘里最小读取单位,扇区的大小普遍是512字节,有些操作系统则规定为4KB主轴沿z轴方向把盘片串联起来磁道盘片可以划分成很多个同心圆,一个同心圆就是一个磁道盘片怎么定位到数据在磁盘哪个位置读取数据时,所有的磁头都是移动不同盘片的

2021-09-24 01:38:11 83

原创 135.分糖果

135.分糖果class Solution: def candy(self, ratings: List[int]) -> int: n = len(ratings); if n==0 : return 0 #初始化数组,每个人最少有一个糖果 nums = [1] * n #从左到右遍历一次进行比较 for i in range(1,n): if ratings[i] &g

2021-09-22 00:50:03 54

原创 Python

455分发饼干class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: ans = 0 i,j = 0,0 # 先排序 g.sort() s.sort() # 贪心算法,尽可能用最小的饼干去满足每一个小孩 while i<len(g) and j<len(s):

2021-09-21 22:46:34 64

原创 mysql3

mysql3实际工作中的反范式实现性能提升-冗余、缓存和汇总冗余(在两张不同表里的字段经常一起出现)1.比如把产品名称在订单表里再冗余一份2.订单标号或者订单业务编号在订单详情表里冗余一份缓存(把经常用的值缓存起来)1.避免count(*),查询给用户发送消息的条数,在用户表里新建一个字段,标识用户发送了多少条消息,相当于把发送消息在mysql中缓存起来了,当发现数据库的速度也跟不上了,可以再放在redis里面去汇总(在业务中经常group by),可以建立一张汇总表,通过定

2021-09-19 01:43:26 88

原创 k8s入门篇

k8s入门篇docker起源我先简单介绍下docker的起源吧,docker是随着pass项目而发展起来的一种容器技术,具有解放开发人员,快速部署的能力定义开源高性能的容器化技术开源是他得以快速发展的原因高性能要用快和省来解释,后面讲docker特点时会详细讲容器化用一个词来定义我觉得就是隔离特点一、高效的虚拟化,它是在操作系统层面实现的虚拟化,直接复用本机的操作系统,而传统虚拟机是在硬件层面实现的,而且需要再叠一个操作系统,所以说docker就这两方面而言是一种更高效

2021-08-19 02:56:06 746

原创 mysql2

进程间通信手段unix 域套接字,不需要tcp连接层和ip层管道消息队列共享内存mysql的进程间通讯mysql的进程间通讯采用unix套接字的方式在log文件目录下,有mysql.sock和mysql.sock.lock都是与通讯相关的文件在linux操作系统下,每一个进程都有一个单独的PID,这个文件描述符被写在log目录下mysql.pid文件中data文件目录有好几个.pem文件,是rsa证书相关的密钥文件mysql中的系统库performanc

2021-07-18 03:14:45 196

原创 mysql1

mysql逻辑架构连接层server层:跨越引擎的sql解析sql优化选择索引缓存查询?show variables like ‘%query_cache_type%’ – 默认不开启缓存的效果好不哈取决于命中率?完全一致的sql,逐字节匹配,命中率低,一般要达到98%而且查询缓存之前,采用的互斥锁避免并发,造成效率低下,所以在mysql8之后删除了这个查询缓存存储引擎层用的是插件式的存储引擎在引擎层之前定义了一系列接口,只要实现了这些接口,就能使

2021-06-03 02:15:20 179 2

原创 148. 排序链表

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * }

2021-05-03 21:10:25 67

转载 服务框架技术栈

服务框架技术栈1. 概述架构的改变,往往是因为业务规模的扩张。随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展。分布式服务架构的诸多优势,这里就不一一列举了,今天围绕的话题是服务框架,为了推行服务化,必然需要一套易用的服务框架,来支撑业务技术架构升级。2. 服务框架服务框架的核心是服务调用,分布式服务架构中的服务分布在不同主机的不同进程上,服务的调用跟单体应用进程内方法调用的本质区别就是需要借助网络来进行通信。

2021-05-03 01:49:50 235

转载 服务框架之注册中心

服务框架之注册中心,你不知道的内幕介绍前一篇服务框架技术栈粗略分析了服务框架需要的各个核心模块,首先提到的就是注册中心,注册中心实现了服务注册和发现的功能,在服务框架中也发挥着重要的作用。今天主要围绕注册中心实现的话题展开。原理注册中心作为服务框架核心模块,它是服务框架唯一核心链路上的一个集中点,所以它的好坏也影响着整个服务框架的可用性以及稳定性。从下面的架构图中,可以看出注册中心要实现的功能就是服务的注册、反注册,服务发现(订阅)、通知,这四个功能。接下来我们详细解读下这四个功能:服务注册

2021-05-03 01:44:35 271

原创 769. 最多能完成排序的块

class Solution { public int maxChunksToSorted(int[] arr) { int count = 0; int max = 0; for(int i=0;i<arr.length;i++){ for(int j=0;j<=i;j++){ max = Math.max(max,arr[j]); }

2021-05-03 01:39:13 93

原创 419. 甲板上的战舰

class Solution { public int countBattleships(char[][] board) { int res = 0; for(int i=0;i<board.length;i++){ for(int j=0;j<board[0].length;j++){ if(board[i][j]=='X'){ res++;

2021-05-02 12:38:10 59

原创 1493. 删掉一个元素以后全为 1 的最长子数组

class Solution { public int longestSubarray(int[] nums) { int last = 0; int cur = 0; int res = 0; int flag = 0; for(int i=0;i<nums.length;i++){ if(nums[i]==1){ cur += 1;

2021-05-01 23:58:46 71

原创 96. 不同的二叉搜索树

class Solution { public int numTrees(int n) { int[] dp = new int[n+1]; dp[0] = 1; dp[1] = 1; for(int i=2;i<=n;i++) for(int j=0;j<=i-1;j++){ dp[i] += dp[j]*dp[i-j-1]; }

2021-05-01 12:11:23 48

原创 1167. 连接棒材的最低费用

class Solution {public int connectSticks(int[] sticks) { int sum = 0; if (sticks.length==0 || sticks.length==1){ return 0; } Queue<Integer> queue = new PriorityQueue(); for (int i = 0; i < sticks.length; i++) {

2021-04-29 23:42:12 88

空空如也

空空如也

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

TA关注的人

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