- 博客(59)
- 收藏
- 关注
原创 go 时间转时间戳的时区设置问题
昨天遇到一个问题,在完成时间转换时间戳,在后续测试中发现转换后的时间戳转成时间后,时间发生错误,时间和转换时间不一致问题。
2024-08-09 09:47:17 426
原创 Cadvisor的指标和代表含义(记录)
服务器k8s部署Cadvisor,同一份部署文件,部署多台服务器,有一台服务器访问失败,prometheus集群无法采集(未解决)可能是权限问题,查看部署是否为特权模式。
2024-08-07 20:26:40 369
原创 docker 的/var/run/docker/containerd/daemon 下的io.containerd.runtime.v2.task和v1.linux问题排查经验
io.containerd.runtime.v2.task:这通常指的是 containerd 的第二个版本的任务运行时。v1.linux:这通常指的是 containerd 的第一个版本的 Linux 特定的运行时,或者是 CRI 插件的第一个版本。在 containerd 的早期版本中,v1 是最初的版本,随着时间的推移,它可能已经被更新和替换。1、文件缺失,无法找到文件,可能与k8s有关,需要检查k8s是否正常,若k8s没有问题,则重置docker配置,重启docker。
2024-08-06 21:15:19 228
原创 Prometheus 常见参数
设置 Prometheus 的外部可访问 URL,用于在 Prometheus 运行在代理后面时设置正确的 URL。:设置 Prometheus TSDB 数据块的最小持续时间。:设置 Prometheus TSDB 数据块的最大持续时间。:设置 Prometheus TSDB 数据存储的路径。:设置 Prometheus web 服务监听的地址。:设置 Prometheus web 服务的路由前缀。:启用 Prometheus 作为远程写入目标的能力。:设置数据保留时间,超过这个时间的数据将被删除。
2024-08-06 21:02:36 454
原创 java实现没有重复数字的全排列
import java.util.*;public class Solution { ArrayList<ArrayList<Integer>>arrayList=new ArrayList<>(); public ArrayList<ArrayList<Integer>> permute(int[] num) { Arrays.sort(num); ArrayList<Integer&g
2022-03-06 09:28:40 574
原创 滑动窗口的最大值
问题:给定一个长度为 n 的数组 num 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。思路:简单的暴力求解过程,通过Arrays.copyOfRange(num,i,i+size)来获取窗口,进行遍历求解public class Solution { public ArrayList<Integer> maxInWindows(int [] num, int size) { ArrayList<Integer>list=new Arra
2022-03-03 15:12:01 237 1
原创 二叉树--判断是不是二叉排序树
问题:给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。二叉搜索树满足每个节点的左子树上的所有节点均小于当前节点且右子树上的所有节点均大于当前节点。最重要一点:二叉搜索排序树的中序遍历是单调升序的,因此只需要进行中序遍历判断即可/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) {
2022-03-01 19:12:35 444
原创 二叉树--合并二叉树
问题:已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。思路:通过二叉树的前序遍历方法进行遍历。同时,t1二叉树作为蓝本进行计算,注意设置两个指针记录t1和t2遍历到的当前位置。三种情况:1、t1和t2都拥有的节点进行相加,2、t1没有t2有的节点,直接接在t1节点上3、t1有,t2没有的节点不做处理。 * int val = 0; * TreeNode left = null; * TreeNode
2022-03-01 16:38:27 743
原创 二叉树--对称二叉树
问题描述:给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)思路:对左右子树进行判断,左子树的右子树是否等于右子树的阿左子树递归要注意边界判断1、如果左子树位空就要判断右子树是否为空,为空就返回ture,不为空就不是对称二叉树2、如果通过第一层判断,那么只要右子树为空就一定不是对称二叉树3、如果左右子树的值相等,就分别对左子树的右子树和右子树的左子树,以及左子树的左子树和右子树的右子树进行判断public class TreeNode { int val = 0; Tre
2022-03-01 15:57:39 361
原创 分治--数组的逆序对
第一种解题思路就是暴力解决,在这就不进行代码演示,着重采用分治的思想进行解决问题。采用分治的思想进行处理 1、将数组通过递归划分成左右区间基本相等的状态 2、将划分好的左右区间进行合并 3、在合并的过程中,计算左右区间上产生的逆序对 4、因为保证每一步合并的区间都是排列好的,所以,如果满足一个逆序对时,则这个数后面的逆序对也同样满足,这时候就可以省略掉 注意:进行分治的治时,一定要对原数组进行覆盖,只有这样才能递归分出正确答案 static int num=0; static.
2022-02-28 10:17:47 164
原创 链表--删除有序链表中重复出现的值
问题:给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。例如:给出的链表为1→2→3→3→4→4→5, 返回1→2→5.给出的链表为1→1→1→2→3, 返回2→3.数据范围:链表长度 0≤n≤10000,链表中的值满足∣val∣≤1000要求:空间复杂度 O(n),时间复杂度 O(n)进阶:空间复杂度 O(1),时间复杂度 O(n)思路:两种方法1、利用map的键值对应关系,同时使用LinkedHashMap保证按照顺序执行,将链表的值作为key,
2022-02-27 22:09:31 694
原创 链表--删除有序链表中的重复问题
问题:删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1→1→2,返回1→2.给出的链表为1→1→2→3→3,返回1→2→3.数据范围:链表长度满足 1000≤n≤100,链表中任意节点的值满足 ∣val∣≤100进阶:空间复杂度 O(1),时间复杂度 O(n)思路:利用set的无重复的特性进行封装,同时使用LinkedHashSet,保证按照顺序存储,且不出现重问题,保证能够去重。/* * public class ListNode
2022-02-27 21:05:03 584
原创 链表--两个链表相加
问题:假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。数据范围:10000000≤n,m≤1000000,链表任意值 0≤val≤9要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)看到这道题有两个思路:第一个思路,通过字符串解答,将链表的值通过字符串拼接起来,然后通过Long封装类进行转换,然后相加求和,最后在通过头插法建立链表。但是,在测试的链表长度太长时显然就不能通过测试,long总是有
2022-02-27 18:10:50 493
原创 链表--删除链表的倒数第 n 个节点
问题:给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针思路:找到输出节点前一个节点,使用a.next=a.next.next覆盖掉需要删除的节点。注意:要明确界限,因为是n+1,对n大于等于链表长度,需要进行边界判断。public ListNode removeNthFromEnd (ListNode head, int n) { // write code here ListNode a=head; ListNode b=head;
2022-02-27 16:01:25 152
原创 链表--链表倒数最后k个节点
问题:输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。要求:空间复杂度 O(n),时间复杂度O(n)进阶:空间复杂度 O(1),时间复杂度 O(n)思路:1、暴力,直接两个循环解决代码:public static ListNode FindKthToTail (ListNode pHead, int k) { // write code here ListNode a=pH
2022-02-27 15:38:21 265
原创 链表--链表中的节点入口
前提:首先要明白怎么判断有环的链表问题:给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。要求:空间复杂度 O(1),时间复杂度 O(n)思路:1、设置两个指针,第一个指针作为循环条件,第二个指针作为置空指针。2、当第一个指针下移时, 就将第一个指针的前面链表进行置空。3、然后再次判断是否有环,如果返回ture,指针继续下移,同时通过一个节点对象进行当前节点的保存,如果返回的是false,就代表之前的节点就是环节点。代码演示:public ListNode E
2022-02-27 15:06:03 339
原创 链表--判断链表中是否有环
题目:判断给定的链表中是否有环。如果有环则返回true,否则返回false。数据范围:链表长度 0≤n≤10000,链表中任意节点的值满足 ∣val∣<=100000要求:空间复杂度 O(1),时间复杂度 O(n)思路:采取双指针方式,一个指针一直向后走,一个指针缓慢向后走,如果相遇的话,就返回ture,否则返回false注意的点:进行比较的不是值,而是这个节点,保证了重复出现相同的数字的情况下不会判断出有环。代码实现:public boolean hasCycle(ListNode h
2022-02-27 14:27:18 243
原创 自动拆箱,自动装箱
1、基本定义这是jdl1.5提供的功能java中有8中基本数据类型:byte、short、int、long、float、double、char、boolean但是这8中基本数据类型不具备对象的特性因此,java中就有了基本类型的包装类。自动装箱就是将一个基本的数据类型直接赋值给对应的包装类型。自动拆箱就是将一个包装类型的数据直接赋值给对应的基本数据类型。这个功能大大简化了基本数据类型和对应包装类型的转换过程2、使用事项如果int类型和它的包装类型integer进行==,那么integer
2022-02-25 12:54:30 135
原创 成员变量与全局变量的区别
成员变量:1、是在类的范围内定义的变量2、具有默认的初始值3、如果没有被static修饰的话,就属于实例变量,会存储到对象所在堆内存中,生命周期也会与对象相同。4、如果被static修饰的话,那么就会成为类变量,存放在方法区中,生命周期就和当前的类相同局部变量:1、在方法的范围内定义的变量2、可以没有默认值3、存储在栈内存中,作用的范围结束,变量空间就会自动释放。...
2022-02-25 11:15:13 1507
原创 链表--合并已排序的两个链表
问题描述:思路:简单的两个有序链表的排列,可以有两个方法一个就是直接排,通过新建一个链表来存储每个值public static ListNode Merge(ListNode list1,ListNode list2) { ListNode sum=new ListNode(-1); ListNode node=sum; ListNode a1=list1; ListNode a2=list2; while (a1!=n
2022-02-25 10:22:56 252
原创 链表--链表中的节点每k个一组翻转
解题思路:通过循环开始分组,每一组进行一次逆转,通过start和end保存链表开始逆转和结束逆转的位置。当完成当前组的逆转以后,更新strat和end的位置,进行下一组逆转注意的几个点:1、注意数组边界问题,在我的代码中,对end在每组的更新中,更新了一次,同时每次循环也会更新一次,如果end本来就为空,两次next以后,显然end是空指针为报错2、注意找清楚对strat和end的更新和恢复,这是循环能否继续下去的关键。/* * public class ListNode { * in.
2022-02-25 09:51:42 488
原创 链表--链表内指定区间反转
描述将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n),空间复杂度 O(1)。例如:给出的链表为: 1→2→3→4→5→NULL,m=2,n=4返回:1→4→3→2→5→NULL.数据范围: 链表长度 0 < size \le 1000 0<size≤1000,0 < m \le n \le size0<m≤n≤size,链表中每个节点的值满足 |val| \le 1000 ∣val∣≤1000要求:时间复杂度 O(n)O(n)
2022-02-25 09:04:21 1524
原创 反转链表--简单java实现 test1
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0\leq n\leq10000≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/pu
2022-02-24 20:17:02 543
原创 线程同步异步——消费者生产者问题java实现
使用原语:wait() notify()控制/** * @Title: 生产者消费者问题.java * @Package 线程 * @Description: TODO(用一句话描述该文件做什么) * @author zxx* @date 2021年2月2日 下午3:36:00 * @version V1.0 */package 线程;/** * @ClassName: 生产者消费者问题 * @Description: TODO(这里用一句话描述这个类的作用) * @a
2021-02-02 15:53:36 151
原创 java学习待解决问题
一、jdk1.8版本与之前相比,之前的版本声明抽象方法不可写出大括号 jdk1.8问题 ()二、java基本类型范围 范围类型()java中整型默认的是int,浮点默认的是double.java使用float定义如1.1,也会被double类型强制转换。确定基本类型范围。三、ConcurrentHashMap 使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。()
2020-12-10 23:28:52 201
原创 Android——对于手机app旋转的信息重置的解决问题
首先,我们应该先观察一下activity的生命周期,它在你进行屏幕旋转的时候,对于activity的生命周期是如何进行变化的。对于主activity类,可以生成系统查看周期的方法,并进行重写 @Override protected void onStart() { super.onStart(); Log.d(TAG, "onStart() called"); } @Override protected void onResume() {
2020-10-28 19:47:21 257
原创 HTTP协议 GET和POST的左右互博
HTTP协议中存在着许多的方法,当然最常用的方法当属GET和POST方法。下面表示GET和POST的具体形式GETPOST一、POST比GET更强?GET,做为最简单的HTTP方法,简单的就是用户给服务器一个要求,让服务器获取一个资源然后在拿回去给用户,具体什么资源是无所谓的。“拿来主义”,GET是非常熟练的。但是POST方法不同于GET,这应该叫GET++版,它可以给服务器发请求,然后拿服务器给的资源在回去。但是它会给服务器发一个表单,那么这让GET的“拿来主义”变了味道。二、深入GET,
2020-10-26 23:55:04 192
原创 Git——揭开Git的神秘面纱,新手向Git详细使用,你的小伙伴会很开心
一、Git是什么?Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。简单来说,假如几个小伙伴同时编写一篇文章。那么,如果每个人写完一个版本,就有好几个版本,本着择优使用的原则,要找到每个版本的不同地方进行比较、修改,最后得到最终版,
2020-06-13 20:10:37 833
原创 设计模式——共享模式
一、共享模式共享模式:运用共享技术有效的支持大量细粒度的对象//Flyweigth类,具有所有享元类的超类或接口abstract class Flyweigth{ public abstract void Oeperation(int extrinsicstate);}//ConcreteFlyweigth是继承Flyweigth超累或实现接口,并为内部状态增加存储空间class C...
2020-04-21 18:50:29 631
原创 程序设计——单列模式
一、单列模式我们可以让一个全局变量是得一个对象被访问,但它不能防止实例多个对象,一个最好的办法就是让类本身负责保存它的唯一实例,这个类可以保证没有其他实例可以创建。单列模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点class Singleton{ private static Singleton instance; private Singleton() { //构造方法...
2020-04-21 18:25:26 145
原创 设计模式——建造者模式实现
一、建造者模式的基本实现建造者模式:将一个复杂对象的构建与它的表现分离,使得同样的构建过程可以创建不同的表示下面将以画人的形式展现建造者模式的基本实现abstract class PersonBuilder{ protected Graphics g;//以java写的不含有Graphics和Pen,为了方便理解特别使用,可使用基本类型或引用类型代替 protected Pen p; ...
2020-04-14 17:41:15 210
原创 设计模式——原型模式实现
一、简易代码初步实现假如现在写一个简历类,要有名字,可以设置性别年龄,可以设置工作经历,以此类写出三份简历,如下:class Resume{ private String name; private String sex; private String age; private String timeArea; private String company; public Re...
2020-04-14 16:46:57 277
原创 设计模式——抽象工厂模式实现
抽象工厂方法:抽象工厂模式是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。一、基本模式的实现以一个用户类来实现基本的模式//抽象工厂方法//用户beanclass User{ private...
2020-04-04 18:03:02 176
原创 设计模式——工厂方法实现
工厂方法:定义一个抽象对象接口,让子类决定实现哪个类。工厂方法使一个类的实例化延迟到其子类。以雷锋工厂为例:一、建立基本模式//简单雷锋基本实现,有三项基本美德组成class LeiFeng{ public void Sweep() { System.out.println("扫地"); } public void Wash() { ...
2020-04-04 17:49:55 111
原创 Processon——UML类图
1、注释(comment)注释就是对类图的补充说明,可以附加在任何元素上,用右上角有折角的矩形来表示,其内放置说明文字,通过虚线连接被注释的元素,如下图:2、类(Class)在面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,如图:类的属性的完整表示方式:...
2020-03-10 20:10:31 4209
原创 初始processon使用画图
Processon介绍:ProcessOn是一个面向垂直专业领域的作图工具和社交网络ProcessOn将全球的专家顾问、咨询机构、BPM厂商、IT解决方案厂商和广泛的企业用户紧密的连接在一起,提供基于云服务的免费流程梳理、创作协作工具,与同事和客户协同设计,实时创建和编辑文件,并可以实现更改的及时合并与同步第一次接触使用processon画项目图,具体根据实例模仿,提供了整理思路的好方法,可以...
2020-03-03 20:10:32 321
原创 查找技术
顺序表#include<iostream>using namespace std;const int MaxSize=100;template<typename datatype>class LineSearch{private: int data[MaxSize]; int length;public: LineSearch(i...
2019-12-26 12:05:08 105
原创 排序技术
#include<iostream>using namespace std;class B{ void InsertSort()//直接插入排序,将第一个作为O点,往里面插入,小的插入到大的后面,一种稳定的排序方法, //最好情况正序排列,比较n-次(每次比较一次停止循环),记录的移动次数为2(n-1),即数据的转移temp=data[i],data[i]=temp ...
2019-12-19 21:57:50 84
原创 Oracle导入dmp文件总结
首先新建一个新用户 create user xxx identified by xxx;例如如我创建DMSYS用户,但是得注意,Oracle 10g 创建新用户密码要用“”括起来,这个用户是作为导入的用户,创建完毕给它赋予权限:grant create session, connect, resource to DMSYS;但是后来导入的时候发现权限不足,很多东西都导入不进去,比如需要视图权限,还...
2019-09-08 15:56:23 1013
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人