自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

warriorup的博客

知行合一

  • 博客(30)
  • 收藏
  • 关注

原创 极简—文件上传

极简—文件上传

2024-05-17 17:25:30 311

原创 欧几里德算法

计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。

2024-05-06 15:19:14 240

原创 极简—springMVC工作流程

1、流程图2、流程发起请求:客户端通过 HTTP 协议向服务器发起请求。前端控制器:这个请求会先到前端控制器 DispatcherServlet,它是整个流程的入口点,负责接收请求并将其分发给相应的处理器。处理器映射:DispatcherServlet 调用 HandlerMapping 来确定哪个 Controller 应该处理这个请求。通常会根据请求的 URL 来确定。处理器适配器:一旦找到目标 Controller,DispatcherServlet 会使用 HandlerAdapter

2024-05-06 14:23:35 443

原创 完全数计算

例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。输入n,请输出n以内(含n)完全数的个数。输出不超过n的完全数的个数。

2024-05-03 20:14:29 193

原创 用过最好用的AI工具

简介:探讨人们在使用AI工具时,最喜欢的和认为最好用的工具是哪些,展示AI技术的实际应用和影响。个人觉得用了对应的AI工具后效率变高了。免费的地址:chart GPT 3.5。阿里的:IDEA里面用的通义灵码。AI的发展日新月异,挺快的。方向一:常用AI工具。方向二:创新AI应用。方向三:个人体验分享。

2024-05-02 19:11:14 151

原创 算法—四则运算

保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。输入一个表达式(用字符串表示),求这个表达式的值。数据范围:表达式计算结果和过程中满足。

2024-05-02 19:02:16 223

原创 极简——高并发下缓存穿透、雪崩、击穿定义和解决方案

查询一个一定不存在的数据,由于缓存不命中,将去查询数据库,但是数据库也没有这个数据,我们没有把查询的null写入缓存,这就将导致这个不存在的数据每次请求都去数据库查询,失去了缓存的意义;

2024-05-02 18:37:44 498

原创 百钱买百鸡问题

公元五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?输出有数行,每行三个整数,分别代表鸡翁,母鸡,鸡雏的数量。现要求你打印出所有花一百元买一百只鸡的方式。输入任何一个整数,即可运行程序。

2024-05-01 09:10:13 61

原创 统计每个月兔子的总数

有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?输入一个int型整数表示第n个月。

2024-05-01 08:22:56 75

原创 输入一行字符统计字符长度

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。统计其中英文字符,空格字符,数字字符,其他字符的个数。数据范围:输入的字符串长度满足。输入一行字符串,可以有空格。

2024-05-01 08:03:26 144

原创 极简—CAP理论简要说明

一致性(Consistency):指所有节点在同一时间看到的数据是一致的。即当一个节点对数据进行了更新操作后,所有其他节点在之后的读取操作中都能立即看到这一更新。可用性(Availability):系统提供的服务在任何时候都应该是可用的,即使出现了部分节点故障或延迟。分区容忍性(Partition Tolerance):系统能够容忍网络分区,即系统中的节点可以被分成多个分区,这些分区之间可能由于网络故障而无法通信。

2024-04-30 16:59:28 197 1

原创 IntelliJ IDEA 的Java注释模板如何配置

1、首先打开 IDEA 设置 Settings…(Windows 快捷键:Ctrl + Alt + S,Mac 快捷键:command + ,)—> Editor —> Live Templates —> 点击右侧加号。

2024-04-30 14:31:05 712 1

原创 面试:小内存读取大文件实战

内存只有1M但是读取1G的文件并对出现字符的频率排序top5。

2024-04-29 14:41:48 291 1

原创 极简—Spring AOP快速入门+实战+原理

在代理对象的创建过程中,Spring 会根据切面配置信息来决定是否对目标对象进行增强,并生成相应的代理对象。2、连接点的确定:连接点是在程序执行过程中可以插入切面的点,如方法调用、方法执行、异常抛出等。5、目标对象的调用:最终,代理对象会调用目标对象的方法。如果存在 Around 类型的通知,它会在目标方法执行前后进行拦截,从而允许切面在目标方法执行前后添加额外的逻辑。4、增强的应用:通知执行时,会将增强逻辑(Advice)应用于目标对象上,从而实现对目标对象的增强。2、需要被打印日志的方法。

2024-04-26 15:01:01 413 2

原创 极简-如何快速创建SpringBoot的web项目

5、启动项目即可,springboot的web项目创建完成。6、创建一个controller访问试试。1、通过官网下载对应包导入到idea中。1、通过idea创建project。2、填写名称,点击create。3、在pom.xml中添加依赖。4、创建类,名字自己起一个就行。2、通过idea的脚手架创建。3、创建后自己添加依赖。7、通过前台页面访问。

2024-04-26 11:22:40 434 3

原创 对字符串中的所有单词进行倒排

3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;对字符串中的所有单词进行倒排。4、每个单词最长20个字母;输入一行,表示用来倒排的句子。

2024-04-25 13:46:07 97

原创 免费好用的chartGPT

https://chat18.aichatos.xyz/#/chat/1713260600713

2024-04-25 12:22:45 658

原创 删除字符串中出现次数最少的字符

实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。1≤n≤20 ,保证输入的字符串中仅出现小写字母。删除字符串中出现次数最少的字符后的字符串。数据范围:输入的字符串长度满足。

2024-04-25 12:15:22 231

原创 java线程池极简入门

1、核心线程数 (corePoolSize):这是线程池在没有任务执行时保持存活的线程数,即使这些线程处于空闲状态。如果线程池的当前线程数小于这个值,则新提交的任务将创建一个新线程来处理请求,即使其他线程空闲。3、空闲线程存活时间 (keepAliveTime):当线程池中的线程数量超过核心线程数时,多余的线程在空闲状态下的最长存活时间。2、最大线程数 (maximumPoolSize):这是线程池允许创建的最大线程数。5、此时线程数大于等于最大线程数,则实行线程池自定义的拒绝策略。2、提高程序响应速度;

2024-04-24 17:06:09 1265

原创 JWT极简入门

JWT全称为(Json Web Token),通过数字签名的形式,以JSON对象为载体,在不同的服务终端之间安全的传输信息。

2024-04-23 15:47:14 155

原创 算法-简单密码

算法-简单密码。

2024-04-19 15:07:55 129 1

原创 输入整型数组和排序标识,对其元素按照升序或降序进行排序

第三行输入一个整数0或1。0代表升序排序,1代表降序排序。输入整型数组和排序标识,对其元素按照升序或降序进行排序。第二行输入待排序的数组,每个数用空格隔开。第一行输入数组元素个数。

2024-04-19 14:40:07 96

原创 输入n个整数,输出其中最小的k个

输入n个整数,找出其中最小的k个整数并按升序输出。从小到大输出最小的k个整数,用空格分开。第一行输入两个整数n和k。第二行输入一个整数数组。

2024-04-19 13:30:05 315

原创 截取字符串

输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出。2.输入一个正整数k,代表截取的长度。1.输入待截取的字符串。

2024-04-19 11:33:31 207

原创 提取不重复的整数

输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0。输入一个int型整数。

2024-04-19 10:31:05 127

原创 算法系列解决-取近似值

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内。输出该数值的近似整数值。

2024-04-19 10:23:20 126

原创 windows10 点击键盘win键没有用解决办法

windows11点击键盘win没有用解决办法

2024-01-08 20:36:54 380

原创 maven下载地址

maven下载地址

2024-01-08 19:55:34 390

原创 markdown语法详解

markdown语法使用工具:Typora下载地址点击跳转标题1个#号加空格 一级标题,以此类推;2个#号加空格二级标题加粗和斜体​ 两边加2个*号:加粗​ 两边1个*号:斜体删除​ 两边两个波浪线:删除效果引用大于符号加空格分割线三个减号三个*号图片!和中括号(图片名称)后面加括号(路径)超链接点击跳转超链接有序列表有序列表序号点加空格ctrl加单机取消有序列表无序列表减号空格可以得到无序列表ctrl加下一行

2022-02-27 13:13:57 900 1

原创 设计模式总结

设计模式概述前言设计模式产生背景学习设计模式的意义设计模式的分类根据目的分类根据作用范围分类Gof的23种设计模式的功能前言从今日起,开始系统学习 23种设计模式 。从机械行业转行进入程序员行业也有这么久的时间了,发现如果学习了技术而不总结内化始终都不是自己的,因此以后会对工作和学习遇到的技术或经验进行总结归纳,现在就以设计模式开头定期写 博客,在此立下flag,每周至少1篇文章的量并用心写,...

2020-01-12 14:48:36 127 2

foxmailsetup免费下载

foxmailsetup免费下载,免费下载foxmail安装包,

2024-04-29

并发容器和线程池,java并发编程3

JDK提供的这些容器⼤部分在java.util.concurrent包中。我们挑选出⼀些⽐较有代表性的并发容器 1 类,来感受⼀下JDK⾃带的并发集合带来的“快感”。 ConcurrentLinkedQueue是⼀个基于链接节点的⽆界线程安全队列,它采⽤先进先出的规则对节点 进⾏排序,当我们添加⼀个元素的时候,它会添加到队列的尾部,当我们获取⼀个元素时,它会返 回队列头部的元素。 ● ConcurrentLinkedQueue算是在⾼并发环境中性能最好的队列。底层由单向链表组成,每个节点结 构如下所示:在⼤多数的应⽤场景中,读操作的⽐例远远⼤于写操作。那么,当执⾏读操作的时候,对数据是没 有修改的,所以,⽆须对数据进⾏加锁操作。⽽针对于写操作的场景中,则需要加锁来保证数据的 正确性。 ● ⽽CopyOnWriteArrayList就可以满⾜上⾯所说的场景,即:读操作是不加锁的。⽽写操作也不会 阻塞读的操作,它采⽤了CopyOnWrite⽅式来解决写操作的问题,即:写⼊操作时,进⾏⼀次⾃我 复制产⽣⼀个副本,写操作就在副本中执⾏,写完之后,再将副本替换原来的数据。这样,就可以 在写数据的

2024-04-29

并发编程基础知识,java内存模型及多线程、volatile

Java内存模型,即:JMM。当程序执⾏并⾏操作时,如果对数据的访问和操作不加以控制,那么必 然会对程序的正确性造成破坏。因此,我们需要在深⼊了解并⾏机制的前提下,再定义⼀种规则, 来保证多个线程间可以有效地、正确地协同⼯作。⽽JMM就是为此⽽⽣的。 ● JMM的关键技术点都是围绕着多线程的原⼦性、可⻅性和有序性来创建的。所以,下⾯我们来⼀⼀ 介绍这三种特性。原子性、可见性、有序性。 正常情况下,如果我们不使⽤volatile,那么每条线程都会有⾃⼰的缓存,当全局变量被修改时,其 17 他线程可能并不会被通知到。 ● volatile并不能真正的保证线程安全。它只能确保⼀个线程修改了数据后,其他线程能够看到这个改 动 当我们使⽤volatile去申明变量时,就等于告诉了虚拟机,这个变量极有可能会被某些程序或者线程 修改。为了确保这个变量被修改后,应⽤程序范围内的所有线程都能够“看到”这个改动,虚拟机就 必须采⽤⼀些特殊的⼿段,保证这个变量的可⻅性等特点。 在⼀个系统中,如果线程数量很多,⽽且功能分配⽐较明确,就可以将相同功能的线程放置在⼀个 线程组⾥。守护线程是⼀种特殊的线程,它会在后

2024-04-29

java并发编程-AQS和JUC实战

java并发包详解,condition重入锁;Semaphore信号量;ReadWriteLock读写锁;CountDownLatch计时器;CyclicBarrier循环栅栏; 重⼊锁可以完全替代synchronized关键字。在JDK5.0的早期版本中,重⼊锁的性能远远好于 synchronized,但从JDK6.0开始,JDK在synchronized上做了⼤量的优化,使得两者的性能差距并 不⼤。重⼊锁对逻辑控制的灵活性要远远好于synchronized。 之所以称之为重⼊锁,就是⼀个线程允许反复进⼊。当然,这⾥的反复仅仅局限于⼀个线程;如 果同⼀个线程多次获锁,那么在释放锁的时候,也必须释放相同次数。如果释放锁的次数多,那么 会得到⼀个java.lang.IllegalMonitorStateException异常,反之,如果释放锁的次数少,那么相当 于线程还持有这个锁

2024-04-29

空空如也

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

TA关注的人

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