自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 获取Controller层接口信息,并组装,返回前端

获取Controller层接口信息,并组装,返回前端描述信息组装在swagger中:在Controller层中的方法上添加如下注解:@ApiOperation(value = “获取所有api资源”)淡然也能自定义注解线上慎用,推测其可能swagger底层使用的也是该原理。

2024-06-25 17:04:23 380

原创 读取文件将其转换为实体类对象(前提文件中内容是json字符串)

读取文件——>转换为字符串——>生成实体类这种工具类,有一个就够了,能用很久很久,但是还得与时俱进才行。

2024-05-18 11:22:44 328

原创 HTTP协议和RPC协议:之间调用问题?

当被问及到HTTP协议和RPC协议时,被问到,当一个系统支持HTTP协议,另一个系统支持RPC协议,在不限定语言的情况下两个系统能否实现调用:1、HTTP协议的系统调用RPC协议的系统怎么调用2、RPC协议的系统调用HTTP协议的系统怎么调用应该怎么回答我的回答是无脑提示:以下是本篇文章正文内容,下面案例可供参考在不限定语言的情况下,只要两个系统都提供了相应的接口和协议支持,HTTP协议的系统和RPC协议的系统是可以实现调用的。通常需要一个中间层或适配器来实现协议之间的转换和通信。

2024-05-17 10:52:53 671

原创 Git 怎么解决每次clone代码时候输入用户名和密码:

1、为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置。3、获取 RSA 公钥内容,并配置到 SSH公钥 中。1、什么情况下需要配置什么情况下不建议这样配置。什么叫环境变量:简单讲就是快捷键。2、生成 RSA 密钥。

2024-04-17 17:13:32 988 1

原创 Java中的System

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将一个数组中指定范围的元素复制到另一个数组中的指定位置。System.nanoTime():返回当前时间(以纳秒为单位)自某一固定但任意的起始时间以来的纳秒数。System.exit(int status):终止当前正在运行的Java虚拟机,并返回指定的状态码。System.getProperties():获取当前系统的所有系统属性。

2024-04-16 16:07:32 371

原创 刚入算法时候自己的胡乱整理-javaAPI,JDKAPI,算法常用javaAPI,算法常用工具类

算法第一步:先学API实在是太多了,我刷了一百道左右,整理出来了里边用到的java中的API如下,有点乱,但是用的时候可以control+f进行搜索,当然这也是我的一个简化版本的API

2024-03-05 16:57:30 682

原创 单链表的排序-力扣算法题

长期主义就是坚持,任重而道远,当一件平凡的事情坚持下去就会有意想不到的结果,加油。

2024-03-04 15:41:35 1015

原创 elasticsearch中的DSL语句操作

创建索引时,可以定义索引的结构和行为,例如分片数量、副本数量,以及字段的类型。更新设置,删除索引中的数据,以及整个索引的删除,都是索引生命周期的常见操作。Elasticsearch查询DSL非常灵活和强大,支持各种条件和结构复杂的查询,满足几乎所有搜索需求。在构造查询时,这些字段以JSON对象的形式组合在一起,形成对Elasticsearch数据的精确和高效查询。每个查询类型针对不同的使用场景和需求,从简单的文本匹配到基于地理位置和其他高级功能,为数据检索提供了广泛的可能性。查询指定字段中有值的文档。

2024-03-01 18:18:15 1046

原创 Elasticsearch-浅尝-java整合和一些相关概念理解

例如,当你需要更改索引结构,或者重新导入数据以优化查询性能时,可以先构建一个新的索引,然后通过更改别名的指向来无缝切换到新索引。在上述代码中,首先创建了IndicesAliasesRequest来添加新索引的别名,然后执行了添加操作,这样新的索引就可以通过别名被检索到。在这段代码中,我们构建了一个布尔查询,它结合了多个条件:必须匹配一个值,必须不包含另一个范围的值,应该匹配第三个值,以及按第四个值进行过滤。如果你的应用需要以上的能力,考虑Elasticsearch往往是一个合适的选择。

2024-03-01 16:44:28 750

原创 常用Linux命令

作为程序员,对于Linux命令需要有一定的掌握,最起码万一部署在服务器上,咱们能知道怎么操作:

2024-02-29 17:27:37 766

原创 Mysql之面试题之索引

写这个MySQL的人也是牛逼,这就是一个Excel表格由之前的直接可视化界面操作被改成通过命令操作。简而言之就是:在数据库系统中,我们考虑的主要构成包括库(数据库)、表、行(记录)、索引这四类对象。每类对象上都可以进行增加、删除、修改、查询等操作。然而,数据库系统设计和优化的重点通常集中在索引的管理、事务的处理以及锁的控制上。这些机制确保了数据库在执行操作时,不仅遵循ACID原则,即原子性、一致性、隔离性、持久性,也保证了数据处理的高效率。

2024-02-28 13:08:06 807

原创 截取链表最后几个数据-链表中倒数最后k个结点

在我看来就是个花活,其实并不难主要是代码实现的思想。解决这个问题的一个有效方法是使用“双指针”技术。具体来说,可以设置两个指针,第一个先前进k步,然后两个指针一起前进,直到第一个指针到达链表尾部。此时第二个指针所指向的就是链表的倒数第k个节点。初始化两个指针 fast 和 slow,都指向链表的头节点。移动 fast 指针k步。如果在移动过程中 fast 达到链表尾部(即 fast 成为 null,则链表长度小于k,返回一个新的、长度为0的链表(或null,根据题目描述)

2024-02-28 10:07:30 344

原创 链表算法题:-链表拆分将链表按照下标索引拆分成奇数链表和偶数链表两个链表

链表操作:最开始我也没弄懂,但是这个就是不断的debug这样才能找到更合适的结果。牛网连接难点:拆分的时候需要注意对象的变化,最开始的时候我并不理解对象为啥最后head是返回值,后来梳理多次才能理解:原来是第一个节点,并不是什么固定的值再就是指针的正确移动和对象正确的数据变化。指针其实就是:动态变化的链表中的一个值。

2024-02-27 19:01:58 393

原创 spring面试题

虽然说是为了面试,但是呢我们也得不断学习,先学习思想很重要,只有思想到了,技术什么的我理解用一用,整理一下怎么使用就OK了。若是还有什么新的面试题,我会补充,也希望大家能留言共同维护当然可以私聊,我希望能结交一些志同道合的朋友含义:这个注解表明一个类将被Spring IoC容器作为组件类处理,即该类的实例可以由容器创建和管理。使用:通常标注在类上,作为通用的组件标识,通常与@Autowired结合使用进行依赖注入。

2024-02-26 13:48:28 844

原创 springAOP落地实现

江湖阳哥曾经说过这么句话:使用技术在当前这个环境中无非就是这么几步:1、引入POM(maven)坐标2、改yml(配置文件也可以是properties等等)3、写配置类或者在启动类上加注解4、写代码就完事提示:以下是本篇文章正文内容,下面案例可供参考好了尽情的开发使用吧,其实这个是为了我写那个面试题的文章准备的哈哈哈哈。

2024-02-26 00:02:42 1823

原创 算法分析-面试1-字符串

算法:一个刷一段时间很有感觉,然后一段时间内不刷又忘了的一种面试工具。但是重点还得理解其思想。其实还是对字符串的增删改查遍历(正序、倒序、修改后或者替换后再遍历),总的来讲这是最简单的,主要是得明确哪些API的作用是什么,以及正则表达式怎么用。

2024-02-24 14:42:01 987

原创 真的是性能优化(压测)-纯思想

若是有不足的地方还希望能指出来,共同完善,不胜感激路虽远,行则将至,事虽难,作则必成总想做好这件事情,但是奈何自己能力有限,古话讲一个好汉三个帮,一个篱笆三个桩。希望能遇到志同道合的朋友。

2024-02-23 16:54:22 1787

原创 Redis面试题——恕我无能只写到了第十个就写不下不去,我相信你们也看不下去了,这会已经一万五千字了,等后续有精力在补全吧

我只能说任重道远,慢慢学习吧,有些问题真的仅仅是为面试准备的,毕竟用其实用的也仅仅是一部分,再就是Redis是用C语言写的,对于java来讲算是黑盒,一点也不为过,但是呢面试需要,有些知识得学一学。我真的是不想整理这个,主要是有的我也不是很了解。时间:2024-02-06 下午四点:我现在分析了第10个问题,我真的不想分析了,我就感觉想吐我得缓缓才分析,实在是太多了,各位要是看请耐下心来,在不直接去看官网吧。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-02-06 16:13:10 1136

原创 Redis——面试+思想+应用

提示:理论+方法+小总结Redis(Remote Dictionary Server)是一个开源的、基于内存的高性能键值存储的内存数据库。它支持多种基础数据结构1、字符串(Strings)2、哈希(Hashes)3、列表(Lists)4、集合(Sets5、有序集合(Sorted Sets)以及更高级的数据结构如1、位图(Bitmaps)2、超日志(Hyperloglogs)4、地理空间索引(Geo indexes)每种模糊搜索方式都有其适用范围与限制。

2024-02-06 13:07:09 1285 3

原创 JVM——一个神圣的话题,可远观而不可亵玩焉

算法:复制算法优点:简单高效,适用于单线程小型应用缺点:停顿时间较长默认区域:新生代算法:复制算法优点:多线程并行收集,适用于多核CPU环境缺点:停顿时间较长默认区域:新生代算法:标记-整理算法优点:简单高效,适用于单线程小型应用缺点:停顿时间较长默认区域:老年代算法:标记-整理算法优点:多线程并行收集,适用于多核CPU环境缺点:停顿时间较长默认区域:老年代算法:标记-清除算法优点:并发收集,停顿时间短。

2024-02-06 11:11:23 1939 1

原创 Mysql-我眼中的一个数据存储软件,我把他比作记事本、word我感觉不为过

在学习工作这些年中,Mysql一直离不开,但是我们在实际中使用到的也仅仅是他的十分之一都不到(数据不一定准确),但是作为我认为很强大的一个程序,我们很有必要去了解一下他的思想。致敬:迈克尔·维德纽斯(Michael Widenius)、詹姆斯·尼古拉·格雷但是我们使用的时候也是遵从四步:增、删、改、查1、提升查询效率:这是索引最直接和最主要的目的。2、部分情况下减少回表:这是覆盖索引能够带来的利益之一。通过直接从索引中获取所需数据,避免了访问数据表3、提升排序效率。

2024-02-05 14:31:43 991

原创 动态代理——既有落地也有思想

就是个思想,只要是知道怎么回事就行,反正我开发这么久用到的就是SpringAOP并没有别的使用场景。SpringAOP也就是一句话:Spring使用这种根据目标对象是否实现接口来选择代理模式的策略,主要是为了提供最大程度的灵活性和兼容性。如果目标对象实现了接口,使用JDK代理可以提供更好的性能。如果目标对象没有实现接口,CGLIB代理能确保AOP仍然可以进行,确保不会因为实现方式的不同而限制了AOP的应用。通过一个代理对象来间接访问目标对象的方法。代理可以是静态的也可以是动态的。

2024-02-05 10:25:53 757 1

原创 零拷贝--不用落地,理解思想即可或者说知其然即可

零拷贝(Zero-Copy)是一种计算机文件传输或网络传输的优化技术,用于最小化在操作过程中的CPU拷贝操作,降低上下文切换和CPU的占用,同时也可以减少不必要的内存使用。在没有零拷贝的情况下,数据通常在内核空间与用户空间或者不同的内存区域之间复制多次。1、操作系统从磁盘读取数据到内核空间的缓冲区。2、应用程序从内核缓冲区读取数据到用户空间的缓冲区。3、应用程序写数据到内核空间的另一个缓冲区,这个缓冲区是为了网络发送准备的。

2024-02-04 13:56:22 797

原创 锁-java中的锁-很有意思的一个思想

ReentrantLock 底层使用了 AQS 提供的框架。AQS 使用一个内部的 FIFO 队列来管理线程的获取和释放锁。AQS 通过一个叫做 state 的原子变量来控制锁的状态,它利用 CAS 操作来修改这个状态,比如进行独占式获取和释放。

2024-02-04 13:05:42 677

原创 工作这些年代码中用过哪些设计模式

工作这些年,编写项目的时候有用过设计模式吗?我TM感觉这是个哲学问题今天就聊一聊我常用的设计模式。涉及模式任重而道远啊,当你学习了DDD之后,你会由衷的发现,设计模式带来的好处。并且,思想这种东西,和落地还是有差别的,但是依旧需要思想先行。

2024-02-03 23:54:12 745 1

原创 三级?是缓存不是片! spring的三级缓存---学习spring框架第一步

spring的三级缓存,一个很有意思的实现方式:其实他仅仅是spring类加载过程中的一个很小的点:从一下几个点来描述三级缓存:1、解决了什么问题2、是怎么解决的3、反思总结至于后边的补充什么的,看自己兴趣看来,想看就多看看,没有坏处提示:以下是本篇文章正文内容,下面案例可供参考Spring的三级缓存机制有效地解决了循环依赖的问题使得Bean的创建和依赖注入变得更加灵活和稳定。这种设计允许开发人员在不必考虑Bean相互依赖顺序的情况下组织他们的代码从而大大减少了配置的复杂性。

2024-02-02 14:08:39 945

原创 MVCC——一个我特别不想聊的技术

整理了三天,总算是出来了,但是还没有到自己想要的那么精简so,有好的意见记得找我哦1、并发控制是数据库管理系统同步多个事务的行为2、避免由于事务之间的相互影响引起的一系列问题。如果不妥善处理,并发操作可能会导致数据不一致,例如脏读(读取未提交的数据)。

2024-02-02 11:01:06 719

原创 线程池的拒绝策略应该怎么选

拒绝策略会通知调用者任务无法被线程池处理。示例:AbortPolicy拒绝策略允许调用者线程自己执行被拒绝的任务。示例:CallerRunsPolicy拒绝策略静默地丢弃无法处理的任务,不执行也不抛出异常。提示:以下是本篇文章正文内容,下面案例可供参考在选择使用哪种拒绝策略时,你应该考虑到应用程序的具体需求和行为。例如,可以基于任务的重要程度和接受程度,系统的容错性,以及任务丢失对系统可能产生的后果。

2024-01-31 12:47:51 1017

原创 线程池-一个很有意思的话题

线程池:简单理解就是存储线程的一个容器:(java中的池化思想)提取关键字:线程、容器1、什么是线程?线程是操作系统调度执行的最小单位,用于实现并行处理,提高应用程序的响应性和性能。在Java中,线程是实现并发编程的基本构建块。后边会有更详细的解释:2、什么是容器(池子)用于管理多线程的创建、执行、调度和销毁的容器。后边会有更详细的解释抛出一个问题:线程池的参数应该怎么赋值?真的是按照理论分析,什么CPU密集型或者是IO密集型吗?

2024-01-31 10:21:18 902 1

原创 springBoot项目中怎么实现接口拦截

在Spring Boot项目中实现接口拦截通常涉及到两个关键组件:拦截器(Interceptor)和过滤器(Filter)。Spring框架提供了这两种机制来进行HTTP请求的拦截,可以根据需要的粒度和场景来选择使用重点但是在项目中都是将其抽取出来作为一个单独的权限服务,和用户是绑定的关系,并非是直接在代码中进行硬编码做拦截接口,而是通过注解或者是通过配置文件,在访问接口前通过调用RPC接口的方式进行权限校验等等。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-01-30 13:17:12 2062

原创 动态规划-0-1背包问题

工作四年的我开始重新认识算法,天才第一步,雀氏纸尿裤,算法第一步,API+强大脑回路聊聊动态规划:一种很不错的思想:借势,当已经知道(已经算过)前边哪个最好了或者是已经知道前边的结果了直接拿来用,作为后续数据的一个基础,好比spring,不要重复制造轮子代码实现和理论分析还是存在差别的,这里依旧是思想先行,代码不明白就直接粘到idea中进行debug调试,将数据都展示出来,走过几次也能明白还是那句话:路虽远,行则将至,事虽难,作则必成。

2024-01-28 14:58:25 950

原创 java中的二叉树遍历

抛出几个问题java中什么是二叉树?在java中怎么体现?怎么进行增删改查?

2024-01-27 15:36:29 1054

空空如也

空空如也

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

TA关注的人

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