- 博客(88)
- 收藏
- 关注
转载 数据库缓存一致性问题
尚硅谷雷神课件:方案一:先更新数据库再更新缓存,性能不如删除缓存好,比如一个数据在一个小时内更新了一千次,那么缓存也更新一千次,但是如果使用删除模式就只需要删除一次,等到需要获取数据的时候才把数据从数据库中加载到缓存中一次。方案二:先更新数据库再删除缓存,可能导致没更新完数据库的时候其他请求就读取了旧缓存造成数据不一致,解决方案可以用消息队列中间价帮助,实时性一致性有所提升针对先写数据库再删除缓存出现数据不一致问题进行优化可以借助监听binlog的消息队列来做删除缓存...
2021-04-03 17:56:22
362
原创 Dockerr入门笔记
本文为学习慕课网Docker入门教程后的笔记1. Docker介绍Docker和虚拟机的区别Docker的架构2.Docker命令小结命令用途举例docker pull从远端仓库获取imagedocker pull ubuntu(默认获取latest版本)docker build创建imagedocker images列出本地所有的imagedocker ps列出正在containerdocker ps列出当前正在运行的容器,如果加上-
2020-12-13 20:44:22
487
原创 集合大家族异同点比较
vector和arraylist1.vector是线程同步的,是线程安全的;而arraylist是线程异步的,是不安全的。2.如果集合目前元素个数大于集合长度,vector的增长率是当前数组长度的100%,而arraylist是50%3.查找一个指定位置元素的值时,vector和arraylist时间复杂度都是0(1),移动一个指定位置的元素和插入数据时应该考虑linkedlist...
2019-10-13 10:49:14
216
原创 数组
数组是一个简单的数据复合类型,是一个特殊的对象。数组是Object的直接子类,属于第一类对象,但又与其他对象不同。public class Test {public static void main(String[] args) {int[] array_00 = new int[10];System.out.println("一维数组:" + array_00.getClass()....
2019-10-13 10:19:45
281
转载 关键字final
在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候 final 就有用武之地了。final 是 Java 的关键字,它所表示的是“这部分是无法修改的”。不想被改变的原因有两个:效率、设计。使用到 final 的有三种情况:数据、方法、类。一、final 数据有时候数据的恒定不变是很有用的,它能够减轻系统运行时的负担。对于这些恒定不变的数据我可以叫做“常量”。“常量”主要应用与以...
2019-09-23 10:23:13
114
转载 字符串
一、String首先我们要明确,String 并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现 String 类为 final 型的(当然也不可被继承),而且通过查看 JDK 文档会发现几乎每一个修改 String 对象的操作,实际上都是创建了一个全新的 String 对象。字符串为对象,那么在初始化之前,它的值为 null,到这里就有必要提下 ””、null、new...
2019-09-23 10:15:42
109
转载 equals()方法总结
在 java 中进行比较,我们需要根据比较的类型来选择合适的比较方式:1)对象域,使用 equals 方法 。2)类型安全的枚举,使用 equals 或== 。3)可能为 null 的对象域 : 使用 == 和 equals 。4)数组域 : 使用 Arrays.equals 。5)除 float 和 double 外的原始数据类型 : 使用 == 。6)floa...
2019-09-23 10:08:24
819
转载 代码块
public class Test { { //// } }这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法。一般来说代码块是不能单独运行的,它必须要有运行主体。在 Java 中代码块主要分为四种:一、普通代码块普通代码块是我们用得最多的也...
2019-09-23 09:59:35
101
转载 操作系统运行环境
操作系统主要工作程序的执行完成与体系结构相关的工作(重点: 操作系统必须了解和适配硬件)完成应用程序所需的共性任务, 提供各种基础服务性能,安全,健壮性等问题操作系统的运行状态中央处理器(CPU)一般由运算器, 控制器, 一系列寄存器以及高速缓存构成两类寄存器用户可见寄存器: 高级语言通过优化算法, 分配并且使用, 目的是减少内存的访问次数控制状态寄存器: 用于控制处理器的...
2019-09-20 20:11:40
432
转载 操作系统概述
操作系统是什么?操作系统是计算机系统中的一个系统软件,是一些程序模块的集合—— 它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源 合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能 使得用户能够灵活、方便地使用计算机,使整个计算机系统高效率运行有效:系统效率,资源利用率;合理:各种软硬件资源的管理是否公平合理;方便使用:两种角度,用户界面 ...
2019-09-20 09:23:10
215
转载 详解内部类
详解内部类可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二)。第一次见面内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。 public class OuterClass { private String name ...
2019-09-09 21:34:24
109
转载 使用序列化实现对象的拷贝
我们知道在 Java 中存在这个接口 Cloneable,实现该接口的类都会具备被拷贝的能力,同时拷贝是在内存中进行,在性能方面比我们直接通过 new 生成对象来的快,特别是在大对象的生成上,使得性能的提升非常明显。然而我们知道拷贝分为深拷贝和浅拷贝之分,但是浅拷贝存在对象属性拷贝不彻底问题。 public class Person implements Cloneable{ ...
2019-09-09 21:15:35
132
转载 多态
public class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A"); } } public class...
2019-09-09 20:55:59
93
原创 蓝桥杯练习题-蛇形矩阵
问题 1097: 蛇行矩阵时间限制: 1Sec 内存限制: 64MB 提交: 3178 解决: 1990题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入本题有多组数据,每组数据由一个正整数N组成。(N不大于100)输出对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。样例...
2019-03-19 15:15:43
968
原创 天梯选拔赛1
一共有15道题,三小时做了三道签到题,excuse me ?补题的时候发现题目思维并不很难,都是经典题,可是我因为练的太少还是需要模板辅助做题,多捞啊。7-1两个链表的第一个公共结点(20 分)输入两个链表L1、L2,找出它们的第一个公共结点。输入格式:输入在第一行分别给出 L1 的头结点地址、L2的头结点地址和结点总个数 N(<=105)。一个结点的地址是非负的...
2019-03-08 20:12:51
1520
转载 SG函数博弈
题目链接一个关于SG的博弈游戏,对于某个堆有MiMi和LiLi,那么这个堆的SG值为SGi=Mi%(Li+1)定义SG(x)=mex(S)),其中S是x的后继状态的SG函数值集合,mex(S))表示不在S内的最小非负的整数。我们先取L=5来看一下当M=1时,由于1的后继状态只有0,由sg定义可得sg[1]=mex{sg[0]}=1,当M=2时,2的后继状态有0,1得...
2018-09-26 09:17:57
140
转载 杭电OjCard Game Cheater (模拟田忌赛马)
题目传送门题目分析:亚当夏娃玩扑克牌比大小,当点数相同时比较花色,红桃最大,然后是黑桃,再是方块,最后是梅花。夏娃知道亚当的出牌顺序,她最多能赢几把。做法:讲花色转换成数字的大小进行比较,然后运用田忌赛马的知识,先夏娃的最大的牌与亚当最大的牌比,然后夏娃最小的牌和亚当最小的牌比,然后拿亚当最大的牌和夏娃最小的牌比较。#include<stdio.h>#inclu...
2018-09-26 08:53:18
1485
转载 动态规划,寻找最长上升子序列问题
题目链接 FatMouse's Speed 题目大意:给定一些老鼠的体重和速度,要求找出一些序列,体重逐渐增加,速度逐渐减小。要求输出序列中老鼠的个数与编号,答案不唯一。典型的最长是上升子序列问题,但是这个输出编号不会弄。网上找的博客是定义一个数组,数组中存储这个编号的上一只老鼠,即可找出所有符合要求的老鼠的编号。#include <iostream&g...
2018-09-20 11:20:39
208
转载 匈牙利算法
参考了趣写算法这篇文章来理解匈牙利算法,但是还没有吃透找增广路径算法原理,不能合理带入算法思想,嘤。匈牙利算法用增广路求最大匹配(称作匈牙利算法,匈牙利数学家Edmonds于1965年提出) 算法轮廓:置M为空 找出一条增广路径P,通过取反操作获得更大的匹配M’代替M 重复2操作直到找不出增广路径为止找增广路径的算法我们采用DFS的办法找一条增广路径: 从X部一个未匹配的...
2018-09-16 15:14:51
378
原创 三分查找
已知左右端点L,R,求顶点(极值)的位置。思路通过不断缩小 [L,R] 的范围,无限逼近白点。 做法:先取 [L,R] 的中点 mid,再取 [mid,R] 的中点 mmid,通过比较 f(mid) 与 f(mmid) 的大小来缩小范围 当最后 L=R-1 时,再比较下这两个点的值,我们就找到了答案1、当 f(mid) > f(mmid) 的时候,我们可以断定 mmid 一定在白...
2018-09-13 16:23:04
130
原创 并查集&最小生成树Kruskal算法
杭电oj1233 还是畅通工程Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( &...
2018-09-12 21:05:19
219
原创 数论,直线分割平面&球体
一·n条直线最多分割多少平面问题假设n-1条直线分割了f(n-1)个部分,第N条直线最多与n-1条直线相交,有n-1的交点。n-1个交点将第n条直线分割成n-2条线段和2个射线,线段和射线各自将原来的区域分割成两部分,多出了(n-2)+2个部分。故:f(n)=f(n-1)+n=f(n-2)+(n-1)+n……=f(1)+1+2+……+n=n(n+1)/2+1二·n条射线最多分割...
2018-09-06 21:37:49
820
原创 牛客网第二场D购买物品求利益
题目利用贪心的思想,寻找上升子序列。。如果下一个商品价格大于当前,继续向下遍历,否则在当前卖出,下一个买入(存到pre).注意要比较pre与判断出要在此处卖出的价格大小。#include<iostream>#include<algorithm>#include<math.h>#include<cstring>#define ll l...
2018-08-28 16:47:14
239
原创 普及练习场简单模拟P1003铺地毯
这道题的思路很简单,主要在于如何储存数据。思路一直卡在二维数组的范围上,其实人家用另一种方式分别储存横纵坐标就可以了啊,嘤。题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到 nn 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地...
2018-08-25 10:37:21
265
原创 PTA A1053 深搜与先根遍历
#include<iostream>#include<algorithm>#include<vector>using namespace std;const int maxn=110;struct node{ int weight; vector<int> child;}nodes[maxn];bool cmp(int a,in...
2018-08-16 11:15:50
207
原创 KMP
并没有理解为什么j=next[j];玛德#include<iostream>using namespace std;char s[50];char text[50];char pattern[50];int next[50];void getnext(char s[],int* next,int len){ int j=-1; next[0]=-1; for(...
2018-08-13 10:36:33
119
原创 大数加法
#include<iostream>#include<string>using namespace std;struct bign{ int d[1000]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char str[]){ bign a; a.len=s...
2018-08-06 20:37:46
109
原创 PAT A1059
给出一个int范围的整数,按照从小到大的顺序来输出其分解为质因数的乘法算式#include<iostream>#include<algorithm>using namespace std;const int maxn=100000;int prime[maxn];bool p[maxn]={false};int num=0;struct factor{...
2018-08-06 19:55:12
186
原创 数素数
#include<iostream>using namespace std;const int maxn=10010;int prime[maxn],pnum=0;bool p[maxn]={false};void findprime(int n){ for(int i=2;i<maxn;i++) { if(p[i]==false) { prime...
2018-08-06 16:42:07
131
原创 快速排序
#include<iostream>using namespace std; int partition(int a[],int left,int right) { int temp=a[left]; while(left<right) { while(left<right&&a[right]>temp) { r...
2018-08-06 10:59:41
135
原创 归并排序
#include<iostream>using namespace std;const int maxn=100;void merge(int a[],int l1,int r1,int l2,int r2){ int i=l1; int j=l2; int temp[maxn]; int index=0; while(i<=r1&&j<...
2018-08-06 10:16:36
136
原创 简单贪心月饼PATB1020
算法笔记118-119 #include<iostream>#include<algorithm>using namespace std;struct node{ double cun; double shou; double bi;}nodes[1010];bool cmp(node a,node b){ return a.bi>b....
2018-08-01 19:37:37
200
原创 递归求全排列。1-n
#include<iostream>using namespace std;const int maxn=11;int n,p[maxn],hashTable[maxn]={false};void generateP(int index){ if(index==n+1) { for(int i=1;i<=n;i++) { printf("%d",p[i...
2018-08-01 16:04:53
328
原创 字符串hash初步
给出N个字符串(三个小写字母),再给出M个查询字符串,问每个查询字符串在N个字符串中出现的次数。#include<iostream>using namespace std;const int maxn=100;char s[maxn][5],temp[5];int hashTable[26*26*26+10];int hashFunc(char s[],int l...
2018-08-01 15:20:48
186
原创 进制转换,将A+B的和转为D进制
#include<iostream>using namespace std;int main(){ int a,b,d; cin>>a>>b>>d; int c; c=a+b; int z[1000],i=0; do { z[i++]=c%d; c=c/d;...
2018-07-30 10:25:41
472
原创 杭电1789贪心
Doing Homework againTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10545 Accepted Submission(s): 6179 Problem DescriptionIgnatius ha...
2018-07-28 21:19:53
216
原创 动态规划最长公共子序列
#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=100;char a[N],b[N];int dp[N][N];int main(){ freopen("C:\\Users\\23535\\Desktop\\in.t...
2018-07-28 10:50:32
112
原创 动态规划最长回文序列
#include<iostream>#include<cstring>using namespace std;int main(){ freopen("C:\\Users\\23535\\Desktop\\in.txt","r",stdin); //输入重定向,输入数据将从D盘根目录下的in.txt文件中读取 freopen("C:\\Users\...
2018-07-27 23:41:59
244
原创 动态规划最大连续子序列和
#include<iostream>#include<algorithm>using namespace std;int main(){ freopen("C:\\Users\\23535\\Desktop\\in.txt","r",stdin); //输入重定向,输入数据将从D盘根目录下的in.txt文件中读取 freopen("C:\\User...
2018-07-27 22:52:04
361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人