自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSL/TLS

对于开发者而言,虽然 SSL/TLS 握手过程的细节和密钥管理是透明的,但了解这些过程有助于理解 HTTPS 的安全性,帮助识别和解决可能的安全问题。在实际应用中,SSL/TLS 握手由库或框架处理,开发者通常只需要关注配置和调试,而无需直接操作握手过程的各个步骤。

2024-09-09 09:11:53 1299

原创 超时订单的几种解决方案

下面我们就来详细介绍以下这些方式的具体实践步骤。

2024-08-23 11:20:08 560

原创 笔试-一个数可拆为若干个平方数累加,求最少需要几个完全平方数(可重复)?

dp公式 添加第i个因子时 数字j 需要的最少因子个数 dp[j]=j/(i*i)+dp[j%(i*i)];我们发现在计算添加因子2*2时 每个数(n)的最小因子数等于 n/(2*2)+上一个在n%(2*2)位置的数。dp[i][j]=j/(i*i)+dp[i-1][j%(i*i)] 2

2024-08-22 15:46:52 327

原创 面经总结-队列实现原理

当队列非空的时候消费者可以消费消息,队列非满的时候生产者可以生产消息,为了保证消息的一致性和准确性可以使用锁来实现消息生产可消费的安全性。//元素容量 当size==n的时候禁止入队操作,等size==0时禁止出队操作。若 tail==n tail=0;元素出队时: items[head]=e;若 head==n head=0;初始head=tail=0;元素出队时: items[head++]=null;元素入队时 :items[tail++]=e;

2024-08-22 12:55:27 470

原创 java线程池详解

抛出来拒绝新任务的处理。:调用执行自己的线程运行任务,也就是直接在调用execute方法的线程中运行(run)被拒绝的任务,如果执行程序已关闭,则会丢弃该任务。因此这种策略会降低对于新任务提交速度,影响程序的整体性能。如果你的应用程序可以承受此延迟并且你要求任何一个任务请求都要被执行的话,你可以选择这个策略。:不处理新任务,直接丢弃掉。:此策略将丢弃最早的未处理的任务请求。举个例子:Spring 通过或者我们直接通过的构造函数创建线程池的时候,当我们不指定拒绝策略来配置线程池的时候,默认使用的是。

2024-08-21 15:17:57 1048

原创 AQS理解

线程进入同步队列: 当tryAcquire失败时,线程会通过acquire方法进入同步队列,并通过进入阻塞状态。资源释放和唤醒: 当资源被释放时,release方法会调用tryRelease并唤醒队列中的下一个线程。被唤醒的线程会尝试再次获取资源。这种机制确保了多线程环境下资源的公平和有效管理,同时处理了线程的阻塞和唤醒。条件队列结构: 是一个单向链表,用于管理等待某个条件的线程。线程阻塞: 线程调用await()方法时,会被加入条件队列并进入阻塞状态。线程唤醒: 当条件满足时,线程会通过。

2024-08-21 13:00:19 641

原创 stream流详解

通过数据源生成流一个流后面可以跟一个或者多个中间操作,其中主要的是打开流,做出某种程度的过滤,然后返回一个新的流 给下一个操作使用。接口中的方法 boolean(T t):对给定参数进行判断,返回一个布尔值IntStream:表示原始int 流ToIntFunction接口中的方法 int applyAsInt(T value)InStream流中的特有方法 int sum()常见的函数式接口:1.Supplier接口 生产数据 T get()

2024-08-20 15:20:47 861

原创 集合遍历的几种方式

迭代器(Iterator)方式遍历;For Each 方式遍历;Lambda 表达式遍历(JDK 1.8+);Streams API 遍历(JDK 1.8+)。使用 Streams API 单线程的方式进行遍历;使用 Streams API 多线程的方式进行遍历。

2024-08-20 10:42:12 386

原创 java 集合详解

Java 集合,也叫作容器,主要是由两大接口派生而来:一个是Collection接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。Collection接口有三个子主要的子接口:List ,Set,Queue。下面我们就来详细的介绍:List ,Set, Queue,MapList:存储的元素是有序可重复的。Set:存储的元素是无序不可重复的。Queue: 按特定的排队规则来确定先后顺序,可重复。

2024-08-16 17:31:32 5689

原创 mysql-并发编程

肮读,丢失修改,幻读,不可重复读脏读:A事物修改后的数据被B事物读取的到,然后A事物又执行了回滚操作,这个时候B读取道德数据就是脏数据。丢失修改:A和B同时对一份数据进行修改,导致B覆盖A幻读:一个事物前后读取数据不一致不可重复度:一个事物前后读取数据量不一致肮读,幻读,不可重复读肮读肮读,幻读(mysql默认的隔离级别)肮读,幻读,不可重复读。

2024-08-14 21:27:01 962

原创 mysql-基础架构-存储引擎

server层包括:连接器:身份认证和权限相关查询缓存:执行查询语句的时候,会先查询缓存分析器:没有命中缓存的话,SQL 语句就会经过分析器,对sql进行语法检查优化器: 按照 MySQL 认为最优的方案去执行,产生执行计划和选取索引执行器:操作存储引擎,返回结果引擎层:插件式存储引擎,支持多种引擎,5.5版本之后默认使用的是innoDB存储引擎,主要负责数据的存储和读取。下面我们就着重来介绍它。首先我们需要了解存储引擎是基于表的而不是数据库。1)支持事物(undolog) ,外键。

2024-08-14 14:32:17 946

原创 mysql-数据库规范

主要包括: 数据库命名,设计,字段设计,索引设计与选取,sql开发规范。

2024-08-14 11:27:37 786

原创 若依权限详解

为了方便理解将权限分为了权限定义和权限控制,而权限的控制又分为接口权限控制和数据权限控制,希望对大家有帮助

2024-08-05 16:15:30 2334 1

原创 spring事务

我们知道jdbc通过connnection对事物进行控制,mybatis使用sqlsession对事物进行控制,显而易见 我们使用不同的数据库访问技术时,事物的控制方式总会发生变化,有什么好的解决方案呢?这个时候spring它来了,spring在这些技术的基础上,提供了一套控制事务的统一接口。手动管理事务,实际应用中很少使用,但是对于你理解 Spring 事务管理原理有帮助。

2023-09-06 18:02:19 83 1

原创 java io详解

底层操作会对内核缓冲区进行监控,等待缓冲区达到一定数量的时候,再进行IO设备的中断处理,集中执行物理设备的实际IO操作,这种机制提升了系统的性能。所以,用户程序的IO读写程序,在大多数情况下,并没有进行实际的IO操作,而是在进程缓冲区和内核缓冲区之间直接进行数据的交换。在IO多路复用模型中通过select/epoll系统调用,单个应用程序的线程,可以不断地轮询成百上千的socket连接,当某个或者某些socket网络连接有IO就绪的状态,就返回对应的可以执行的读写操作。阻塞指的是用户空间程序的执行状态。

2023-08-12 18:39:18 378 1

原创 rabbitmq启动出现错误

rabbitmq启动报错误

2023-02-01 02:27:57 1366

原创 蓝桥云最短路 c++

蓝桥云最短路 c++

2022-12-03 21:48:49 345

原创 ssm整合半注解开发全注解开发

ssm整合基础

2022-10-25 09:02:39 143

空空如也

空空如也

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

TA关注的人

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