自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

后而来者

虽后来,但终究来了,来了便来了

  • 博客(92)
  • 收藏
  • 关注

转载 ORM框架简介

ORM框架简介

2023-01-09 19:19:21 365

原创 基于Promethus+Grafana搭建监控系统

基于Promethus+Grafana搭建监控系统

2023-01-09 16:12:11 1240

翻译 Maven 依赖管理与依赖标签

maven依赖管理和依赖标签

2022-12-30 17:45:58 784

原创 计算机网络概述

计算机网络概述

2022-11-29 23:11:42 569

原创 设计模式-单例模式

设计模式-单例模式

2022-11-28 23:20:20 284

原创 服务注册中心

服务注册中心的诞生

2022-11-17 13:20:10 381

转载 为什么数据库难以拓展?

为什么数据库难以拓展?

2022-11-14 22:47:08 514

原创 有向图环路检测

有向图环路检测

2022-11-04 17:20:17 1189 3

原创 Redis密码设置

redis密码配置

2022-10-25 14:58:21 348

原创 修改系统时间导致mysql数据写入失败

修改系统时间导致mysql数据写入失败

2022-10-20 19:36:12 851

原创 Volatile原理与分析

volatile可以保证共享变量的有序性和可见性,那么今天来分析和介绍其底层原理。

2022-09-24 15:49:33 351

原创 GDB调试C程序

本文将记录一次使用GDB调试的过程,学会调试代码,找到BUG点,而不是依赖于外部的测试反馈更有价值。

2022-07-23 23:11:58 438

原创 动态规划从入门到关门

动态规划从入门到关门引例每当听到动态规划这个词的时候,总有一种抽象,排斥的想法,我们准备先不管TM的动态规划是个啥,家在哪,在哪工作?玩个游戏先,这个游戏叫爬楼梯爬楼梯邻居家的小孩总是爱爬楼梯,有一天你去邻居家做客,看见小朋友又在爬楼梯。你,伫立良久…这时,阿姨给你洗了个水果,招呼你快坐,你拉着阿姨,深情地看着她,又指了指小朋友,问道:假如你家有nnn 阶楼梯,才能到达二楼。每次小朋友可以爬 $1 $或 222 个台阶。小朋友有多少种不同的方法可以爬到楼顶呢?阿姨:…你能帮阿姨解决这个问题吗?

2022-04-19 10:58:09 393

转载 Spring的IOC原理(通俗易懂)

原文链接1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由Ñ个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针,分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,共同完成某项任务。我们可以看到,在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组的正常运转。齿轮组中齿轮

2022-04-14 10:47:14 1795

转载 从云计算到云原生:从概念到落地

原文链接云计算最近几年已经火得不行,云原生(Cloud Native)这个概念又来了,如果上云不“原生”,那就等于白上云。究竟什么是云原生?云原生有何优势?怎么从“不原生”一步一步做到云原生?本文将给出切实可行的云原生落地指南。我们先从云计算说起。在云计算普及之前,一个应用想要发布到互联网,就需要企业自己先买几台服务器,找一个IDC机房,租几个机架,把服务器放进去。接下来就是装Linux系统,部署应用。我们就假定用Java写了Web应用,怎么部署上去呢?先配置Tomcat服务器,在把编译好的war包上

2022-04-06 17:00:07 268

转载 UML类图几种关系的总结

原文链接在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头指向】:带三角箭头的实线,箭头指向父类2.实现(Realization)【实现关系】:是一种类与接口的关系,表示类

2022-03-08 08:45:08 145

原创 markdown语法小结

markdown语法数学表达\approx约等于\times✖️

2022-02-28 08:40:07 222

原创 算法设计与分析基础-笔记-下

分治法分治法是按照一下方案工作的:将一个问题划分为同一类型的若干子问题,子问题最好规模相同。对这些子问题求解(一般使用递归方法,但在问题规模足够小时,有时也会利用另一个算法)有必要的话,合并这些子问题的解,已得到原始问题的答案。分治法对于并行计算时非常理想的,因为各个子问题都可以由各自的CPU同时计算。合并排序合并排序是成功应用分治技术的一个完美例子。对一个需要排序的数组A[0..n−1]A[0..n-1]A[0..n−1] ,合并排序把它一分为二:A[0..⌊n/2⌋−1]A[0..\

2022-02-19 21:27:36 430 2

原创 Grpc的一个简单Demo

依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <grpc.version>1.31.1</grpc.version><!-- CURRENT_GRPC_VERSION --> <protobuf.version>3.12.0</protobuf.

2022-02-18 16:25:52 301

原创 Docker入门

Docker简要入门 { "insecure-registries": ["127.0.0.1:5000"] }重启docker后可以查看docker info在下拉的insecure-registries中会看到设置好的registry在创建本地re

2022-01-28 17:13:30 1264

原创 算法设计与分析基础-笔记-上

算法设计与分析基础绪论什么是算法一系列解决问题的明确指令,对于符合一定规范的输入,能够在有限的时间内获得要求的输出。例子:最大公约数:俩个不全为0 的非负整数mmm和nnn的最大公约数记为gcd(m,n)gcd(m,n)gcd(m,n)​,代表能够整除(即余数为0)mmm 和nnn的最大正整数。欧几里得算法gcd(m,n)=gcd(n,m mod n)(m mod n表示m除以n 之后的余数)gcd(m,n)=gcd(n, m \ mod \ n

2022-01-18 14:02:43 2749

原创 Spring Boot编程问题

问题1:想通过IDEA创建一个SpringBoot项目,在各个博客上都有看到Spring Initializr这种插件可以直接生成SprigBoot项目,但是我的软件上却没有原因:使用社区版的IDEA没有安装此插件使用付费的版的IDEA,会有,如果没有,请查看是否将这个插件勾上勾上后,可以愉快的玩耍了。。。。...

2021-12-20 16:37:22 448

原创 数据库问题解决总结(Mac环境下)

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)查看mysql是否运行中ps -ef | grep mysql在系统偏好设置中关闭mysql服务执行如下命令(1)cd /usr/local/mysql/bin(2)sudo su输入密码(3)./mysqld_safe --skip-grant-tables &(4)./mysql(5)SET PASSW

2021-12-16 20:11:19 453

原创 LeetCode题解记录-栈

20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。分析判断字符串是否有效的规则是括号能匹配上且正确顺序闭合;括号匹配有先来后匹配的顺序要求,类似于栈的存储方式,考虑用栈实现字符串中除了左括号就是右括号,遍历时遇见左括号就压入栈中对应的右括号,当出现右括号时去对比栈顶元素,相等则弹出后继续,否则无法匹配。如果遍历完成后栈为空则完全匹配,如果

2021-11-03 13:57:56 99

原创 zookeeper入门

zookeeper安装与使用(Mac环境)brew安装zookeeperbrew install zookeeper启动zookeeperzkServer start启动zookeeper客户端zkCli创建节点create -e /node 1234获取节点get /node 删除节点delete /node

2021-09-17 17:39:41 91

原创 Mysql数据库基础(二)

参考了师兄写的笔记,感谢师兄!

2020-11-11 20:06:32 101

原创 操作系统概念笔记(三)

参考链接:https://blog.csdn.net/qq_39326472/article/details/88828361

2020-11-09 22:19:31 103

转载 Linux 虚拟内存和物理内存的理解(转)

虚拟内存:第一层理解每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存空间的分配情况,哪些地址有数据,哪些地址无数据,哪些可读,哪些可写,都可以通过这个链表记录每个进程已经分配的内存空间,都与对应的磁盘空间映射问题:计算机明明没有那么多内存(n个进程的话就需要n*4G)内

2020-10-19 16:26:58 357

原创 设计模式概览

设计原则

2020-10-05 15:39:59 110

原创 Leetcode题解记录

1095. 山脉数组中查找目标值(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] <

2020-09-20 16:09:44 104

原创 Linux常用指令总结

查找一个文件find:locate:查看某个进程的信息ps

2020-09-20 15:03:08 86

原创 C++编程思考(一)

为啥要用命名空间?怎么保证一个编程语言在C/C++编译器下都可以运行?extern c的作用?函数重载的原理是啥?

2020-09-18 21:09:16 106

原创 Mysql数据库基础(一)

2020-09-16 22:32:58 119

原创 Leetcode题解记录-字符串

394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入输入:s = “3[a]2[bc]”输出:“aaabcbc”输入:s = “3

2020-09-14 17:17:40 257

转载 如何设计一个秒杀系统?

原文链接本文作为许令波老师《如何设计一个秒杀系统》这一课程的学习记录。同时也记录下今年项目中的一些原因导致秒杀、抢购服务器宕机秒杀系统的关键点秒杀系统其实主要解决2个问题,一个是并发读,一个是并发写。整体概况为“稳、准、快”高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本文将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多

2020-09-13 22:33:02 690

转载 最小生成树的PRIM算法(c++实现)

原文链接在网络搭建中,最小生成树有其广泛的应用.本文是作者学习了PRIM算法实现最小生成树之后的笔记体会.欢迎指正批评.1.概述设G =(V,E)是无向连通带权图,即一个网络。E中每条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树。网络的最小生成树在实际中有广泛应用。例如,在设计通信网络时,用图的顶点表示城市,用边(v,w)的权c[v][w]表示建立城市

2020-09-13 20:39:48 1920

转载 【多线程】如何保证线程安全

原文链接一、线程安全等级之前的博客中已有所提及“线程安全”问题,一般我们常说某某类是线程安全的,某某是非线程安全的。其实线程安全并不是一个“非黑即白”单项选择题。按照“线程安全”的安全程度由强到弱来排序,我们可以将java语言中各种操作共享的数据分为以下5类:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。1、不可变在java语言中,不可变的对象一定是线程安全的,无论是对象的方法实现还是方法的调用者,都不需要再采取任何的线程安全保障措施。如final关键字修饰的数据不可修改,可靠性最高。

2020-09-13 10:31:21 2322

原创 实现不可继承的类(C++)

final关键字C++11新特性final关键字#include <iostream>using namespace std;class B final{ };class C : public B { };int main(){ return 0;}友元+虚继承定义一个类A,构造函数和析构函数设置为private定义一个类B#include <iostream>using namespace std;class A

2020-09-12 23:23:08 190

原创 Topk实现(C++)

小顶堆实现topk#include <iostream>#include <vector>using namespace std;void uptodown(vector<int>& heap, int k, int pos){ int i = pos; int j = 2 * i + 1; while (j < k) { if (j < k - 1 && heap[j] > heap[j + 1])

2020-09-12 17:30:38 1895

原创 Leetcode题解记录-设计

146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进

2020-09-10 20:54:40 113

空空如也

空空如也

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

TA关注的人

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