自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (3)
  • 收藏
  • 关注

原创 Aop原理,类加载器的作用

ao、反射、动态代理之间的关系

2024-03-21 11:27:36 486

原创 mysql中insert … select锁范围

insert … select 是很常见的在两个表之间拷贝数据的方法。在可重复读隔离级别下,这个语句会给 select 的表里扫描到的记录和间隙加读锁。而如果 insert 和 select 的对象是同一个表,则有可能会造成循环写入。这种情况下,我们需要引入用户临时表来做优化。insert 语句如果出现唯一键冲突,会在冲突的唯一值上加共享的 next-key lock(S 锁)。因此,碰到由于唯一键约束导致报错后,要尽快提交或回滚事务,避免加锁时间过长。

2024-03-08 13:18:03 514

原创 mysql中两千万大表做时间范围查询很慢,怎么解决

你会吗?mysql千万级别大表查询优化

2024-03-08 12:30:07 989

原创 hive sql无法停止

hive任务停止是调用org.apache.hive.jdbc.HiveStatement的close()方法实现的其底层是委托给org.apache.hive.service.cli.thrift.TCLIService.Iface客户端实例来实现。同时,通过JDK动态代理为其织入了synchronized同步机制:其底层是委托给org.apache.hive.service.cli.thrift.TCLIService.Iface客户端实例来实现。

2024-03-05 15:57:08 674

原创 手把手教你解析xml格式的word文档-附代码

其中最主要的写入是“书签块的写入”,由于书签块分为“头”“尾”“身体”,身体里包含“文字块”和“非文字”块,书签替换时只需将数据替换到第一个文字块中即可,之后的文字块忽略不计(因为替换的文字很难选择文字块中的某一块的样式,所以选择取第一个文字块的样式)还有就是表格中行的循环,比如当前取出的数据是一个list,我们需要根据list的大小来生成表格中的行数,并对此表格中的书签进行数据替换(如下图),此时,需要将文档进切分为“循环的行块”和非行块。然后,切分文档为不同的块。最后,对文档中切分好的块进行文档构建。

2024-03-05 11:05:59 463

原创 jvm面试题-背诵版

按照思维导图抽查和记忆,答案见:四、面试-多线程/并发_scheduledfuture释放-CSDN博客

2024-02-29 10:27:06 394

原创 查询jvm中栈的深度

java 方法路径 2>&1 |grep 'at 方法路径'|wc-1。jvm中没有提供方法,可以使用linux相关命令进行统计。

2024-02-26 15:52:59 385

原创 jvm面试题目补充

Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK(Java Development Kit)。把Java API类库中的Java SE API子集 [1] 和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境。

2024-02-26 15:30:58 1105

原创 数据源使用问题记录

java客户端接入数据库常见问题

2024-02-19 17:16:45 991

原创 Spark SQL调优实战

spark sql参数调优

2024-02-05 09:51:21 1545

原创 任务DAG遍历,拓扑排序

DAG:有向无环图。

2024-02-04 16:29:18 395

原创 Yarn常见问题处理

yarn上任务失败问题整理

2024-02-02 17:34:50 550

原创 Datax问题记录

data异常

2024-02-02 15:59:11 1872

原创 Redis RCountDownLatch& RSemaphore的应用

【代码】Redis RCountDownLatch的应用。

2024-01-31 16:13:15 483

原创 cpu到达100%问题排查

cpu飙升

2024-01-31 11:19:02 464

原创 责任链模式在java中的实现

*** 存储责任链上下文具体请求数据*//*** 责任链中断的标识*//*** 每个链路处理的结果*/

2024-01-30 10:17:02 714

原创 优雅关闭线程池

服务异常终止时,服务内部的线程池中的任务是否需要运行完成,如需要,则增加以下代码,等待任务执行完成后(时间可设置)再销毁。

2024-01-29 17:55:30 328

原创 Spring/Spring boot项目接入traceId

spring项目各种场景接入traceId

2024-01-23 11:50:19 1006

原创 Redis实现分布式锁

1、使用redission实现加锁和解锁逻辑。3、使用aop,对注解进行拦截。

2024-01-22 15:37:05 330

原创 jar包热加载原理

第二次加载时,比较jar的更新时间和第一次jar包更新时间,若不一致,说明jar包更新过了。第一次加载时,记录jar包的更新时间。

2024-01-16 13:00:52 425

原创 LocalDateTime转带时区日期

【代码】LocalDateTime转带时区日期。

2023-08-28 19:40:01 510

原创 Ftp下载文件乱码,中文乱码

因此在读取文件时,获取文件的编码格式,再获取文件内容即可。ftp下载后,保存到本地的文件格式和服务器编码有关。

2023-05-10 17:43:55 619

原创 WeakHashMap引起内存溢出,线程数剧增

weekhashmap做缓存出现的问题

2022-12-29 22:53:59 1052

原创 Ftp下载大文件卡住,Ftp下载文件很慢

ftp客户端下载慢问题

2022-10-25 14:26:59 2943

原创 java.lang.ClassNotFoundException: com.jcraft.jsch.JSch

一、异常信息java.lang.ClassNotFoundException: com.jcraft.jsch.JSch at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:34...

2022-03-18 15:16:49 2875

原创 联合索引,范围查询后,后面的字段不走索引

是B+树的结构决定的。底层B+树叶子节点的键值是通过链表连接的,而组合索引是从左向右按照索引字段的顺序进行查找,只有当前一个索引列是确定值的时候,下一个索引列的值才是递增的状态,才能通过B+树遍历得到,而一旦前一个索引列是范围匹配,则之后的索引列的值不存在递增关系,那么就没办法通过B+树遍历得到。例如,以下联合索引。A>=2,B=4的查询过程。a=2时,B是有序的,a=3时,b是无序的,就不能继续向下查找了。必须在前一个是定值的情况下,才能继续向下查找。...

2021-11-04 21:00:14 2174 1

原创 ClickHouseArray序列化异常

1.异常Caused by: com.fasterxml.jackson.databind.JsonMappingException: (was java.sql.SQLFeatureNotSupportedException) (through reference chain: com.****.HttpResult["content"]->java.util.ArrayList[0]->java.util.LinkedHashMap["column_14"]->ru.yandex.

2021-09-03 16:11:37 1560 1

转载 常见的限流算法和应用场景

1.计数器模式假设以1分钟作为一个固定窗口,窗口流量限制为100。那么1分钟的最后1s进来100个流量,下一个窗口的第一秒进来了100个流量,其实1分钟内流量是超出系统能承受范围的。所以,计数器模式无法应对突发的流量2.滑动窗口一个大窗口分成多个小窗口,每次向后滑动一个小窗口。控制了各个小窗口的流量,这种方法比上一种更加平滑。但是小窗口的划分要求很高,面对突发的流量也没有办法控制3.漏桶桶的容量是固定的。当有请求到来时先放到木桶中,处理请求的worker以固定的速度从木桶中取出.

2021-07-19 14:16:30 683

原创 java中的序列化和反序列化(serialVersionUID的作用)

1. 序列化和反序列化出现的背景什么时候需要序列化对象? 跨平台,分布式环境的对象传输,对象持久化等 一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。  对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。...

2021-07-19 12:02:00 374

原创 ThreadFactory创建线程无法捕获异常

ThreadFactorynamedThreadFactory=newThreadFactoryBuilder().setNameFormat("judge-pool-%d").setUncaughtExceptionHandler((thread,throwable)->logger.error("ThreadPool{}gotexception",thread,throwable))...

2021-07-02 15:58:44 329

原创 Caused by: java.net.ConnectException: Connection refused (Connection refused

idea中下载类的resource的时候报错修改preference中的maven的配置为自己电脑安装maven的路径即可

2021-06-24 09:36:43 1747

转载 AQS中的阻塞队列

转载自:码海,按照自己的思路梳理了一遍1.原理AQS数据结构public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable { // 以下为双向链表的首尾结点,代表入口等待队列 private transient volatile Node head; private transient v

2021-05-19 16:57:48 751

原创 临时表和内存表的区别?

引擎 是否可以重名 存储和是否持久化 从库是否可查询到 数据结构 内存表 Memory 不可 数据结构和数据分开存储,查询快一些,需要手动drop表 可建索引,可以查询,show tables可以看到表 不支持TEXT,Blob 临时...

2021-04-25 15:34:08 109

原创 银泰笔试题

做完题目后,很高兴的发给面试官了,第三天,面试官就说做的不好,pass了。想问问大家主要问题出在哪儿呢?是不是数据不能完全加载到内存的算法有问题呢?import com.alibaba.fastjson.JSON;import com.alibaba.mos.api.ItemService;import com.alibaba.mos.api.SkuReadService;import com.alibaba.mos.dao.ItemDAO;import com.alibaba.mos.dat

2021-04-01 11:49:31 903 2

原创 Mysql45讲学习笔记

以下内容来源于丁奇的mysql 45讲,重点需要理解的地方1. 查询sql的具体流程2. 更新语句的执行流程当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写到 redo log(粉板)里面,并更新内存,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操作记录更新到磁盘里面,而这个更新往往是在系统比较空闲的时候做。redo log 的写入拆成了两个步骤:prepare 和 commit,这就是"两阶段提交"。为什么必须有“两阶段提交”呢?这是为了让两.

2021-03-02 10:00:23 524

原创 Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s)

这个应该是lettuce客户端的bug,找了好久的问题,把lettuce排除掉使用jedis客户端就可以使用了!<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <exclusion>

2021-02-04 10:02:17 3875 1

原创 com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)L

sentinel整合feign时报错,<artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.0.RELEASE</version>找到这个SentinelContractHolder类,发现里面的方法为parseAndValidatateMetadata方法名错误了,更新jar包至2.2.1.RELEASE即可以解决问题<groupId>com

2021-02-03 10:57:19 546

原创 WebCallbackManager.setUrlBlockHandler()不生效

使用标题进行配置阻塞后的返回值 时,一直不生效,最后发现WebCallbackManager是sentinel-web-servlet包中的接口,而BlockExceptionHandler 是sentinel-spring-webmvc-adapter包中的在最新版本中,尝试通过 实现 BlockExceptionHandler 接口,实现 handle 函数,实现该功能@Componentpublic class ExceptionHandlerPage implements ...

2021-02-02 17:50:33 1803 1

原创 java面试题补充

1、Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?答:sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的n

2020-12-08 17:08:23 345

原创 unicode编码和utf-8的关系

1.历史问题:ASCII编码和非ASCII编码计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。ASCII 码一共规定了128个字符的

2020-12-03 13:50:34 333

jvm面试题-背诵版零零落落来啦

jvm面试题-背诵版零零落落来啦

2024-02-29

jprofile 内存分析工具,jvm,mac版

jprofile 内存分析工具,jvm

2024-02-06

EasyConnect_7_6_7_3.dmg

EasyConnect for mac

2021-09-01

IBM thread dump文件分析工具

thread and mointor dump analyzer,java线程文件分析工具

2019-03-19

xml格式word文档解析器

自己编写的xml格式word文档分析器,完成了普通书签替换,表格书签替换,表格循环,嵌套循环数据生成表格等功能。请仔细阅读文件中“xml格式word解析器1 .md”

2018-08-09

空空如也

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

TA关注的人

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