自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ThinkPet

英语要多说,代码要多敲

  • 博客(434)
  • 资源 (4)
  • 收藏
  • 关注

原创 一种JS遍历Tree数据获取每一层中的某个特定属性的方法

【代码】一种JS遍历Tree数据获取每一层中的某个特定属性的方法。

2024-04-02 13:08:33 111

原创 适用于Vue 3的高颜值UI组件库

适用于Vue 3的高颜值UI组件库

2024-03-24 10:08:34 998

原创 【代码笔记】一种http方式下载文件且支持重试的方法

代码笔记-一种http方式下载文件且支持重试的方法

2023-12-27 23:06:27 477

原创 【面经】先更新缓存好?还是先更新数据库好?

如果数据的一致性非常重要,那么应该选择先更新数据库,再更新缓存的策略。如果数据库的负载是一个问题,那么应该选择先更新缓存,再异步更新数据库

2023-11-10 18:12:22 249

原创 【机试题】LazyIterator迭代器懒加载问题

工具类提供了一个ValueLoader接口,用于获取数据,其中ValueLoader的接口定义为:public interface ValueLoader { List load(long offset, int limit);使用该工具类的地方,需要提供ValueLoader的实现类。将下面这个未完成的Java工具类补充完成,实现懒加载的功能,该类需要实现Iterable接口,能够遍历所有数据。工具类需要支持懒加载,即遍历时按需获取数据,而非一次性获取所有数据到内存之后,再进行遍历;

2023-11-10 15:59:36 591

原创 【机试题】队列并发消费问题

编写一个队列,生产者生产消息(消息内容是1,2,3,…,n),消费者消费消息,并将消息打印到控制台。

2023-11-10 15:55:04 140

原创 【机试题】队列生产消费问题

编写一个队列,生产者生产消息(消息内容是1,2,3,…,n),消费者消费消息,并将消息打印到控制台。1.生产者以每秒10个的速率生产消息,队列满了后阻塞等待;3.消费者以每秒1个的速率消费消息;生产者和消费者在不同的线程;2.队列长度为100;

2023-11-10 15:52:20 102

原创 【机试题】CompletableFuture编排

使用CompletableFuture编排 AService.get()、BService.get()、CService.get(int i) (ABC三个服务返回结果都是int),满足使用A、B的结果相加,再作为参数传给C,取得C的结果后乘以 100 后返回。2.处理异常情况,异常情况返回0。

2023-11-10 15:48:32 89

原创 【机试题】两个链表相减,并以相同形式返回一个表示相减结果的链表

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照顺序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相减,并以相同形式返回一个表示相减结果的链表。输入:l1 = [9,8,7], l2 = [5,1,2]1)除了数字 0 之外,这两个数都不会以 0 开头。2)给定的第一数字一定比第二个数字大。解释:987-512 = 475。输出:[4,7,5]

2023-11-10 15:46:09 116

原创 【机试题】获取三个整数,然后将这三个整数累加,最终返回累加的值

编写一个Java函数,通过调用AService.get()、BService.get()、CService.get()三个接口,获取三个整数,然后将这三个整数累加,最终返回累加的值。2.累加操作需要在获取三个整数的操作完成后进行,因此需要保证三个整数均已获取后才能进行累加操作;1.调用三个接口的操作需要并行执行,以提高效率;3.考虑多线程安全问题。

2023-11-10 15:43:15 124

原创 【机试题】编写一个Java函数,实现批量获取数据的功能

2)在BService.get((List ids)函数内部,需要将传入的id列表分批(每批10个id)进行调用AService.get(List ids)函数获取数据;3)BService.get((List ids)函数需要返回所有批次获取的数据的合并结果,即一个包含所有数据的List;题目:编写一个Java函数,实现批量获取数据的功能(BService.get(List ids))。1)提供一个函数BService.get(List ids),支持最多传入100个id;

2023-11-10 15:41:06 1171

原创 【面经】如何使用less命令查看和搜索日志

less x.log 然后shift+F 在搜索框搜索内容

2023-11-10 09:50:13 663

原创 【面经】如何查看服务器内存和磁盘空间占用

free -g ; df -h

2023-11-09 10:00:26 130

原创 【面经】排查cpu占用100%的操作方法

4. 使用jstack 分析 进程pid,即可找到问题代码位置。将堆栈打印到x.txt,可以查看x.txt即可找到问题代码位置。1.top命令查看cpu100%的进程pid。92156 的16 进制是167fc。

2023-11-09 09:56:55 104

原创 【面经】讲一下Spring Bean的生命周期

Spring容器管理Bean的生命周期,包括实例化、属性设置、初始化、使用和销毁阶段。在初始化和销毁阶段,开发人员可以插入自定义逻辑,以确保Bean的正确配置和资源释放

2023-11-09 09:39:12 68

原创 【面经】常见的Redis缓存问题有哪些?如何解决

穿透-查询了不存在的数据;击穿-热点数据缓存失效;雪崩-大量缓存同时失效

2023-11-09 09:27:30 64

原创 【面经】synchronized和lock的区别

synchronized是Java语言内置的关键词,依赖于JVM的解释器来锁定,而lock是一个接口,由代码实现加锁和解锁

2023-11-09 09:16:25 42

原创 【面经】讲一下BASE理论

其核心思想是即使无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。BASE理论是 基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)的简称。BASE理论满足CAP原理,通过牺牲强一致性获得可用性,一般应用于服务化系统的应用层或者大数据处理系统中,通过达到最终一致性来尽量满足业务的绝大多数需求。

2023-11-09 09:10:54 88

原创 【面经】ES中分片是什么?副本是什么?

分片是将一个索引切分为多个底层物理的Lucene索引,这些被切分出来的每个部分称为一个分片。每个分片都是一个全功能且独立的索引,可由集群中的任何主机存储。在创建索引时,用户可以指定其分片的数量。默认情况下,每个索引有5个分片。分片实现了集群的分布式存储,方便数据在多个节点上进行存储和查询。

2023-11-09 09:02:50 569

原创 【面经】死锁是什么?如何避免死锁?

死锁是指多个线程相互等待对方释放资源,导致程序无法继续执行的情况。

2023-11-09 08:49:35 43

原创 【面经】讲一下springboot自动装配原理

对于第三方jar包,SpringBoot会采用SPI机制,在/META-INF/目录下增加spring.factories文件,然后SpringBoot会自动根据约定,自动使用SpringFactoriesLoader来加载配置文件中的内容。在具体实现上,SpringBoot启动时会依赖@Configuration的配置类,该类中会声明为Bean注解,然后将方法的返回值或者是属性注入到IOC容器中。它能自动地将其他组件中的Bean装载到IOC容器中,而不需要开发人员再去配置文件中添加大量的配置。

2023-11-09 08:43:57 47

原创 【面经】Spring框架中用了哪些设计模式

模板方法模式:Spring框架中的一些模板方法模式可以帮助我们实现代码的复用和抽象。通过模板方法模式,Spring定义了一些通用的操作流程,然后通过回调方法让用户自定义具体的实现。策略模式:Spring的Bean配置中,策略模式允许根据条件动态选择不同的实现。通过观察者模式,Spring可以将事件通知给注册的观察者,从而实现各组件之间的解耦。这只是Spring框架中运用的一些设计模式的简单介绍,实际上Spring还使用了其他许多设计模式来构建灵活、可扩展的应用程序。

2023-11-09 08:18:52 165

原创 【面经】讲一下mysql的b+树

mysql的b+树

2023-11-09 01:05:04 225

原创 【面经】讲一下你对jvm和jmm的了解

Full GC是Java虚拟机中的一种垃圾回收方式。它会在整个堆空间中执行垃圾回收,清理所有不再被引用的对象所占用的内存空间。通常,Full GC会在堆空间或者整个堆空间被占满时触发,它会清理所有的年老代对象和永久代对象。这是一种比较耗时的操作,因为它需要扫描整个堆空间,找到所有不再被引用的对象,并将它们标记为可回收的。堆空间不足:当堆空间的可用空间不足以分配新对象时,会触发Full GC。在这种情况下,Full GC会清理整个堆空间。

2023-11-09 00:44:52 627

原创 【面经】讲一下线程池的参数和运行原理

通过以上参数和运行原理可以看出,线程池可以有效地控制线程的数量和任务队列的大小,从而避免过多创建和销毁线程带来的开销,提高系统的性能和稳定性。线程池通过预先创建一定数量的线程,并将任务提交给这些线程执行,从而避免了频繁创建和销毁线程的开销。如果非核心线程执行完任务后,任务队列中没有待执行的任务,且非核心线程数量小于最大线程数,则创建一个新的非核心线程来执行任务;如果未满,则创建一个新的核心线程来执行任务。如果核心线程执行完任务后,任务队列中还有待执行的任务,则核心线程会从任务队列中取出任务并执行。

2023-11-08 23:52:46 175

原创 Java6种单例模式写法

创建一个枚举,枚举成员为INSTANCE。使用枚举类.INSTANCE即可获取实例。调用静态内部类时,在静态内部类里初始化实例。

2023-11-08 23:09:14 668

原创 设计模式--开篇

设计模式是软件开发过程中面临的通用问题的解决方案。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

2023-11-08 22:58:41 304

原创 【面经】spring,springboot,springcloud有什么区别和联系

它内置了servlet容器,约定大于配置,简化了Spring开发的配置流程,提高了开发效率。SpringCloud:是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。Spring是基础框架,SpringBoot基于Spring进行了简化,而SpringCloud则是在SpringBoot的基础上提供了更全面的分布式系统解决方案。综上所述,Spring、SpringBoot、SpringCloud都是Java开发中的重要框架,它们之间存在一定的联系和区别。

2023-11-08 21:48:31 260

原创 【面经】讲一下spring aop

Spring Aop默认使用的是JDK动态代理。当类没有实现接口时,才使用cglib的动态代理

2023-11-08 21:41:54 162

原创 【面经】什么是回表?

回表-就是拿到这条记录的主键ID,到主键索引中找到整条记录。

2023-11-08 21:34:36 241 1

原创 【面经】api接口响应超时如何排查解决

日志是否有异常;代码逻辑是否正确;SQL是否超时;启用async;启用缓存;水平扩展

2023-11-08 21:26:13 278

原创 【面经】SQL优化方法论

mysqld][mysqld]这将启用慢查询日志。4. 添加或修改选项。这指定了慢查询日志文件的路径和名称。根据你的需要,你可以选择不同的路径和文件名。5. 添加或修改选项。这定义了慢查询的阈值,以秒为单位。默认值是0.001秒(1毫秒)。你可以根据需要将其设置为适当的值。或者,根据你的操作系统和安装方式,使用适当的命令来重启MySQL服务。完成上述步骤后,MySQL将开始记录慢查询日志到指定的文件中。你可以使用常规的文本编辑器打开日志文件进行查看和分析。

2023-11-08 21:11:47 464

原创 【面经】讲下spring bean的三级缓存与循环依赖问题

单例缓存,早期单例缓存,单例工厂缓存

2023-11-07 16:35:00 58

原创 【面经】讲一下synchronized锁升级的过程

synchronized锁升级是指从偏向锁到轻量级锁,再到重量级锁的过程

2023-11-03 18:15:26 102

原创 【面经】什么是行锁/表锁,什么时候锁行/锁表

【面经】需要同时修改或查询表中多行数据时,应选择行锁;而在只需要对整个表进行操作时,可以选择表锁

2023-11-03 18:03:29 173

原创 【面经】服务熔断和服务降级的区别

服务降级是指当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。服务降级是系统自我保护的一种机制,以确保系统不会因过载而崩溃。

2023-11-03 17:40:50 101

原创 【面经】谈谈你对FastDFS的了解

【面经】谈谈你对FastDFS的了解。

2023-10-31 21:09:00 162

原创 【面经】Redis缓存的淘汰策略

redis缓存的淘汰策略,默认是LRU最近最少未使用

2023-10-31 20:54:54 79

原创 JAVA适配器模式-案例

【代码】JAVA适配器模式-案例。

2023-10-21 13:13:01 56

原创 JAVA建造者模式-案例

【代码】JAVA建造者模式-案例。

2023-10-21 12:54:33 44

hyper/docker-registry-web离线镜像tar包

hyper/docker-registry-web离线镜像tar包

2023-09-20

本人自己开发的一个基于javaFX的lic证书生成工具,这个是exe安装包

本人自己开发的一个基于javaFX的lic证书生成工具,这个是exe安装包

2023-09-16

本人自己开发的一个基于javaFX的lic证书生成工具,这个是msi安装包

本人自己开发的一个基于javaFX的lic证书生成工具,这个是msi安装包

2023-09-16

一种win平台exe打包工具 可以把c#开发的winform/WPF打包为exe 也可以把java开发的JavaFx打包为exe

一种win平台exe打包工具 可以把c#开发的winform/WPF打包为exe 也可以把java开发的JavaFx项目打包为exe; 安装步骤见zip包内的图片 安装后要配置环境变量,见说明.txt

2023-09-16

redis学习资料.zip

redis整合springboot学习笔记; redis开发规范总结; rediis常用api

2023-07-21

windows部署minio安装包和教程.zip

minio是领先的OSS分布式云存储解决方案。 本zip包 内含1个win64版本的minio.exe程序 以及3张minio.exe部署配置教程的图片, 请找一个目录保存minio.exe 然后按照图片说明部署配置minio服务, 配置好后,控制台会提示你相关的web访问地址。 都部署好之后即可开始web访问minio服务。

2023-07-01

java利用hanlp与ansj计算文本相似度和关键词.zip

java计算文本相似度,计算文本关键词或摘要。利用hanlp 对字符串进行分词,利用ansj_seg做文本摘要或关键词计算SummaryCompute

2023-06-17

抽象工厂模式--演示代码

JAVA抽象工厂模式--演示代码,抽象工厂模式,也称为工厂的工厂,有一个工厂创建其他工厂

2018-11-01

HTML之三种居中

HTML之三种居中,1.表格布局页面居中,2.div布局页面居中,3.框架布局页面居中

2018-03-22

《概率论与数理统计》课后习题答案

《概率论与数理统计》课后习题答案--注意适用于沈恒范(第五版)

2018-02-18

算法设计技巧与分析(沙特版)-第1-2章课后习题参考解答

算法设计技巧与分析(沙特版)-第1-2章课后习题参考解答

2018-02-18

空空如也

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

TA关注的人

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