自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yoke

当你感觉为时已晚的时候,恰恰是你最早的时候

  • 博客(98)
  • 问答 (3)
  • 收藏
  • 关注

原创 基于Spring Boot的多级缓存架构实现

以下是一个基于Spring Boot的多级缓存架构实现示例。

2025-03-06 13:56:15 928

原创 Spring Boot 缓存最佳实践:从基础到生产的完整指南

在现代分布式系统中,缓存是提升系统性能的银弹。Spring Boot 通过 ​ 模块提供了开箱即用的缓存抽象,但如何根据业务需求实现灵活、可靠的缓存方案?本文将带您从零开始,逐步构建符合生产要求的缓存系统。pom.xml 依赖Nacos 配置(application.yml)启动类注解业务层使用二、进阶篇:多缓存引擎支持2.1 缓存类型切换配置选项对比Nacos 配置示例三、生产级特性实现3.1 方法级 TTL 控制实现方式1:语法约定语法约定TTL 解析实现实现方式2:自定义注

2025-03-06 13:54:06 1160

原创 CGLIB 和 JDK 动态代理

JDK 动态代理利用 Java 的反射机制,动态创建实现了一组接口的代理对象。只支持接口代理,因此只能为实现了接口的类生成代理。通过​ 类实现。代理类在运行时生成,依赖于指定的接口。CGLIB 动态代理通过字节码增强的方式,生成一个目标类的子类来实现代理。无需目标类实现接口,但目标类不能是final​ 类型(因为final​ 类不能被继承)。使用了 ASM 框架,直接修改或生成字节码。可用于类的代理,即可以创建代理对象来增强目标类的功能。

2024-10-11 15:46:53 894

原创 在Jdk1.8中Collectors和Comparator使用场景

​​Collectors​​ 主要用于从流中收集数据,适合聚合和转换操作。​​Comparator​​ 主要用于定义比较逻辑,适合排序和比较操作。

2024-09-27 10:46:59 753 1

原创 记录SpringBoot启动报错解决

springboot 启动时报错:If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active)

2024-06-20 14:52:55 392

原创 线程池ThreadPoolExecutor使用指南

线程池ThreadPoolExecutor使用,统一管理,减少资源获取创建的开销,提高利用率。

2024-06-15 22:09:30 1561

原创 CompletableFuture.runAsync的多线程下异步操作

​​方法是Java中用于创建异步任务的工具,它可以在后台线程中执行指定的任务,并且可以在任务完成后返回结果或执行后续操作。这种方式可以实现多线程下的异步操作。在多线程环境下,使用​可以实现并发执行多个任务,提高程序的性能和效率。每个异步任务都会在独立的线程中执行,互不影响,从而可以充分利用多核处理器的性能。

2024-06-15 17:15:49 2649

原创 jmap 和 jstack 的线上使用及操作过程示例

jmap和jstack都是JDK提供的强大工具,用于分析和诊断Java应用程序的性能和内存问题。jmap主要用于查看Java堆的内存使用情况和生成堆的转储快照,而jstack则主要用于生成线程快照,帮助定位线程出现长时间停顿的原因,如死锁、死循环等。jstack是JDK自带的一种堆栈跟踪工具,主要用于生成JVM当前时刻的线程快照。jmap是JDK提供的一个命令行工具,主要用于生成Java堆的转储快照(dump文件)以及查看Java进程中的内存使用情况。

2024-06-05 22:56:03 554

原创 MySql和Oracle表分区

真实情况下,是否建议使用数据库表分区取决于具体的业务需求和数据库环境。分区表在物理上表现为多个文件,在逻辑上表现为一个表。选择分区键,跨分区查询效率可能更低;如果数据量过大可以采用物理分表的方式管理大数据提高查询性能:通过表分区,可以仅查询特定分区中的数据,而不需要扫描整个表,从而提高查询性能。管理数据:表分区可以根据业务需求将数据按照一定规则划分到不同的分区中,方便管理和维护数据。提高可用性:通过表分区,可以实现数据的分布式存储,提高系统的可用性和容错性。

2024-06-05 22:51:39 1150

原创 Oracle NUMTOYMINTERVAL函数的使用

NUMTOYMINTERVAL是Oracle数据库中的一个函数,用于将给定的数字转换为INTERVAL YEAR TO MONTH类型的值。该函数在处理日期和时间计算时非常有用,特别是当你需要将年或月的数量转换为时间间隔时。当你在Oracle数据库中处理日期和时间数据时,可能需要对某个时间戳或日期加上或减去一定的年或月。这将返回表示三个月的INTERVAL YEAR TO MONTH类型的值。这将返回表示一年的INTERVAL YEAR TO MONTH类型的值。

2024-06-05 22:49:23 844

原创 GIT仓库分支迁移新仓库步骤

3、git remote add repo2 develop2 # repo2 :远程仓库名称,可以随便起个方便记忆的, 目的是在本地添加一个新的远程连接。#repo2 是想push的目标远程库,develop1是想push那个当前分支,develop2 是push到远程的目标分支。6、在repo1的本地仓库 ,切换到要push的当前分支develop1上:git checkout develop1。repo2是在本地添加的一个新的连接,develop2是我要push的目标分支。

2024-05-11 18:13:52 738

原创 开启多线程下变量共享与私有问题

在上面的示例中,我们创建了一个ThreadLocal变量和一个AtomicInteger变量,然后启动了5个线程,每个线程对这两个变量进行操作。通过输出结果可以看到,ThreadLocal变量在每个线程中独立维护了自己的值,而AtomicInteger变量则保证了操作的原子性。ThreadLocal是一个线程局部变量,它为每个线程提供了独立的变量副本,确保每个线程都可以访问自己的变量副本而不会影响其他线程的变量。在多线程环境下,使用Atomic可以保证操作的原子性,避免出现数据竞争和线程安全问题。

2024-05-11 18:09:55 510 1

原创 多线程的情况下 AopContext.currentProxy()切面代理失效问题

但是,这种方法通常不是首选,因为它增加了对Spring容器的依赖,并可能使代码更难测试和维护。如果可能的话,将代理对象的引用作为方法参数传递给需要它的代码。这可能意味着将需要代理行为的逻辑移动到另一个Spring管理的bean中,并通过依赖注入来使用它。在多线程环境中可能会遇到问题,因此最好尽量避免依赖它,并通过其他方式来组织你的代码和Spring配置。可能会遇到问题,特别是在某些情况下,它无法正确地获取到当前线程的代理对象。的值是与线程关联的,并且需要确保在适当的时候清理这些值,以避免内存泄漏。

2024-05-11 18:09:04 1121

原创 ORACLE数据库初始化导入

数据库:oracle 19c,导入dump文件。

2023-11-07 11:26:21 207

原创 数据库、表备份命令

oracle同样没有sql语句备份数据库,只有exp导出或者RMAN备份,都不是sql, RMAN备份比较繁琐,这里介绍常用的exp导出,以下命令在cmd下运行,前提是你要连接上数据库。数据库地址:127.0.0.1。数据库密码:password。以下命令在cmd下运行。数据库用户名:root。数据库名称:java。

2023-09-11 17:34:39 453

原创 使用Arthas诊断线上问题的常见命令(热更新,监听耗时,方法出入参,jvm信息)

Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。完全退出 arthas,可以执行。jar包丢到项目任意目录,启动jar,选择java进程,项目上一般选择tomcat对应的pid。将编译好的class文件放到服务器任意目录下。使用jad命令查看热部署是否生效。退出当前的连接,可以用。

2023-09-11 17:31:13 512

原创 生产内存溢出定位分析

生产内存溢出定位分析具体生产环境大多为linux系统,此处以linux系统为示例。1.什么是oom?英文全称“Out Of Memory”,译为 “内存不足” ,错误来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made av

2022-05-05 17:08:52 1184

原创 MySql根据某个字段规则行转列及一些字符串函数的使用

MySql根据某个字段规则行转列及一些字符串函数的使用基础数据源1.字符串函数group_concat该函数返回带有来自一个组的连接的非NULL值的字符串结果,默认逗号连接select g.SHOWORDER, group_concat(OASHORTNAME)from g_bank gwhere OASHORTNAME is not nullgroup by SHOWORDER;FIND_IN_SET官网说明:如果字符串str在由N个子字符串组成的字符串列表strl

2022-04-20 10:23:09 2680

原创 oracle in 超过1000解决方案

oracle in 超过1000解决方案1.with as table建立临时表子查询with t as ( select '1' as id from dual union all select '2' as id from dual ·····)select i.*from table1 iwhere i.id in ( select t.id from t)2.使用or方式1:select * from table where id in

2021-08-24 20:02:52 6419

转载 ORA-02287此处不允许序号(sequence number not allowed here) 的避免及解决办法

ORA-02287:此处不允许序号(sequence number not allowed here) 的避免及解决办法原文链接:https://blog.youkuaiyun.com/qq525099302/article/details/43053291问题场景一:SELECT id,name FROM (select SEQ_B_LOG_ID.NEXTVAL id , 'elong_deo' name from dual);问题场景二:insert into b_authority (id,r

2021-08-19 16:22:13 2251

转载 Oracle误删除数据和表的恢复办法

在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法:主要是利用Oracle回收站的闪回特性oracle 回收站recyclebin是10g才有的新特性,当我们drop table cube_scope 【purge】时,如果不指定purge时,系统只是将这个表重命名为BIN$开头的名称,并在数据字典中修改了相关数据,表所占用的物理空间并没有真正的回收,此时所占用的空间还是原来的表空间,当表空间不够用时,O

2021-01-06 18:05:58 437

转载 List集合remove问题

List集合remove问题Java的List在删除元素时,一般会用list.remove(obj)/remove(index)方法。在使用时,容易触碰陷阱,得到意想不到的结果。总结以往经验,记录下来与大家分享。首先初始化List,代码如下:public static void main(String[] args) { List<Integer> list=new ArrayList<Integer>(); list.add(1); list.add(2); lis

2020-09-16 19:51:49 725

原创 js实现将数字金额翻译成中文的大写金额

一个实用的js函数,工作可以经常用到,上代码!效果代码<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <script> function ChineseNumber() { amount = document.getElementById("numb").value;.

2020-06-16 19:43:50 976

原创 Oracel GROUP BY 和 ORDER BY使用一些该注意的问题与细节

GROUP BY 和 ORDER BY一起使用一些该注意的问题与细节当同时使用GROUP BY和 ORDER BY执行sql出现过[42000][920] ORA-00920: 无效的关系运算符或者是执行后报错ORA-00979:不是GROUP BY 表达式 这两种情况,由于碰到第二次我还是打开了我的搜索引擎来寻求原因,特此记录。示例--示例表select *from AIMS_SECTION;出现原因情况GROUP BY 和 ORDER BY一起使用时,ORDER BY要在GROUP

2020-06-16 16:41:04 387 1

原创 Oracle where not in条件下集合超过1000报ORA-01795错误怎么办?

Oracle where not in条件下集合超过1000报ORA-01795错误怎么办?????业务场景公司要同步ERP那边的接口数据,流水有几千个,但通过计划任务进行操作时判断该比明细是否同步过,第一次同步接口表来了几千笔数据。在开发库可能数据少,检测不到,但在生产环境却报ORA-01795错了????,原因就是这个。????代码通过后台组装的id,判断流水是否存在: <select id="queryAccounts" parameterClass="java.util.Map"

2020-06-10 18:44:17 1135

原创 jQuery - 取值和获值的三种方式

jQuery - 取值和获值的三种方式1.获得内容 - text()、html() 以及 val()三个简单实用的用于 DOM 操作的 jQuery 方法:text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值通过 jQuery text() 和 html() 方法来获得内容:实例$("#btn1").click(function(){ alert("Text: " + $("#test"

2020-06-04 17:19:34 5249 1

原创 markdown表情大全

markdown表情该文是搜集的网络资源整理,为了写博客需要用到一些有趣的表情,特此记录将对应emoji表情的符号码复制后输入你的markdown文本即可显示emoji表情。如:blush:,显示为????人物syntaxpreviewsyntaxpreviewsyntaxpreview:bowtie::bowtie::smile:????:laughing:????:blush:????:smiley:????:relaxed:☺️:s

2020-06-04 17:12:54 21016 11

原创 Oracle 通过一长串的子查询出来的值要用作计算怎么办?

Oracle 通过一长串的子查询出来的值要用作计算怎么办?业务场景:公司需要有一张关于校验账户明细的报表,但是余额表的期初余额字段没有维护,甚至会因为软件异常停止,导致期初余额字段为空,那么该如何获取正确的期初余额值呢?先来一段取最近日期的sql????-- &date 为需要改变的日期格式select col_name from table where abs(col_na...

2020-03-20 19:11:53 484

原创 ECharts 地图绘制

全国疫情模拟实例在绘制之前我们要了解一些Echarts的一些基本的组件:1.geogeo 是 ECharts 图表的地理坐标系组件。ECharts 中地理坐标系组件可以用于地图的绘制,它支持在地理坐标系上绘制散点图,线集。2.visualMap[i]visualMap 是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。视觉元素可以是:- symbol:...

2020-02-21 13:29:45 2822

原创 利用IDEA工具导入csv表格文件到数据库

利用IDEA工具导入表格文件到数据库

2020-02-21 13:18:06 6923 1

原创 Oracle一次插入多条数据

Oracle一次插入多条数据oracle不像mysql那样可以在values后面添加多个插入的值,mysql具体操作mysql插入多条数据-- mysql插入多行代码insert into CB_PRACTICE(id_, type_,remark) values (5,'物理','浮力'),(6,'物理','阻力');oracle插入多条数据的方法1.采用union all拼接...

2020-01-17 16:16:07 24875 6

原创 Oracle中DUAL表到底是什么?如何使用?

Oracle中DUAL表到底是什么?DUAL是Oracle与数据字典一起自动创建的一个最小工作表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为它只返回一行数据,而使用其它表时可能返回多个数据行。特性1、Oracle提供的最...

2020-01-15 17:30:41 3911

转载 数据库索引相关介绍

数据库索引工作原理转载至:http://www.ituring.com.cn/article/986译者按:今天在翻译时无意中搜索到StackOverflow中的这篇文章(问答),觉得有必要翻译出来。不仅因为文章本身写得精彩,更重要的是它昭示了一个写文章(特别是技术文章)的重要法则——5W1H。 原文在此 How does database indexing work?(作者:Xenph Y...

2020-01-14 17:04:37 172

原创 数据库备份命令

数据库备份命令MySql备份数据库以下命令在cmd下运行数据库地址:127.0.0.1数据库用户名:root数据库密码:password数据库名称:java-- 备份数据库到D盘跟目录mysqldump -h127.0.0.1 -uroot -ppassword java> d:/backupfile.sql-- 还原MySQL数据库的命令...

2020-01-10 13:49:01 5640

原创 Oracle中rownum的基本用法

Oracle中rownum的基本用法1.前言用sql分页查询在mysql中我们会想到用limit,然而在oracle中并没有这个关键字,oracle不能分页了吗?不是的,rownum可以解决这一问题。2.基本使用注意:rownum不支持>, >=, =, !=, between…and…这几个运算符,只能用符号(<、<=)2.1示例:查询表3条以后的记录原...

2019-12-30 17:27:28 3124

转载 Oracle Sequence创建与使用

原文地址:https://blog.youkuaiyun.com/Karloo/article/details/51423340(记录学习)1. 创建sequence语句:CREATE SEQUENCE seq_name-- seq_name为计数器的名字,自定;INCREMENT BY 1 -- 每次加幅度:1,2,3,....;START WITH 1 -- 起始序号,以实际生产情况而定;NOM...

2019-12-05 09:41:26 1829

原创 HashMap,HashSet和HashTable的区别?

HashMap,HashSet和HashTable的区别?HashMap,HashTable:两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用...

2019-11-25 18:49:22 1428

原创 面试题分享:了解乐观锁和悲观锁吗?说说他们的区别?

了解乐观锁和悲观锁吗?说说他们的区别?乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,像加synchronized,只允许单个线程占用资源,其他线程阻塞,在效率上来说可能较低;适用于写多读少;乐观锁总是假设最好的情况,每次去拿数据的时候...

2019-11-03 20:38:34 544

原创 session ,cookies,token三者的区别以及作用场景

session ,cookies,token三者的区别以及作用场景场景描述fjh到健身房去练胸肌,首先领了钥匙,然后进了更衣间,把衣服,裤子,手机,钱包都放在盒子里面。plw也到健身房,去练翘臀。首先领了钥匙,然后 进了更衣间,把衣服,裤子,手机,《Java 21天从入门到精通》也放在了一个盒子里,但是这个盒子是和fjh的是不同的。健身房,就相当于服务器,盒子,就是会话Session。切...

2019-10-21 09:21:44 356

原创 SpringCloud微服务之间的通讯,Feign和RestTemplate概念实例详解

SpringCloud微服务之间的通讯,Feign和RestTemplate概念实例详解技术背景利用consul注册中心实现了服务的注册和发现功能,那么服务之间是如何调用?在单体应用中,代码可以直接依赖,代码可以直接调用。在微服务架构中,服务都运行在各自的进程中,甚至部署在不同的主机不同的地区,那么需要远程调用技术。spring cloud 体系中应用比较广泛的服务调用的方式有 2 种:...

2019-10-14 21:17:13 1187

空空如也

空空如也

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

TA关注的人

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