自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编程之锁相关

乐观锁是一种乐观的思想,对于某些数据是读多写少的,发生并发写的时机不多,就假设当前数据是没有在被修改,从而不上锁。在Java中进行写数据时,通常cpu是将数据写入主内存中,在此过程之前,当前写数据线程存有数据备份,就将线程中的数据与主内存中的数据进行比较,相同则更新数据到主内存,不同则继续进行cas操作。

2023-04-03 01:06:59 98

原创 常用算法介绍

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。

2023-04-03 01:05:13 94

原创 nginx&mq

计算机网络是通过传输介质、传输设备在通信协议的规定下进行数据传输和资源共享的系统,可以将多个不同的计算机系统连接起来构成整个互联网。

2023-04-03 01:03:27 1204

原创 网络相关内容

计算机网络是通过传输介质、传输设备在通信协议的规定下进行数据传输和资源共享的系统,可以将多个不同的计算机系统连接起来构成整个互联网。

2023-04-03 01:02:05 76

原创 Redis

这种方式的好处是可以减少Redis的CPU负载,因为扫描和删除是在指定的时间间隔内进行的,不会对Redis的性能造成太大影响。通过设置合适的回收策略,可以在内存达到限制时,自动删除一些不必要的数据,以保证Redis的内存使用率不会超过预定的限制。AOF持久化的优点是它可以更好地保护数据,因为AOF文件中记录了Redis执行的每个写操作,所以即使Redis在持久化操作之前崩溃,也可以通过重放AOF文件来恢复数据。这种策略可以尽量保留未过期的数据,并且优先删除最近最少使用的数据,以保证内存的有效利用。

2023-03-31 01:22:26 47

原创 SpringCloud

服务注册和发现组件:Eureka、Consul、Zookeeper等,用于实现服务注册和发现功能。服务调用组件:Ribbon、Feign、RestTemplate等,用于实现服务之间的调用和负载均衡。API网关组件:Zuul、Spring Cloud Gateway等,用于实现API网关功能,提供统一的入口和路由控制。配置中心组件:Config Server、Spring Cloud Config等,用于实现配置管理功能,支持动态刷新配置。

2023-03-31 01:21:12 90

原创 RabbitMQ

在RabbitMQ中,交换机(Exchange)是消息路由的核心组件之一,它接收生产者发送的消息并将消息路由到一个或多个队列中。Topic交换机:Topic交换机根据消息的Routing Key和绑定的队列的模式将消息路由到一个或多个队列中。Direct交换机:Direct交换机是最简单的一种交换机,它根据消息的Routing Key将消息路由到一个或多个队列中。在RabbitMQ中,生产者将消息发送到交换机,然后交换机将消息路由到相应的队列中,消费者从队列中接收并处理消息。

2023-03-31 01:19:33 96

原创 持久层框架

在上世纪90年代,针对Java连接数据库,JDBC(Java DataBase Connectivity)为Java开发人员提供了标准的访问数据库的接口。但是,随着时间的推移,数据库的访问量越来越大,对于数据库访问层的需求就越来越高。因此很多其他的持久层框架就应运而生了,例如MyBatis、Hibernate、JPA等。

2023-03-31 01:17:24 979

原创 Mysql相关知识点

第一范式(1NF):要求数据库表中的每一列都是不可再分的原子数据项,即每一列只能包含一个数据。第二范式(2NF):要求数据库表中的每个非主键列都必须完全依赖于主键,即非主键列必须与主键形成一对多关系。第三范式(3NF):要求数据库表中的每个非主键列都不能依赖于其他非主键列,即非主键列必须直接依赖于主键。

2023-03-31 01:16:43 107

原创 Spring框架

spring是一个Java企业级应用的开源开发框架。1、轻量:一个轻量级框架,基本的只需要大约2M。2、控制反转:通过控制反转实现松散耦合,对象们给出他们的依赖,而不是创建或查找依赖的对象。3、面向切面(aop):可以将业务逻辑和系统服务分开。4、容器:管理应用中对象的生命周期和配置。5、mvc框架:是web的一个很好的替代品。6、事务管理:有一个持续的事务管理接口,可以扩展到上至本地事务,下至全局事务。

2023-03-31 01:16:25 76

原创 Springboot篇

Spring Boot是一个快速构建基于Spring框架的应用程序的开源框架。它的设计目标是简化Spring应用程序的创建和开发过程,提高开发效率和应用程序的可维护性。

2023-03-31 01:15:31 62

原创 多线程&并发

线程安全是指在多线程环境下,一个对象或程序的状态不会被其他线程影响,并且可以保证对象或程序的正确执行。如果一个类是线程安全的,那么多个线程可以同时访问它,并且不会发生不一致的情况。线程安全的类通常通过同步机制来实现,比如说使用 synchronized 关键字,或者使用 java.util.concurrent 包中的线程安全类。Callable接口定义了一个有返回值的任务,它有一个泛型参数V,表示任务执行完成后的返回值类型。Callable接口中只有一个方法call(),用于执行任务并返回结果。

2023-03-31 01:14:56 47

原创 JAVA基础知识

1、面向对象编程,让程序的耦合度更低,代码复用性更高。2、与平台无关(JVM)。3、可靠安全,支持多线程。

2023-03-31 01:11:46 67

原创 JVM相关知识点

JVM :Java virtual machine,是Java程序运行的基础,基于不同的操作系统,将字节码转换为机器码,进而管理并运行。1、方法区:存储已经被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等。2、栈:又称方法栈,被线程私有,线程执行都会建立一个栈用于存储局部变量表,操作站,动态链接,方法出口等。3、本地方法栈:执行native方法的栈,类似栈。4、堆:内存管理中最大的一块,被线程共享,几乎所有的对象都存在这。

2023-03-31 01:10:46 39

原创 Idea新建maven类型springboot项目

开始创建项目,进入到idea首页,点击create new project ,如图:选择需要创建的项目类型,我这里选择的是使用spring 初始化指引来进行创建。选择自己的jdk版本,next进入到下一步填写项目相关信息, 类型保持初始,用于创建maven项目结构;打包方式根据需要选择;版本信息最好保持,也可以根据需要修改;选择相关的依赖,此处选择的依赖就是项目中所用到的依赖,亦可以不做选择,创建完项目后去到pom文件中进行手动导入。定义项目名称,定位存储位置,finish即可..

2021-12-11 00:23:13 1251

原创 spring框架的简化理解笔记

Spring框架spring框架怎么定义?它是一个轻量级的项目开源框架,是一个现成的项目架构,企业可以运用框架已有的功能进行搭建自己的项目。那么为什么要用它呢?优点ioc编程(控制反转IOC和依赖注入di)方便解耦,简化开发。怎么理解?解耦就是将项目的各个部分划分的更加的清晰,减少类与类之间的耦合度,将创建类的工作交给了spring来完成(IOC)。平时我们创建了都是通过new来进行的,在spring中不需要,如果一个类需要用到另一个类,可以通过注入的方式来进行调用。aop编程(面向切面编程)。

2021-06-13 15:48:36 80

原创 MYSQL数据库、java面试

基础三大范式:一)每个列都不可拆分 二)非主键完全依赖于主键 三)在二的基础上不依赖其他非主键数据类型整数类型:tinyint、smallint、mediumint、int、bigint小数类型:float、double、decimal日期类型:year、time、date、datetime、timestamp文本、二进制类:char、varchar、tinyblob、blob、mediumblob、longblob、text、mediumtext、longtext、varbinary、bina

2021-05-28 18:10:10 65

原创 稀疏数组和队列

稀疏数组和队列问题描述:当一个数组的大部分的元素为0,或者是同一个值时,可以使用稀疏数组来保存处理方法:记录数组一共有几行几列把不同值的元素的行列及值记录在小规模的数组中,缩小程序的规模实例:处理下图的二维数组二维数组转稀疏数组第一步:遍历二维数组,找到有效值的个数sum(不为0)第二步:创建稀疏数组sparseArr in【sum+1】【3】第三步:将二维数组的有效数据存进稀疏数组稀疏数组转二维数组第一步:先读取稀疏数组的第一行,根据存储的行数列数创建原始二维数组第二步:读取

2021-05-27 19:37:19 52

原创 哈希表简要理解

哈希表哈希表是根据给出的值,调用哈希函数获取哈希地址,从而进行存储的一种数据结构。实例:哈希表长度14,哈希函数H(key)=key mod 7。存储数字15,15 mod 7=1,存储在地址1;存储数字61,61 mod 7 = 5,存储在地址5,以此类推。存储数字8,8 mod 7 = 1,地址重复,使用二次再探测排列,即是地址按照原地址+x,其中x是1²、-1²、2²、-2²、、、、(重复就选下一个);开放定址法Hi=(H(key)+di)mod m;m是表长,di为增量序列

2021-05-27 16:52:41 477

原创 Linux命令

关机重启shutdown:关机shutdown -h -now:立即关机shutdown -h 1:一分钟后关机shutdown -r now:立即重启halt:关机reboot:重启sync:将内存数据保存到磁盘用户管理useradd 用户名:添加用户useradd -d 目录 用户名:添加用户到指定组passwd 用户名:更改用户密码userdel 用户名:删除用户userdel -r 用户名:删除用户和对应家su 用户名:更改用户exit:退出当前用户文件编辑器

2021-05-25 17:29:11 134

原创 Redis数据库

基本概念 非关系型数据库。可以存储键(字符串)和五种不同的数据类型的映射。优点:读写性能好(基于内存,类似于HashMap数据结构简单,单线程)支持数据持久化支持事务数据结构丰富支持主从复制,进行读写非分离缺点:容量收到物理内存的限制不具备自动容错和恢复主机宕机,未能及时同步数据到从机难在线扩容基本数据类型String: 字符串、整数、浮点数List:列表。Set:无序集合。数据结构类似hashmapHash:包含键值对的无序散列表Zset:有序集合,数据结构

2021-04-12 17:49:19 77

原创 事务ACID

四大特性原子性a不能分割,事务是最小的执行单位。一致性c执行事务前后的数据保持一致,多个事务对同一个数据的读取结果是一样的。隔离性i并发访问数据库,事务之间不会互相干扰,独立。持久性d一个事务提交了之后,对数据库数据的改变是持久的。脏读B事务读取A事务未处理完的数据,导致数据错误。例子:A存钱500,还没输密码,B读取余额,A的密码错误。此时B读取的余额是错误的。不可重复读一个事务内,多次读同一个数据不同的值(被另一个事务修改了)。幻读两次查询返回的结果集不一样。隔离级别1

2021-04-12 17:02:16 50

原创 Java SE知识点、java基础面试

Java SE基础知识1、面向对象的四大特征1、抽象将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象,只关注有什么,而不关心实现。2、封装将数据和对数据的操作包围,只能通过接口对内部数据进行访问,保证了数据的安全性。3、继承从已有类中获得属性和方法,创建新的类方法,使得不断更新的软件系统得以延续。4、多态允许相同的或者不同子类对象对同一个消息做出不同的响应。必须有继承、重写和父类对象引用子类对象(向上转型)。2、==、equals和hashcode的联系1、==基本类

2021-04-12 16:05:07 71

空空如也

空空如也

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

TA关注的人

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