自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱做梦的阿彭

个人学习

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

原创 Go语言学习笔记

Go语言特色简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go 语言最主要的特性:自动垃圾回收更丰富的内置类型函数多返回值错误处理匿名函数和闭包类型和接口并发编程反射语言交互性优势提供了海量并行的支持,对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。基础语法Go 程序是通过 package 来组织的。只有 package 名称为 main 的源码文件可以包含 main 函数。一个可执行程序有且仅有一个 main 包。

2021-11-12 13:01:32 518 1

原创 快速幂汇总

快速幂算法(全网最详细地带你从零开始一步一步优化)

2021-10-25 13:42:50 151

原创 区间合并汇总

LeetCode专项练习之区间合并(Merge Interval)笔记

2021-10-25 13:29:43 160

原创 组合数汇总

DP:C++ 计算组合数(动态规划)递归:求组合数 C++程序C++组合数(combination)的实现// 计算组合数:使用动态规划算法 #include <iostream> int mat[100][100]; int combinat(int m, int n) { int i, j; if(n == 0 || m == n) return 1;// // 一行一行的计算下去// for(i = 1; i

2021-10-25 13:20:26 122

原创 全排列汇总

全排列算法-递归&字典序实现(Java)详解全排列c++中的全排列#include <iostream> #include <algorithm> using namespace std; int main() { int num[3]={1,2,3}; do { cout<<num[0]<<" "<<num[1]<<" "<<num[.

2021-10-25 09:59:20 72

原创 素数筛法汇总

https://www.luogu.com.cn/blog/Pluto1811/Sieve-of-Primehttps://www.freesion.com/article/38451197124/https://www.cnblogs.com/theshorekind/p/12690298.html

2021-10-25 09:48:15 71

原创 计数问题(数位DP)

计数问题(数位DP)https://blog.csdn.net/qiaoxinwei/article/details/110420115#include <iostream>#include <vector>using namespace std;//获取v中第l位到r位的数int get(vector<int> v, int l, int r){ int res = 0; for(int i = l; i >= r; i--)

2021-10-19 19:29:10 139

原创 大数乘法&&开根(C++)

大数乘法&&开根(C++)#include <iostream>#include <string>using namespace std; //两个字符串相乘 string strMultiply(string str1 , string str2){ string strResult = ""; int len1 = str1.length(); int len2 = str2.length(); int num[50

2021-10-19 18:52:17 623 1

转载 mysql删库跑路再到失业回归

一句DELETE引发的加班(Mysql 恢复Delete删除的数据)

2021-09-09 17:09:36 79

原创 性能分析汇总

Mo小泽的技术博客 性能专栏性能测试之一个简单 Java 线程 dump 分析示例性能分析之死锁和日志相关的一个实例性能分析之从 IO 高定位到具体文件性能分析之解决 jbd2 引起 IO 高问题性能分析之公有云网络带宽导致 TPS 低 RT 高性能分析之如何高效解决 SQL 产生的内存溢出性能分析之压测中 TCP 全连接队列占满问题分析及优化案例性能分析之响应时间拆分及 258 原则误区性能基础之全链路压测知识整理性能场景之压测策略设计性能分析之用户数(线程数)/响应时间/TPS的关

2021-08-17 10:28:29 81

原创 内存泄漏和内存溢出

内存泄漏(memory leak): 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出(out of memory): 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。内存泄露量大到一定程度会导致内存溢出。但是内存溢出不一定是内存泄露引起的。内存泄漏的分类(按发生方式来分类)分类

2021-08-12 11:06:47 129

原创 设计模式汇总

设计模式Java设计模式:23种设计模式全面解析(超级详细)程序员小灰漫画系列:漫画:什么是 “设计模式” ?漫画:什么是单例设计模式?漫画:如何写出更优雅的单例模式?漫画:什么是单例模式?(整合版)漫画:什么是 “建造者模式” ?漫画:什么是 “抽象工厂模式” ?漫画:设计模式之 “工厂模式”还在使用if else写代码?试试 “策略模式” 吧!漫画:设计模式之 “外观模式”漫画设计模式:什么是 “职责链模式” ?漫画设计模式:什么是 “装饰器模式” ?漫画:设计模式中的 “观

2021-08-09 15:24:18 177

原创 Mybatis的一级缓存和二级缓存

Mybatis的一级缓存和二级缓存一级缓存基于perpetualcache的hashmap本地缓存,其作用域默认是一个SqlSession,当session进行flush或者close之后,将该session中的cache进行清空。一级缓存是默认开启的:缓存的范围有SESSION和STATEMENT两种,默认是SESSION,如果不想使用一级缓存,可以把一级缓存的范围指定为STATEMENT,这样每次执行完一个Mapper中的语句后都会将一级缓存清除。另外的,对于service中的sqlsessio

2021-08-04 15:01:00 225

原创 Redis命令keys和scan

Redis命令keys和scankeys命令Redis Keys 命令用于查找所有符合给定模式 pattern 的 key语法: KEYS PATTERN如:KEYS runoob*redis 127.0.0.1:6379> SET runoob1 redisOKredis 127.0.0.1:6379> SET runoob2 mysqlOKredis 127.0.0.1:6379> SET runoob3 mongodbOKredis 127.0.0.1:637

2021-08-03 18:09:23 991

原创 Redis的缓存雪崩、穿透、击穿

Redis的缓存雪崩、穿透、击穿缓存雪崩高并发条件下,大面积的缓存key在同一时间失效,导致sql负载过高而宕机。解决方案:不同的key,设置不同的失效时间,让缓存失效的时间点尽量均匀(可采用随机)在缓存失效后,通过加锁或者队列来控制读取数据库写缓存的线程数量通过缓存reload机制,预先去更新缓存,在即将发生大并发访问前手动触发加载缓存(定时任务)使用二级缓存或者双缓存策略,使用redis集群部署,将热点数据均匀分布在不同节点,单个节点宕机可从其他节点上获取相关数据缓存穿透对于red

2021-08-03 11:36:42 217

原创 Redis和Springboot整合

Redis和Springboot整合引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>在application.yml 配置redis服务器spring: # 环境 dev|test|prod p

2021-07-27 17:01:39 145

原创 背包问题总结

背包问题背包问题是较为经典的动态规划问题,各种背包问题从简单到复杂,对于不同背包的状态转移方程,不仅记住,也要弄明白它们是怎么得出来的,最好能够自己想一种得到这些方程的方法。事实上,对每一道动态规划题目都思考其方程的意义以及如何得来,是加深对动态规划的理解、提高动态规划功力的好方法。01背包题目有NNN件物品和一个容量为VVV的背包。第i件物品的费用是w[i]w[i]w[i],价值是v[i]v[i]v[i],求将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有

2021-07-15 23:52:43 343 2

原创 并发的可达性分析

并发的可达性分析jvm如何判断对象是否应该回收引用计数算法在对象中添加一个引用计数器,每当一个地方引用它时,计数器就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。但是,引用计数法不能解决循环依赖问题。Object 1和Object 2其实都可以被回收,但是它们之间还有相互引用,所以它们各自的计数器为1,则还是不会被回收。所以,Java虚拟机没有采用引用计数法。它采用的是可达性分析算法。可达性分析算法可达性分析算法的思路就是通过一系列的“GC Roots

2021-07-13 22:15:36 284

原创 CAS机制

CAS机制Java语言CAS底层如何实现?利用unsafe提供了原子性操作方法。什么是ABA问题?怎么解决?当一个值从A更新成B,又更新会A,普通CAS机制会误判通过检测。利用版本号比较可以有效解决ABA问题。cas是什么?cas是compareandswap的简称,从字面上理解就是比较并更新,简单来说:从某一内存上取值V,和预期值A进行比较,如果内存值V和预期值A的结果相等,那么我们就把新值B更新到内存,如果不相等,那么就重复上述操作直到成功为止。cas能做什么?可以解决多线程并发安

2021-07-12 23:19:38 85

原创 volatile的有序性问题

volatile的有序性问题volatile关键字使用禁止指令重排序,在一定程度上保证了有序性。指令重排计算机在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排,一般分为以下3种:源代码 --> 编译器优化的重排 --> 指令并行的重排 --> 内存系统的重排 --> 最终执行的指令单线程环境里确保程序最终执行结果和代码顺序执行的结果一致。处理器在进行重排序时要考虑指令之间的数据依赖性。多线程环境中线程交替执行,由于编译器优化重排的存在,两个线程中使用的变量能

2021-07-12 23:03:49 199

原创 volatile的原子性问题

volatile的原子性问题volatile不保证原子性容易出现写覆盖volatile不保证原子性问题解决方法前加synchronized解决public synchronized void addPlusPlus() { number++;}加锁解决// 使用锁保证数据原子性Lock lock = new ReentrantLock();public void addPlusPlus() { lock.lock(); number++; lock.unlock();

2021-07-12 22:59:23 135

原创 volatile关键字

volatile关键字volatile关键字的两层语义一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。禁止进行指令重排序。使用了volatile关键字,保证了可见性,同时禁止指令重排序,在一定程度上保证了有序性,但需要注意的是volatile不保证原子性。volatile关键字的使用场景synchronized关键字是防止多个线程同

2021-07-12 22:51:14 87

原创 最长上升子序列(LIS)

最长上升子序列(longest-increasing-subsequence)leetcode 300public class Solution { public int lengthOfLIS(int[] nums) { int len = nums.length; if (len <= 1) { return len; } // tail 数组的定义:长度为 i + 1 的上升子序列的末尾最小是几

2021-07-12 22:29:29 116

原创 最长公共子序列(LCS)

最长公共子序列(longest-common-subsequence)leetcode 1143class Solution { public int longestCommonSubsequence(String text1, String text2) { int m = text1.length(), n = text2.length(); int[][] dp = new int[m + 1][n + 1]; for (int i = 1;

2021-07-12 22:03:22 86

空空如也

空空如也

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

TA关注的人

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