自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mac 本地安装deepseek

项目地址:ollama(opens new window)官网地址: https://ollama.com/(opens new window)模型仓库: https://ollama.com/library(opens new window)此文撰写时项目最新版本:v0.1.28(opens new window)官方 logo 是一只可爱的羊驼一句话来说,Ollama是一个基于Go语言开发的简单易用的本地大模型预言运行框架。

2025-02-17 10:33:14 427

原创 FastJson系列化使用toJSONString时null值问题

方法将一个String转换成一个对象时,如果对象obj的属性字段有值为null时,该字段会被系列化成"";在使用时,也可以根据自己的需求来添加其他枚举类型,直接在后边添加即可。其实fastjson的toJSONString()。从源码分析我们可以知道,JSON默认是换成null的。我们可以很明显的看到系列化后null已经修改成""最后,希望可以帮助到有需要的码友。在使用fastjson调用。fastJson包版本。

2025-02-14 15:47:03 472

原创 K8S容器实例Pod安装curl-vim-telnet工具

在没有域名的情况下,有时候需要调试接口等需要此工具。安装curl、telnet、vim等。

2024-09-19 15:13:27 638

原创 Spring Boot配置文件敏感信息加密

springboot配置敏感信息加密

2024-09-18 10:42:00 2385 4

原创 springcloud gateway常见问题处理

springcloud gateway日常常见问题处理

2024-07-24 15:40:41 1160 1

原创 springcloud gateway 性能优化

springcloud gateway性能优化

2024-07-23 16:55:40 971

原创 springboot actuator 自定义健康检查和端口

自定义健康检查接口

2024-07-22 22:25:02 1002

原创 基于springcloud gateway的全链路灰度

全链路灰度

2024-07-22 21:46:06 145

原创 针对springcloud gateway 跨域问题解决方案

域是由网络上的用户和计算机组成的一个逻辑或逻辑集合,域中所有的对象都存储在活动目录下,一个网络可以建立一个或者多个域,每个域都是一个安全界限,意味着各种权限不能跨域。

2024-04-18 22:16:57 1525 1

原创 Redisson限流算法

这里回顾一下trySetRate和setRate(注意setRate在3.12.3这个版本是没有这个方法的),在限流器不变的场景下,我们可以多次调用trySetRate,但是不能调用setRate。zset记录获取令牌的时间戳,用于时间对比,redis key的名字是{LIMITER_NAME}:permits。1,当需要修改时,执行setRate,但最好注意执行时间,因为涉及到zset,string两个key,可能会影响当前的限流窗口。重新设置是,不管该key之前有没有用,一切清空回到初始化,重新设置。

2024-02-28 11:21:16 1720

原创 多线程交替打印 有三个线程,1号线程打印数字1,2号线程打印数字2,3号线程打印数字3,要求:

2、1号线程打印100次,2号线程打印200次,3号线程打印300次。1、三个线程交替打印。

2024-02-01 21:05:25 324

原创 由于现在都是是分布式系统,现有k个文件,每个文件个数为n, 每个文件都是按照时间戳排序, 需要把k个文件合并成1个按照时间戳排好序的文件;按照题目写出实现的代码,思考时间复杂度

当所有文件的指针都超出了文件的长度时,表示合并完成。这种实现的时间复杂度为O(kn),其中k是文件的个数,n是每个文件的平均元素个数。不使用优先队列的话,在每一轮循环中都需要遍历k个文件来找到最小元素,因此整体复杂度为O(kn)。在归并的过程中,每个文件的元素最多会被加入和弹出堆一次,所以归并的过程时间复杂度为O(knlogk),其中n是每个文件的平均元素个数。初始化堆的过程需要将每个文件的第一个元素加入堆,时间复杂度为O(k)。题目:由于现在都是是分布式系统,现有k个文件,每个文件个数为n,

2024-02-01 17:55:04 258

原创 关于事务的一些理解 mysql事务、spring事务、分布式事务

2024-01-30 14:26:01 172

原创 整数数组找到所有符合x=y+z的组合

x,y,z是一个整数数组的三个不同的元素,找到所有符合x=y+z的组合。用某种编程语言实现(java或javascript优先),并简述算法。在实现题目要求的基础上尽可能地使用更优的算法。整数数组找到所有符合x=y+z的组合。

2024-01-30 14:14:53 179

原创 b+树的理解

每个节点支持两个分支的树结构,相比于单向链表,多了一个分支。

2024-01-20 16:29:26 545

原创 ConcurrentHashMap 原理

如果线程竞争激烈,使用一个数组来维护元素个数,如果要增加总的元素个数,则直接从数组中随机取一个,在通过CAS实现原子递增,他的核心思想是引入数组来实现对并发更新的负载。1,在jdk1.8中,concurrentHashMap锁的粒度是数组中的某一个节点,而在JDK1.7中,锁定的是segment,锁的范围更大,因此性能会更低。4,concurrentHashMap中有一个Size()方法来获取总的元素个数,在多线程并发场景中,在保正原子性的情况下实现元素个数的累加,性能时非常低的。

2024-01-19 20:01:17 384

原创 Mysql性能优化的理解

Mysql是一个经过互联网大厂验证过的生产级别的成熟的数据库,对于Mysql数据库本身的优化,一般是通过Mysql的配置文件my.cnf来完成的,比如。Mysql5.7版本默认的最大连接数是151个,这个值可以在my.conf中修改,binlog日志默认不开启,缓存池bufferpoll的默认大小等。在高并发的场景中mysql的数据库必然承受巨大的并发压力,我们可以从一下几个方面去优化。Mysql是一个磁盘IO访问量非常频繁的关系型数据库。

2024-01-15 11:44:28 409

原创 springIoc依赖注入循环依赖三级缓存

singletonObjects:缓存某个beanName对应的经过了完整生命周期的beanearlySingletonObjects:缓存提前拿原始对象进行了AOP之后得到的代理对象,原始对象还没有进行属性注入和后续的BeanPostProcessor等生命周期。

2024-01-12 18:00:39 1296

原创 如何理解线程池中的参数设计

考察:了解你对技术的掌握程度,|对于技术的理解、场景问题。

2024-01-11 18:00:20 465 1

原创 线程池如何知道一个线程是否执行完成

当我们把一个任务丢给线程池执行的时候,线程池会调度工作线程来执行run方法。当run执行结束后,也就意味着这个任务完成了。所以线程池中的工作线程是通过同步调用任务的run()方法并且等待run()方法完成后。

2024-01-11 15:09:57 669

原创 /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/lib/currency.data (No such file or direc)

通过参数Dmaven.compiler.source=11 -Dmaven.compiler.target=11 或者。使用maven指定编译版本为jdk11编译,本地默认环境变量是jdk8。环境变量加入jdk11和jdk8的环境变量。本地使用jdk11的环境是可以。然后就可以愉快的打镜像了。查阅相关资料,说可能是。

2023-08-03 10:08:45 1258

原创 类文件具有错误的版本 55.0, 应为 52.0

“类文件具有错误的版本 55.0, 应为 52.0,请删除该文件或确保该文件位于正确的类路径子目录中。

2023-07-28 10:47:42 8537

原创 一文搞懂ThreadLocal内存泄露问题

jdk1.2版本中提供java.lang.ThreadLocal,threadLocal为解决多线程程序并发问题提供了一种新的思路。使用这个类可以很简介的编写出优美的多线程程序,ThreadLocal是Thread的局部变量,提供线程范围内的局部变量,这种变量在线程的生命周期内起作用。作用:提供一个线程内公共变量,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度,或者为线程提供一个私有的变量副本,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响。

2023-07-24 14:28:40 279

原创 java观察者模式例子

是一种常用的设计模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生变化时,它的所有观察者都会收到通知并且自动更新。在观察者模式中,主题对象通常被称为“被观察者”(Observable)或 “主体” (Subject),而观察者对象通常被称为“观察者”(Observer)或 “订阅者”(Subscriber)。主题对象维护一个观察者列表,当它的状态发生变化时,会遍历这个列表并通知所有的观察者。

2023-06-07 15:44:22 869

原创 JVM内存模型的演变

class文件、类的加载过程。我们的class文件就要进入到JVM内存里,我们沿着经典的JDK1.6,JDK1.7,JDK1.8看看在其中都经历了哪些改变。

2023-04-28 17:38:01 948

原创 mac中给brew配置环境变量

【代码】mac中给brew配置环境变量。

2023-04-27 11:41:03 1942

原创 git把一个分支上的某次修改同步到另一个分支上,并解决git cherry-pick 冲突

我们在工作中经常会碰到好几个同事共同在一个分支上开发,一个项目同时会有好几个分支,我们在feature上开发的功能时,有可能某个需求需要提前发布,这个时候我们已经在feature A上开发完成,但是需要在master上发布。这个时候该怎么办呢?我们是不是可以直接将feature A上的commit 合并到master上,然后一键发布就可以啦?这个时候可能存在代码冲突。今天我们就带着这个疑问一起解决这个问题。

2023-04-25 13:36:13 1994

原创 一文彻底理解Java 17中的新特性密封类

在面向对象语言中,我们可以通过继承(extend)来实现类的能力复用、扩展与增强。但有的时候,有些能力我们不希望被继承了去做一些不可预知的扩展。所以,我们需要对继承关系有一些限制的控制手段。而密封类的作用就是限制类的继承。

2023-04-20 15:52:44 276

原创 ShardingSphere官方文档感悟

Apache ShardingSphere 是一款分布式的数据生态系统,可以将任意数据库转换为分布式数据库。并通过数据分片、弹性伸缩、加密等能力对原有数据库增强。Apache ShardingSphere设计哲学为Database Plus,构建异构数据库上层的标准和生态。关注充分合理的利用数据库的计算和存储能力,而并非实现一个全新的数据库。它站在数据库的上层视角。关注他们之间的协作多于数据库本身。

2023-03-01 16:24:44 708

原创 Spring反射内置工具类ReflectionUtils

Spring反射内置工具类ReflectionUtils

2023-02-13 19:10:04 3517

原创 Gradle 编译Server returned HTTP response code: 401 for URL

Gradle 编译Server returned HTTP response code: 401 for URL

2023-01-30 14:37:38 1517

原创 mac Idea自动补全返回类型及变量快捷键

mac idea 自动补全代码

2022-07-14 17:11:29 4840 1

原创 n个整数的无序数组,找到每个元素后面比它大的第一个数,要求时间复杂度为O(N)

n个整数的无序数组,找到每个元素后面比它大的第一个数

2022-06-08 16:03:48 538

原创 mysql基础面试题

Mysql索引的基本原理索引用来快速地寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历pingshang整张表。索引的原理:就是把无序的数据变成有序的查询。1,把创建了索引的列的内容进行排序。2,对排序结果生成倒排表3,在倒排表内容上拼上数据地址链4,在查询的时候,先拿到倒排表内容,在取出数据地址链,从而拿到具体数据mysql聚族和非聚族索引的区别都是B+树的数据结构聚族索引:将数据存储与索引放到了一块、并且是按照一定的顺序组织的,找到索引也就找到了数据,数据的物理存放顺序

2022-05-25 14:31:09 350

原创 高级java开发必问面试题

文章目录面向对象什么是面向对象?封装继承多态== 和equals比较hashCode与equals重载和重写的区别Finalspring是什么AOP的理解谈谈你对IOC的理解零拷贝RocketMQ 架构设计RocketMq 事务消息原理RockeMq顺序消息消费原理简述RockerMQ持久化机制RocketMQ如何保证不丢消息消息发送消息消费Mysql索引的基本原理mysql聚族和非聚族索引的区别业务系统里面的sql耗时,慢查询最左前缀原则是什么Innodb是如何实现事务的面向对象什么是面向对象?对比

2022-05-11 16:27:09 13422

原创 全球分布式id生成方案

全球分布式id生成方案uuid数据库自增序列leaf-segment双buffer基于redis、mongodb、zk等中间件生成雪花算法uuid1,当前日期和时间 时间戳2,时钟序列。 计数器3,全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。优点:代码简单,性能好(本地生成,没有网络消耗)保证唯一(相对而言,重复概率极低可以忽略)缺点:每次生成的ID都是无序的,而且不是全数字,且无法保证趋势递增

2022-04-25 16:40:56 749

原创 一文快速理解java多线程的4种实现方式

一文快速理解java多线程的4种实现方式继承Thread实现Runnable实现Callable接口通过FutureTask包装器来创建Thread线程创建线程的三种方式对比通过线程池创建线程,使用线程池接口ExecutorService结合Callable、Future实现有返回结果的多线程拒绝策略默认AbortPolicy()DiscardPolicyDiscardOldestPolicyCallerRunsPolicysubmit()和execute()区别executesubmit()两者的区别定长

2022-04-23 16:45:10 697

原创 RabbitMq 集群federation 插件使用心得

@doc前言为了能让RabbitMQ 更好的在wan下面工作,Rabbit推出了federation插件。主要用于在wan情况下,多个rabbit实例(集群)进行数据传输和交换。步骤1,首先搭建多个RabbitMQ消费集群2,搭建集群完后,为了能在federation中,各集群能更加友好的显示,建议修改下集群的名字。rabbitmqctl set_cluster_name internal//名字3,启用各集群的federation插件(集群中各个节点都需要运行一下命令)rabbitmq-

2022-04-22 18:45:32 2002

原创 RocketMQ

RocketMQ的前世今生rocketMq在阿里内容叫做Metaq(最早名为Metamorphosis,中文意思“变形记”,是作家卡夫卡的中篇小说代表作,可见是为了致敬Kafka)。RocketMQ是Metaq3.0之后的开源版本。Metaq在阿里巴巴集团内部、蚂蚁金服、菜鸟等各个业务中被广泛使用,介入了上万个应用系统中,并平稳支撑了历年的双十一大促(万亿级的消息),在性能、稳定性、可靠性等方面表现出色,在整个阿里技术体系和大中台战略中发挥着举足轻重的作用。Metaq最早源于Kafka,早期借鉴了

2022-04-11 15:47:35 1080

原创 xml读取properties中的属性值

背景线上日志路径由于某些原因需要改变路径,但是我们又需要可以根据不同环境做区分,所以这个我们不希望是写死的,可以在properties文件可配置。xml文件 修改1,引入properties文件2,引用log.home值<property resource="env-config.properties"/> <property name="LOG_SRV" value="basex" /> <property name="HOME_PATH" value="${l

2022-04-07 17:30:24 1122

空空如也

空空如也

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

TA关注的人

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