自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用python压缩图片大小

【代码】用python压缩图片大小。

2025-03-29 20:25:21 260

原创 java八股文之企业场景

如果一个接收者不能处理某个请求,它会把这个请求传给下一个接收者,以此类推。这种模式非常适合用于实现过滤器或拦截器等应用场景,也可以用来处理GUI事件、web请求预处理等。后台的管理系统,最常见的就是RBAC模型来指导实现权限,RBAC(Role-BasedAccessControl)就是基于角色的访问控制。策略模式是一种行为设计模式,核心思想是将一组算法封装成独立的类,并让它们彼此之间可以互换。使用非对称加密(或对称加密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据。

2025-03-28 19:36:25 827

原创 java八股文之JVM

线程共享的区域:主要用来保存对象实例,数组等,内存不够则抛出OutOfMemoryError异常。组成:年轻代+老年代– 年轻代被划分为三部分,Eden区和两个大小严格相同的Survivor区,一个对象在Eden区存活后就会放入Survivor区– 老年代主要保存生命周期长的对象,一个对象在多次Survivor区存活后就会放入老年区Jdk1.7和1.8的区别– 1.7中有有一个永久代,存储的是类信息、静态变量、常量、编译后的代码。

2025-03-26 21:34:02 2028

原创 java八股文之并发编程

一段很长的时间内都只被一个线程使用锁,可以使用了偏向锁,在第一次获得锁时,会有一个CAS操作,之后该线程再获取锁,只需要判断markword中是否是自己的线程id即可,而不是开销相对较大的CAS命令。Java中的synchronized有偏向锁、轻量级锁、重量级锁三种形式,分别对应了锁只被一个线程持有、不同线程交替持有锁、多线程竞争锁三种情况。底层使用的Monitor实现,里面涉及到了用户态和内核态的切换、进程的上下文切换,成本较高,性能比较低。注:所有种类本质为线程池的默认创建,得到不同的侧重的线程池。

2025-03-23 22:09:38 1054

原创 java八股文之常见的集合

数组的首地址+索引乘以存储数据的类型大小在根据数组索引获取元素的时候,会用索引和寻址公式来计算内存所对应的元素数据。如果数组的索引从1开始,寻址公式中,就需要增加一次减法操作(数组的首地址-1),对于CPU来说就多了一次指令,性能会降低。

2025-03-19 23:35:35 623

原创 SpringBoot整合Kafka

/</</

2025-03-13 21:23:45 352

原创 SpringBoot整合RabbitMq

/</</

2025-03-12 22:12:44 386

原创 Docker安装Kafka(内含zookeeper)

wurstmeister是一个官方的镜像仓库直接拉失败了,所以包了一层,要是还不行,去阿里弄个镜像加速器配上。

2025-03-11 22:36:57 416

原创 Docker安装RabbitMQ

【代码】Docker安装RabbitMQ。

2025-03-10 23:32:43 253

原创 java八股文之消息中间件

其核心在于通过选举一个“领导者”来处理客户端请求,并将这些请求作为日志条目复制到其他“跟随者”节点,以确保所有节点数据的一致性。每个节点在任一时刻都处于三种状态之一:领导者、跟随者或候选人(用于选举新领导者)。Raft通过任期(逻辑时钟)和严格的日志复制规则保证了即使部分节点故障,系统仍能保持一致性和可用性。在kafka中,一个topic的数据存储在不同的分区中,每个分区都有按照顺序存储的偏移量,这就导致如果一个消费者关联了多个分区,分区就不能保证连续性。Kafka高可用机制主要体现在两个方面。

2025-03-06 22:44:20 703

原创 SpringBoot集成Mybatis(包括Mybatis-Plus)和日志

2.添加配置3.然后就能使用了例如:

2025-03-02 21:56:48 255

原创 java八股文之微服务

创建类实现IRule接口,可以指定负载均衡策略(全局)在客户端的配置文件中,可以配置某一个服务调用的负载均衡策略(局部)

2025-03-01 21:36:54 876

原创 java八股文之框架

Spring框架中的Bean默认是单例的,不是线程安全的。因为一般在Spring的bean的中都是注入无状态的对象,没有线程安全问题,如果在bean中定义了可修改的成员变量,是要考虑线程安全问题的,可以使用多例或者加锁来解决。

2025-02-28 23:38:42 538

原创 Spring之Bean的生命周期过程中调用的方法

BeanPostProcessor的两个方法是所有Bean都会调用,除了实现这个接口的Bean,所以为了方便加了判断。

2025-02-27 21:39:11 273

原创 SpringBoot之自定义简单的注解和AOP

Target({ElementType . METHOD }) // 指定该注解可以加在方法上 @Retention(RetentionPolicy . RUNTIME) // 指定该注解在运行时保留,可以通过反射获取 @Documented // 表明该注解被包含在javadoc中 public @interface MyLog {/*** 名称@Target({

2025-02-24 21:36:26 356

原创 java八股文之数据库

索引(index)是帮助MySQL高效获取数据的数据结构(有序)提高数据检索的效率,降低数据库的IO成本(不需要全表扫描)通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗MySQL的InnoDB引擎采用的B+树的数据结构来存储索引相对于红黑树,B+数阶数更多,是一个矮胖书,所以路径更短磁盘读写代价B+树比B树更低,非叶子节点只存储指针,叶子阶段存储数据B+树便于扫库和区间查询,叶子节点是一个双向链表将数据存储和数据放在了一起,索引结构的叶子节点保存了一整行的数据。

2025-02-23 19:03:56 501

原创 SpringBoot整合Redis和Redision锁

【代码】SpringBoot整合Redis和Redision锁。

2025-02-20 23:53:35 692

原创 java八股文之Redis

当修改了数据库的数据同时也要同时更新redis缓存的数据,缓存好数据库的数据要保持一致保证双写一致:1. 延时双删:更新数据前先删除缓存,数据更新完成后,等一会儿再删除一次缓存,但是延时多少不好确定,依然有不一致的可能。当一直性要求较高时,可以使用Redis提供的读写锁。在进行读操作时添加共享锁,可以保证读读不互斥,读写互斥。当进行写操作时,使用排它锁,读写,读读都互斥,来保证双写一致。需要注意的是,读方法和写方法需要使用的是同一把锁。3. 使用MQ通知:一致性要求不是特别高时,可以使用异步通知的思想。

2025-02-16 21:28:37 1080

原创 Docker安装Redis

想这没有启动要先启动一下。

2025-02-10 23:59:42 413

原创 Docker安装Mysql

把这些cv进去,写好保存。

2025-02-08 20:38:44 394

原创 Docker网络不通解决Error response from daemon: Get “https://index.docker.io/v1/search?q=mysq

如图,Docker连不了网络。

2025-02-07 23:48:37 701

原创 Linux之安装docker

Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。uname - r。

2025-02-06 23:02:25 637

原创 Linux之安装MySQL

官网地址:https://downloads.mysql.com/archives/community/2.初始化可以不指定用户也就是–user=mysql,一般这个都是root干的,可以直接把这个删除。5.1 如果失败有问题,可能是原来的mysql.service混淆导致的,改个名字。3.初始化完成记一下密码,比如我这里是:6Vfm?3、下令防火墙开启3306端口访问,应该就可以了。这里下载的是8版本的,位数对应之前的64位。1.要先切入你安装MySQL的主目录。4. 重新加载配置文件。

2025-02-05 23:15:14 546

原创 开源诊断工具Arthas

1、需要先要安装配置好jdk。2、你的虚拟机得有网,没有网就按照压缩包上传解压。然后直接看三。

2024-12-28 13:09:50 718

原创 Linux安装jdk8

链接: https://pan.baidu.com/s/1VsqM6IoccSHkhyiUErixyA 提取码: y8xx。通过网盘分享的文件:jdk-8u181-linux-x64.tar.gz。注意:JAVA_HOME一定要是你解压jdk存放的目录,不然会有问题。注意:这俩命令都得执行成功并输出版本,哪一个没有都有问题。把下面的变量加在最底下。这里我放的是jdk8。

2024-12-27 23:26:59 285

原创 Linux之shell编程

定义变量:变量名=变量值,注意,=号前后不能有空格撤销变量:unset变量名声明静态变量:readonly 变量,注意:不能unset声明全局变量:export 变量变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。等号两侧不能有空格在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。变量的值如果有空格,需要使用双引号或单引号括起来。Action;cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。

2024-12-21 23:19:12 819 1

原创 Linux之克隆虚拟机

选则克隆(要关机)选择当前状态选择完成克隆选择位置和名字即可启动,改一下ip地址,别和之前的一样

2024-12-21 17:34:08 194

原创 Linux之RPM和YUM命令

RPM,YUM,YUM换源

2024-12-21 17:20:59 463

原创 Linux之系统定时任务简单介绍

作用:定时任务。

2024-12-21 16:15:16 383

原创 Linux之进程相关命令

作用:查看当前系统进程状态选项:a:列出带有终端的所有用户的进程x:列出当前用户的所有进程,包括没有终端的进程u:面向用户友好的显示风格-e:列出所有进程-u:列出某个用户关联的所有进程-f:显示完整格式的进程列表。

2024-12-21 15:49:14 402

原创 Linux之磁盘管理相关命令

概念解释:对于Liux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。Liux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。4、这个是自动挂载的,然后把他弹出,然后注销桌面,使用远程shell,就可以手动挂载了。-c:显示所有的文件和子目录大小后,显示总和。常用类型有:光盘或光盘镜像:iso9660,

2024-12-21 14:23:45 333

原创 Linux之压缩解压相关命令

作用:打包,打包并压缩后的文件后缀是.tar.gz。(3)同时多个文件会产生多个压缩包。(1)只能压缩文件不能压缩目录。-d 目录:指定解压后的目录。-c:产生.tar打包文件。-f:指定压缩后的文件名。(2)不保留原来的文件。-x:解包.tar文件。作用:压缩和解压文件。-C:解压到指定目录。

2024-12-21 13:02:43 409

原创 Linux之搜索类命令

size<文件大小>:按照指定的文件大小查找单位。b(块),c(字节),w(2字节),k(千字节),M(兆字节),G(吉字节)注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。-name<查询方式>:按照指定的文件名查找模式查找文件。-user<用户名>:查找属于指定用户的所有文件。可以和管道“|”配合使用。-n:显示匹配行的行号。作用:查找文件或目录。

2024-12-21 12:42:53 243

原创 Linux之用户相关命令

不同Liux系统对用户组的规定有所不同,如Liux下的用户属于与它同名的用户组,这个用户组在创建用户,同时创建。用户组管理涉及的用户组的添加、删除和修改,组的增加、删除和修改实际上就是对etc/group文件的更新。为了保护系统的安全性,Liux系统对不同的用户访问同一文件(包括日录文件)的权限做了不同的规定。Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。作用:查看用户相关的id,如用户id,组id等。注意:想要删除文件,得有当前目录的权限。passwd 用户名。

2024-12-21 12:16:58 324

原创 Linux之时间日期相关命令

d<时间字符串>:显示指定的“时间字符串“”表示的时间。x:具体某一项,如:2022年日历为cal 2022。-x: 以当前月为中心,相邻的x月日历。ntpdate 服务。cal [ 选项 ]

2024-12-20 23:37:56 182

原创 Linux之文件相关命令

作用:显示当前目录绝对路径pwd -[选项]选项 :-P:抛开其他影响(如软连接),显示真实路径。

2024-12-20 23:18:01 478

原创 Linux之帮助命令

一部分基础功能的系统命令是直接内嵌在shel中的,系统加载启动之后会随着shll一起加载,常驻系统内存中。这部分命令被称为“内置(built–in)命令”;相应的其它命令被称为“外部命令”。内置命令直接敲man进行解释,会解释出bash,例如cd命令就会这样。相对于man,更简洁,但是只有英文,且只能解释内置命令。例如:man ls 即可得到你要的命令说明,按q退出。就可以区分了,shell内嵌的会直接告诉你。然后选择你要的版本即可,例如3版本。二、内置命令和外部命令。二、help 帮助命令。

2024-12-20 21:02:49 287

原创 Linux之系统管理

2. 对服务的操作2.1 centos6版本2.2 centos7版本(主要)setup3.2 用命令5.切换当前运行级别。

2024-12-18 22:48:38 468

原创 Linux之远程登录

exit。

2024-12-14 23:03:55 258

原创 Linux之网络配置

首先,打开网络适配器,看下自己是不是net模式打开虚拟网络编辑器,选择NET模式,选择更改设置把这里这俩都勾上根据你的主机IP设置你的子网IP,前两位要一致,比如我的是下边的子网IP是192.168.xxx.xxx,那我设置就要设置成192.168.xxx.xxx,后面两位可以随便写,子网掩码为:255.255.255.0设置一下网关,默认的就行设置一下DHCP,这里前三位要和子网Ip的前三位相同。

2024-12-14 19:50:02 938 1

空空如也

空空如也

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

TA关注的人

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