自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 redis

在Python中使用多线程可以实现并发需求,由于线程之间是共享数据的,当多个线程同时操作共享数据时,为保证此共享数据在同一时间只能由一个线程访问,可以通过“加锁”来实现,否则将会出现数据错乱,使程序的运行结果变得不可预期,此现象称之为“线程不安全”。当某一线程要更改共享数据时,对其"加锁",被锁的共享资源是不可以被其他线程修改的,直到加锁线程通过“解锁”释放资源,将共享资源的状态变成"非锁定",其他线程才能再次锁定该资源。而锁的超时时间设置过大,万一服务出现异常无法正常解锁,那么这种异常锁的时间也就越长。

2023-10-19 21:18:42 83

转载 Go-理解 Golang Context 机制

理解 Golang Context 机制

2022-10-21 10:42:23 271 1

原创 python 将生成1-5随机数函数转换为1-7随机数函数的实现方法

算法基础

2022-07-02 16:33:15 710

原创 golang杂记01-golang接口的赋值问题

golang 接口的赋值问题

2022-06-06 11:41:47 662

原创 kubelet Error getting node 问题求助

问题现象master节点采用kubectl 发现资源不存在[root@k8s-master01 cni]# kubectl get nodesNo resources found[root@k8s-master01 cni]# kubectl get nodeNo resources found寻找原因发现kubelet的状态虽然是成功,但是报错E0506 03:15:55.794029 4646 kubelet.go:2461] "Error getting node" err="n

2022-05-06 15:35:18 10581 15

原创 Rocket MQ的事务消息图解说明

2022-03-28 17:57:14 561

原创 Redis主从复制--全量复制、点断复制图解

如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个PSYNC命令给master请求复制数据。master收到PSYNC命令后,会在后台进行数据持久化通过bgsave生成最新的rdb快照文件,持久化期间,master会继续接收客户端的请求,它会把这些可能修改数据集的请求缓存在内存中。当持久化进行完毕以后,master会把这份rdb文件数据集发送给slave,slave会把接收到的数据进行持久化生成rdb,然后再加载到内存中。然后,master再将之前缓

2022-03-19 11:14:30 777

原创 Zookeeper 共享锁 图解

read请求 如果前面是读锁 则直接获取锁 如果是写锁 那么就 监听等待获取锁 ,如果是write 请求 那么就和公平锁的机制一样 监听前面的节点

2022-03-16 17:55:43 2014

原创 zookeeper 公平锁 图解

当请求进来直接在/lock 下面创一个临时顺序节点且为容器节点类型排序并依次监听比自己小一位的节点 当完成后 delete 释放节点

2022-03-16 17:50:54 2563

原创 zookeeper非公平锁 图解

当有10W个请求过来时候,根据ZK的特性 只能有一个节点被创建(获取了一把锁)那么剩下的9.9万个只能在监听等待. 同时当锁释放的时候 还要通知99999个线程 让他们再次并发竞争 由此可以得知 第二轮还是99998个线程在等待并反复上面的流程 导致集群性能会下降的非常厉害...

2022-03-16 17:40:59 2087

原创 python 调用linux shell的方法封装

在卖命敲代码时候,如果需要用到调用shell命令时候的方法封装当然可以使用很多基础方法:可以看下这个blog不废话,上代码:def python_shell_run(cmd,des="Python Call Run Shell",error_check=True,shell_env=None): """ :Description: Invoking shell commands using python :param cmd: sh

2022-03-09 11:25:33 1167

原创 Java架构篇章-02Ioc容器源码解析

Ioc容器源码解析我们都是常用 new 一个AnnotationConfigApplicationContext 来启动ioc容器,类似于下面的这种.但是具体的流程到底是怎么样的呢?AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MainConfig.class);先看一个粗略的流程从图上可以知道,AnnotationConfigApplicationContext的源码中先使用了一个

2021-08-18 19:54:07 279

原创 Java架构篇章-01Ioc容器设计理念和核心注解的使用

01Ioc容器设计理念和核心注解的使用one question— BeanFactory 和 applicationContext 的本质区别是什么?csdn链接↑1. applicationContext 是 BeanFactory 的一个功能的扩展2. BeanFory 启动时候不去实例化bean,调用的时候才实例化对象(懒加载). ApplicationContext的启动即实例化bean(非懒加载,但可以指定为懒加载)Spring容器集成图:这个图肯定很多人见过了,我们主要看画圈圈的3

2021-08-18 14:26:23 111

原创 企业环境常用的springboot 配置

Springboot 下 application.yaml 分环境解析在pom.xml中配置了profiles 参数 <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> &lt

2021-06-25 15:48:24 102

原创 logback xml文件讲解

logback 配置文件讲解<?xml version="1.0" encoding="UTF-8"?><configuration> <springProperty scope="context" name="LOG_HOME" source="logging.path" defaultValue="logs"/> <springProperty scope="context" name="LOG_ROOT_LEVEL" source="lo

2021-06-25 15:35:39 181

转载 Spring开发注解-实现方法、构造器位置的自动装配

Spring开发注解-实现方法、构造器位置的自动装配Autowired源码解析:可以看出@Autowired注解不仅可以标注在字段上,而且还可以标注在构造方法CONSTRUCTOR、实例方法ElementType.METHOD以及参数ElementType.PARAMETER上。@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOT

2021-05-25 14:39:17 297

原创 企业常用的超级简单的监控脚本

#!/bin/sh# 获取tomcat进程ID TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat7'|grep -v 'grep'|awk '{print $2}')# tomcat启动程序(tomcat实际安装的路径) StartTomcat=/work/software/apache-tomcat-8.5.65/bin# 定义要监控的页面地址 #WebUrl=http://172.16.30.22:8080/source/WebUrl=h

2021-05-20 21:00:25 125

原创 Mysql 优化方法记录

企业级Mysql优化意见:两种日志的分类RedoLogredo log是InnoDB引擎特有; redo log是物理日志,记录的是“在某个数据页上做了什么修改”;redo log是循环写的,空间固定会用完.BinLogbinlog是MySQL的Server层实现,所有引擎都可以使用;binlog是逻辑日志,记录的是这个语句的原始逻辑;binlog是可以追加写入的。“追加写”是指binlog文件写到一定大小后会切换到下一个,并不会覆盖以前日志。日志参数优化

2021-05-13 10:44:44 69

原创 SSM-Curd项目终结

引言:使用idea方式总结尚硅谷ssm-curd的项目视频:https://www.bilibili.com/video/BV17W411g7zP资源代码:链接:https://pan.baidu.com/s/16C_kjyoiRHyrYqz04O9PeA提取码:ph3m建议边看视频 边看这个0架构图演示主要功能点 1、分页 2、数据校验 jquery前端校验+JSR303后端校验 3、ajax 4、Rest风格的URI;使用HTTP协议请求方式的动词,来表示对资源的操作(GET(

2021-04-09 18:16:26 298 1

原创 浅谈html

HTML?Hyper Text Markup Language (超文本标记语言) 简写:HTML HTML 通过标签来标记要显示的网页中的各个部分。网页文件本身是一种文本文件, 通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画 面如何安排,图片如何显示等)HTML 书写规范<!DOCTYPE html><html lang="en"> <!--表示整个 html 页面的开始--><hea

2021-04-01 14:38:59 117

原创 java Sping IOC总结于B站尚硅谷

github对应源码B站视频什么是框架?高度抽取可重用代码的一种设计,高度的通用性什么是spring?容器框架,把组件(类)管理起来spring 学好2个:IOC 和AOPIOC: 控制反转 ---> 资源的获取方式 |--- 主动式: 自己new对象 |--- 被动式: 让容器来new对象并赋值spring框架Test(绿色) :spring的单元测试模块Core Container:核心容器(IOC)黑色代表这部分由哪些jar包组成,要使用这个部分的完整功能

2021-03-29 17:47:42 78

原创 JDBC 来操作数据库(转尚硅谷java 练习)

尚硅谷_JDBC课后习题自测题目描述:表的数据信息 请看答案1、创建数据库test01_bookstore2、创建如下表格3、使用sql语句在命令行或SQLyog中添加一些模拟数据4、使用JDBC实现往用户表中添加1个用户,注意密码存储使用mysql的password()函数进行加密5、使用JDBC实现往图书表中添加1本图书6、从键盘输入用户名和密码,模拟登录,使用JDBC实现验证用户名和密码是否正确,如果正确,显示登录成功,否则显示用户名或密码错误[外链图片转存失败,源站可能有防盗链机制

2021-03-04 17:11:55 559 2

原创 go中的Channel (总结于尚硅谷go)

Channel​ channel是一个数据类型,主要用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题。可以把它看成管道,一端读,一端写goroutine运行在相同的地址空间,因此访问共享内存必须做好同步 goroutine 奉行通过通信来共享内存,而不是共享内存来通信。引⽤类型 channel可用于多个 goroutine 通讯。其内部实现了同步,确保并发安全。定义channel的变量方式make(chan Type) //等价于make(chan Type, 0)make(cha

2021-02-23 22:01:24 163

转载 java中StreamAPI粗讲 (总结于尚硅谷java)

文字描述 请看转载文章https://www.cnblogs.com/zhaoyunlong/p/13274569.htmlStreamStream关注的是对数据的运算,与CPU打交道集合关注的是数据的存储,与内存打交道①Stream 自己不会存储元素。②Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行Stream 执行流程① Stream的实例化② 一系列的中间操作(过滤、映射、…)

2021-02-22 16:27:47 109

原创 GO 浅谈goroutine(总结于尚硅谷go)

GO并发编程问题并行和并发并行(parallel):(并行就是两个队列同时使用2个厕所)指在同一时刻(CPU时间量级 ),有`多条指令`在`多个处理器`上同时执行。需要借助多核CPU来实现并发:(就是两个队列交替使用一间厕所)宏观:用户体验上,程序在并行执行。 微观:多个计划任务,顺序执行。在飞快的切换。轮换使用 cpu 时间轮片。 (类似于串行)进程并发程序和进程?程序:编译成功得到的二进制文件。 占用 磁盘空间。 死的 1 1进程:运行起来程序。 占用系统资源

2021-02-21 14:56:25 139

原创 详谈java中动态代理的逻辑问题(总结于尚硅谷java)

请通过1. 1.1 ---- 2 —2.1 等序号来看代码逻辑package com.ralph.java;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface Human{ String getBelief(); void eat(String food);}//被代理类class Iro

2021-02-20 16:05:46 171

原创 浅谈GO中的结构体

GO语言结构体1.结构体的概述有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。一般用于全局变量结构体是一种聚合的数据类型,它是由一系列具有相同类型或不同类型的数据构成的数据集合。每个数据称为结构体的成员。2.结构体的初始化//普通变量初始化type Person struct { name string sex string age int } func main(){ var man

2021-02-19 23:20:38 241

原创 GO语言-map总结(总结尚硅谷go)

GO-map1.Map的介绍Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的key-value对的集合,比如以身份证号作为唯一键来标识一个人的信息。Go语言中并没有提供一个set类型,但是map中的key也是不相同的,可以用map实现类似set的功能。map格式为:map[keyType]valueType在一个map里所有的键都是唯一的,而且必须是支持==和!=操作符的类型,****切片、函数*以及包含切片的结构类型这些类型由于具有*引用****语义,****不能作为映射的

2021-02-19 21:47:49 257

原创 java反射重点知识清单

写出获取Class实例的三种常见的方式Class aclass = String.class; //写死了 没有动态性Class aclass2 = 类名.getClass();Class aclass3 = Class.forName(String classPath)//体现反射的动态性Class的理解Class 实例对应着加载到内存中的一个运行时类创建Class对应运行时类的对象的通用方法,代码实现。以及这样的操作,需要对应的运行时类构造器方面满足的要求​Object..

2021-02-19 16:30:31 256

转载 java反射

反射推荐文章https://blog.csdn.net/ju_362204801/article/details/90578678转载文章:https://www.cnblogs.com/zhaoyunlong/p/13230851.htmljava反射机制概述通过直接new的方式或反射的方式都可以调用公共的结构,开发中到底用那个?直接new的方式 反射的特征:动态性反射机制与面向对象中的封装性是不是矛盾的?如何看待两个技术?不矛盾 看怎么约束 考虑代码风格问题关于java.lang.

2021-02-19 16:11:15 88 1

原创 GO语言 切片问题

切片1.为啥使用切片?1数组的容量固定 不能自动拓展2值传递 数组作为函数参数时,将整个数组值拷贝一份给形参在GO语言当中,我们几乎可以在所有场景中使用切片替换数组使用2.切片的本质:切片并不是数组或数组指针,它通过内部指针和相关属性引⽤数组⽚段,以实现变⻓⽅案。 它是一种数据结构体3.切片的使用切片名称 [low:high:max] [:high:max] [low:] [:high]low:起始下标位置high:结束下标的位置len:high-low容量:cap

2021-02-18 23:53:53 126

原创 GO 指针粗讲

GO语言-指针指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言对指针的支持介于Java语言和C/C++语言之间,它既没有想Java语言那样取消了代码对指针的直接操作的能力,也避免了C/C++语言中由于对指针的滥用而造成的安全和可靠性问题。指针就是地址 指针变量就是存储地址的变量func main() { var a int = 100 // 声明 int 变量 a fmt.Printf("&a =

2021-02-18 21:45:58 102 2

转载 java网络编程中的TCP UDP通信以及URL

https://www.cnblogs.com/zhaoyunlong/p/13178135.html

2021-02-18 11:10:25 110

转载 java的网络编程基础(三次握手 四次握手)

https://www.cnblogs.com/zhaoyunlong/p/13178097.html

2021-02-18 11:09:40 132

转载 java 泛型

转载:https://www.cnblogs.com/zhaoyunlong/p/13042422.html

2021-02-09 17:12:30 127 1

原创 java集合之MAP (总结于尚硅谷java)

Map接口1.Map接口的大致框架|----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x) |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value |----LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。 原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素。对于频繁的遍历操作,此类执行效率高于HashMap。

2021-02-07 20:20:22 208

原创 java集合Collection子接口之二: Set接口 (总结于尚硅谷java)

Collection子接口之二:Set接口Set接口是Collection的子接口,set接口没有提供额外的方法Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set 集合中,则添加操作失败Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals() 方法1.set接口的整体框架|----Collection接口:单列集合,用来存储一个一个的对象 |----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合” |----HashS

2021-02-06 13:32:19 152

原创 java 集合--Collection子接口LINK (总结于尚硅谷java)

Collection子接1.Collection中子接口的整体描述|----Collection接口:单列集合,用来存储一个一个的对象 |----List接口:存储有序的、可重复的数据。 -->“动态”数组,替换原有的数组 |----ArrayList:作为List接口的主要实现类;线程不安全的,效率高;底层使用Object[] elementData存储 |----LinkedList:对于频繁的插入、删除操作,使用此类效率比ArrayList高;底层使用双向链表

2021-02-06 12:43:06 130

原创 java中加强for循环--foreach

使用 foreach 循环遍历集合元素Java 5.0 提供了 foreach 循环迭代访问 Collection和数组。遍历操作不需获取Collection或数组的长度,无需使用索引访问元素遍历集合的底层调用Iterator完成操作。foreach还可以用来遍历数组。 for(Object obj : coll){ System.out.println(obj); }Object 要遍历的元素类型obj 遍历后定自定义的元素的

2021-02-06 11:55:16 119 1

原创 java的集合-初(总结于尚硅谷)

java集合集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。 比如:String[] arr;int[] arr1;Object[] arr2;数组存储的弊端:一旦初始化以后,其长度就不可修改。

2021-02-05 22:06:28 132

空空如也

空空如也

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

TA关注的人

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