自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有天你会让我妒忌的

hello 2025, from 2017.

  • 博客(276)
  • 资源 (2)
  • 收藏
  • 关注

原创 重学Java基础篇—HashMap在多线程下会有这些问题

JDK 1.8 改为尾插法,减少了死循环风险,但并发修改仍会导致数据丢失或损坏。)时,链表节点会重新计算索引并倒序插入新数组。多线程并发扩容可能导致链表成环。触发快速失败(fail-fast)机制。操作时,可能导致键值对覆盖或丢失。可能导致数据不一致、死循环、在多线程环境下直接使用。线程B修改了结构(如。

2025-03-28 01:45:00 762

原创 重学Java基础篇—CopyOnWriteArrayList 详细分析

通过牺牲写操作的性能,换取了无锁读的高并发能力,是典型的。它通过在写操作时复制底层数组来实现线程安全,适合。需根据具体业务需求权衡其优缺点,合理使用。且对数据实时性要求不高的场合。)均需先获取锁,确保线程安全。包下的一个线程安全的。

2025-03-28 01:15:00 778

原创 重学Java基础篇—什么是快速失败(fail-fast)和安全失败(fail-safe)?

即使集合在遍历过程中被修改,迭代器也不会抛出异常,而是基于原始数据或快照继续遍历。当集合在遍历过程中被修改(如添加、删除元素),迭代器会立即抛出。是两种不同的迭代器设计策略,主要用于处理集合(如。它们的核心区别在于对并发修改的容忍度和实现机制。)在遍历过程中被修改的场景。

2025-03-27 17:13:54 523

原创 重学Java基础篇—什么是指针碰撞和空闲列表?

的(例如使用复制算法或标记-整理算法的垃圾收集器,如Serial、ParNew、G1的年轻代)。是两种用于分配对象内存的核心策略,它们的实现方式与内存空间的碎片化程度密切相关。在JVM的内存管理中,

2025-03-27 15:20:22 393

原创 重学Java基础篇—线程池参数优化指南

【代码】重学Java基础篇—线程池参数优化指南。

2025-03-25 21:30:25 882

原创 重学Java基础篇—Java集合框架适用于不同的数据存储场景

Java 集合框架的核心接口分别适用于不同的数据存储场景,选择正确的集合类型能显著提升代码性能和可维护性。

2025-03-25 02:45:00 577

原创 重学Java基础篇—使用BigDecimal一定要避开这几个坑

是处理高精度计算的利器,但使用不当会导致隐蔽的精度丢失、性能问题甚至逻辑错误。对高并发场景,考虑对象池化(如 Apache Commons Pool)。掌握这些技巧后,可确保金融计算、科学运算等高精度场景的数据可靠性。是不可变类,所有操作返回新对象,原对象不变。:频繁创建大数或复杂运算会导致性能下降。本身有精度丢失风险,直接用它构造。会同时比较值和精度(scale)。:先设置精度再舍入会导致意外截断。避免在循环内重复创建临时对象。时,若商为无限小数,会抛。的小数位在可表示范围内。构造,避免隐式转换风险。

2025-03-24 21:43:51 557

原创 重学Java基础篇—如何优雅的删除HashMap元素

删除键对应的条目,适用于需要基于键的条件删除。元素需要注意遍历时的安全性和代码的简洁性。根据场景选择最适合的方式,推荐优先使用。直接过滤并删除元素,代码更简洁。• 对于大数据量的Map,若需在多线程中操作,使用。在Java中优雅地删除。和迭代器方式性能接近。在遍历时通过迭代器的。

2025-03-24 21:37:21 219

原创 重学Java基础篇—对比动态代理JDK与CGLIB

建议在项目初期明确代理需求,对于Spring项目推荐优先使用CGLIB以保证灵活性,同时注意代理对象的内存管理。测试环境:MacBook Pro M1/16GB,测试循环10000次。调用Proxy.newProxyInstance。设置superclass和callback。实现InvocationHandler。生成$Proxy0.class。生成FastClass信息。创建Enhancer实例。通过反射调用目标方法。通过方法索引直接调用。

2025-03-19 18:14:21 776

原创 重学Java基础篇—ThreadLocal深度解析与最佳实践

线程级别的变量隔离:为每个线程创建独立的变量副本,实现线程封闭(Thread Confinement)2. 关键实现机制线程持有专属Map:每个Thread维护自己的ThreadLocalMap哈希冲突解决:开放地址法(线性探测)键的特殊性:ThreadLocal实例作为弱引用键初始容量:16(类似HashMap)扩容阈值:2/3容量3. 数据存取流程#mermaid-svg-nNnkIUT0WJOn6aQH {font-family:"trebuchet ms",verdana,ari

2025-03-19 14:41:18 807

原创 重学Java基础篇—逃逸分析技术深度解析

最佳实践代码审查重点高频方法内的对象创建局部同步块的使用自动装箱操作性能测试方法# 内存分配压力测试# 锁竞争测试调优路线图fill:#333;color:#333;color:#333;fill:none;是否识别热点方法分析对象逃逸状态是否可优化?代码重构内存池优化验证优化效果核心价值平均降低20%-40%的Young GC次数减少5%-15%的堆内存占用提升高并发场景下30%+的吞吐量进阶方向分析escape.hpp实现。

2025-03-18 15:28:00 986

原创 重学Java基础篇—类的生命周期深度解析

安全优先:通过严格验证保障运行时安全延迟加载:按需加载提升内存使用效率动态扩展:类加载器机制支持灵活扩展开发建议使用监控类加载行为在Web容器中合理规划war包结构避免在静态初始化块中创建不可逆资源进阶方向研究ClassLoader源码实现(JDK src.zip)分析Tomcat类加载器体系掌握Java Agent字节码增强技术性能调优(减少类加载开销)内存泄漏排查动态编程实现框架设计(如Spring的Bean加载机制)

2025-03-18 13:06:42 636

原创 重学Java基础篇—Java双亲委派机制深度解析

Override// 从文件系统读取.class文件双亲委派机制通过层级委派和缓存复用核心类库的安全性防护类加载的高效性保障系统稳定性提升自定义类加载器开发热部署功能实现框架源码分析(如Spring、Tomcat)模块化编程实践建议通过JDK源码(ClassLoader.loadClass())深入理解实现细节,并结合实际项目需求灵活应用。

2025-03-18 01:15:00 664

原创 重学Java基础篇—Java类加载顺序深度解析

开始↓父类静态变量/块(按代码顺序)↓子类静态变量/块(按代码顺序)↓父类实例变量/块(按代码顺序)↓父类构造器↓子类实例变量/块(按代码顺序)↓子类构造器结束。

2025-03-18 00:45:00 1035

原创 重学Java基础篇—Java泛型深度使用指南

/ 标准容器类示例// 使用示例// 无需强制转型命名规范:使用有意义的类型参数名称(如<K, V>优于<T, U>边界控制:尽可能使用最严格的类型约束通配符策略•PECS原则• 返回值不使用通配符类型安全• 优先使用泛型方法而非原生类型• 利用时添加明确注释文档规范:在复杂泛型类中增加类型参数说明。

2025-03-17 14:50:45 236

原创 重学Java基础篇—Java Object类常用方法深度解析

强制重写组合:当重写equals时必须同时重写hashCodetoString规范:生产环境避免输出敏感信息线程协作:使用Condition替代原生wait/notify对象复制:优先采用序列化或工具类实现深拷贝空安全处理:使用Optional替代null检查通过合理运用Object类方法,可以显著提升代码的健壮性和可维护性。建议结合具体业务场景选择最合适的实现方式,并使用静态代码分析工具(如SonarQube)进行规则检查。

2025-03-17 13:59:39 965

原创 重学Java基础篇—Java对象创建的7种核心方式详解

重学Java基础篇—Java对象创建的7种核心方式详解

2025-03-17 13:52:27 848

原创 DeepSeek-R1两种不同模型变体(deepseek-llm-7b-chat 和 deepseek-llm-7b-base)之间的区别

deepseek-llm-7b-chat 和 deepseek-llm-7b-base 是基于同一参数量级(7B)的两种不同模型变体,主要区别在于训练目标、适用场景和性能表现。

2025-02-10 18:08:29 761

原创 DeepSeek-R1模型不同参数规模(1.5B、7B、8B、14B、32B、70B、671B)之间的区别

DeepSeek-R1 系列模型的不同参数规模(如1.5B、7B、14B、70B等)代表了模型的参数量级,直接影响模型的。例如,用7B模型验证业务流程,再迁移到14B提升效果。建议先从小规模模型实验,再根据实际需求逐步升级。

2025-02-10 17:32:37 7584

原创 DeepSeek本地部署-2025简易教程

最近,国产大模型 DeepSeek 非常火爆,但由于访问人数过多,常常出现反应迟缓甚至宕机的情况。万幸的是,DeepSeek 本身是开源模型。这意味着我们可以将其部署到本地终端,随时使用,不受网络限制。一旦部署完成,它无需联网即可直接运行,这不仅提高了使用的灵活性,还保障了数据的安全性和隐私性。

2025-02-10 15:48:24 1109

原创 springboot集成h2数据库并使用多数据源

为了满足客户的需求,我们计划将项目中使用的MySQL数据库迁移至H2数据库。虽然项目已经集成了多数据源,理论上可以正常运作,但在实际操作过程中,我们发现项目启动时无法自动创建表。我们将对此问题进行深入分析,并寻找合适的解决方案以确保项目的顺利运行。

2024-12-13 16:37:57 766

原创 解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 297: illegal multibyte sequence

解决上述问题的方案:只需要把Popen的字符集设置成utf-8即可,但这个必须在引入execjs库之前就锁定Popen的字符集。当我们安装好nodejs环境,想在python代码中去调用JavaScript代码,常常会出现编码的问题。,让Popen的encoding参数锁定为utf-8。注意:解决execjs执行js时产生的乱码报错,这里了解一下execjs库的执行逻辑。

2024-12-05 14:06:03 326

原创 解决docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“

我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用的镜像来拉取。

2024-11-27 10:00:03 2327 5

原创 解决使用poi-tl时与easyexcel或easypoi产生依赖冲突

遇到这种问题一般都是依赖包版本冲突造成的。,由于新需求需要生成word模板,故引入。,但出现依赖冲突问题,需要一个个排查。还有不成功的,欢迎留言问题一起探讨!解决思路:先移除,后按需补依赖。调用生成word接口,提示异常。

2024-11-20 10:50:44 695 1

原创 解决io.github.linpeilie.ConvertException: cannot find converter from Car to CarDto

打开MapStructPlus的正确使用方式

2024-11-01 14:51:44 1767 1

原创 解决PostgreSQL类型为json, 但表达式的类型为 character varying

解决SpringBoot开发过程中使用PostgreSQL操作复杂对象,如Json、Array等数据的处理

2022-10-19 14:27:08 6114 1

原创 解决java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider

【解决异常】java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider

2022-07-22 14:38:11 10497

原创 解决com.netflix.hystrix.exception.HystrixRuntimeException xxxx timed-out and fallback failed.

com.netflix.hystrix.exception.HystrixRuntimeException: xxxx timed-out and fallback failed.

2022-07-21 17:31:12 3362

原创 2022微信支付v3 - Native

Native支付介绍参考文档:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_7_0.shtmlNative支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。应用场景Native支付适用于PC网站、实体店单品或订单、媒体广告支付等场景用户扫描商户展示在各种场景的二维码进行支付,具体操作流程如下:接入前准备参考文档:https://pay.weixin.qq.com/wiki/doc/ap

2022-02-19 13:34:02 7501 3

原创 初识 Elasticsearch7.16.x(二)

一个索引就是一个拥有几分相似的文档的集合。 比如说,你可以有一个商品数据的索引,一个订单数据的索引,还有一个用户数据的索引。一个索引由一个名字来标识(必须全都是小写字母的),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。...

2022-01-08 17:15:00 1520

原创 初识 Elasticsearch7.16.x(一)

初识 Elasticsearch7.16.x(一)

2021-12-25 13:09:50 1867 1

原创 解决The request was rejected because the URL contained a potentially malicious String “//“

错误日志15:47:51.549 [http-nio-8104-exec-26] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - [log,175] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exceptionorg.springframework.security.web.firewall.RequestRejectedException:

2021-11-29 15:56:03 1203

原创 EasyExcel填充模板及图片

官方文档:https://www.yuque.com/easyexcel/doc/fill其实参考官网文档已经可以正常使用了,这里主要是记录如何在模板中填充图片请求参数注意:sheetNo 能帮助我们定位数据是哪个sheet{ "fileId": 804, "data": [ { "sheetNo": 0, "content": "简单说明", "test_image": 907, "test2_image": 908 },

2021-11-26 18:21:17 10115 14

原创 解决Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier

最近使用SpringBoot + JSF + PrimeFaces 中,遇到了不少的问题。Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier [basicView] resolved to null2018-09-06 14:53:08.043 ERROR 10200 --- [io-...

2018-09-06 15:19:18 2558 2

原创 解决MyBatis报错:tk.mybatis.mapper.provider.base.BaseSelectProvider

错误信息org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseSelectProvider.dyn...

2018-07-08 16:24:37 9440 3

原创 SpringBoot整合Mybatis (五) 多对多

SpringBoot整合Mybatis四、多对多实现    目标:根据id查询运营商拥有的用户1. 构建项目    使用上一章内容2. 创建数据库1). user表:

2018-07-07 17:05:29 1383

原创 SpringBoot整合Mybatis (四) 多对多

SpringBoot整合Mybatis三、一对多实现1. 构建项目    使用上一章内容2. 创建数据库

2018-07-07 16:03:11 2481 1

原创 SpringBoot整合Mybatis (三) 一对多

SpringBoot整合Mybatis三、一对多实现1. 构建项目    使用上一章内容

2018-07-07 11:14:26 2820 3

原创 SpringBoot整合Mybatis (二) 一对一

SpringBoot整合Mybatis一、一对一实现

2018-07-07 10:20:59 1229

原创 SpringBoot整合Mybatis (一) 简单CRUD

SpringBoot整合Mybatis一、简单CRUD方法实现1. 构建项目    使用 IDEA 开发工具1). Create New Project    添加依赖: Web、MySQL、JDBC、MyBatis2). pom.xml    jar包详细说明 &lt;dependencies&gt; &lt;!-- 支持JDBC数据库 --&gt; &lt...

2018-07-07 10:13:59 1688 4

2024上半年信息处理技术员高频真题

2024上半年信息处理技术员高频真题

2025-03-25

Cherry-Studio-1.0.0-setup

Cherry-Studio-1.0.0-setup

2025-03-18

tradingviewx64

tradingviewx64

2025-03-17

veighna-studio-3.9.4

veighna_studio-3.9.4 量化

2025-03-17

String AOP所需的jar包

String AOP所需的jar包,String AOP所需的jar包 String AOP所需的jar包,String AOP所需的jar包 String AOP所需的jar包,String AOP所需的jar包

2018-03-02

spring-aop-5.0.3.RELEASE.jar

Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource

2018-02-21

空空如也

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

TA关注的人

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