- 博客(57)
- 收藏
- 关注
原创 Java运行时的堆、栈和方法区
(String Table,JDK 7+ 移至堆)(对象实例的全部数据,包括实例变量、对象头等)reference类型,不是对象本身。
2025-03-25 23:54:38
390
原创 JUnit 与 Mockito 组合测试 Controller 层-入门
Autowired@MockBean// Mock Service,避免真实调用@Test// 解析见下文用于指定 mock 行为,表示当 myService.getDataById(id) 被调用时,应该返回特定值。anyInt()是Mockito 的参数匹配器,表示无论传入的 id 是什么整数值,都返回。指定返回的模拟数据。@Autowired@MockBean// Mock Service,避免真实调用@Test//模拟。
2025-03-12 18:03:09
577
原创 v-if、 v-show 区别对比
如果元素的显示/隐藏状态 切换频繁,用 v-show,因为它不会销毁 DOM,切换更快。如果元素可能只会显示一次或几次,用 v-if,避免一开始就渲染,节省资源。
2025-02-25 10:45:51
132
原创 ref() 和 reactive()响应性 浅解
解构是 JavaScript用于从对象或数组中提取值的语法,允许你将数据拆分并存储到独立的变量中。看个例子,一眼便知count: 0,});// ❌ 直接解构(会丢失响应性)count++;// ❌ 这里不会触发视图更新</script><template>-- 不会更新 -->
2025-02-20 11:21:05
820
原创 `SentinelResource` 注解用法
注解是阿里巴巴开源的限流熔断组件 Sentinel 中的一部分,用于在 Java 应用中定义资源,并配置该资源的流量控制、熔断降级等规则。
2025-01-22 15:24:34
667
原创 SQL Server 中,`timestamp` 和 `rowversion`类型特性
由于名字太具有迷惑性,`timestamp`改名成 `rowversion`了。
2024-12-12 16:29:39
662
原创 Chrome自动打开hao123网页的解决方案
如果在快捷方式目标位置后指定网址,会在打开浏览器后默认打开该网址,删掉即可。进入谷歌浏览器的设置,查看起始界面选项,看其是否被设置成hao123。如果有删掉它,改为自己想设置的主页或者关闭该选项。
2024-11-14 13:42:50
1547
2
原创 SQLite -- 一个遵守君子协定的数据库
SQLite 的数据类型约束相对宽松,它采用的是动态类型系统。虽然你可以为列定义数据类型,但SQLite 不会严格地检查插入数据的类型。如果你定义一个INTEGER列,可以插入文本、浮点数、整数等类型的数据,SQLite 会根据需要自动转换这些数据。这种宽松的设计使得 SQLite 非常灵活,适合嵌入式应用或轻量级的数据库需求,但也可能导致数据的一致性和准确性问题,特别是当你希望强制执行类型安全时。为了增强数据的正确性,开发者可以使用触发器和CHECK约束来手动控制数据类型。
2024-11-06 17:29:47
741
原创 Git 工作区、暂存区和仓库
工作区:是你实际编辑文件的地方。暂存区:是一个临时存储区域,用于存放你准备提交的文件。仓库:是 Git 存储项目所有版本历史的地方。
2024-10-09 13:47:38
718
原创 PostgreSQL基础知识整理
information_schema也 是 PostgreSQL 中的一个重要 schema,用于提供符合 SQL通用 标准的数据库的元数据,其作用看似与pg_catalog重合,其实确实重合,其作用在于,作为一种标准化的查询方式,使得用户可以以一致的方式访问数据库结构信息,而不依赖于特定的数据库实现。在 PostgreSQL 中,没有严格的“普通用户”和“管理员”的分类,但可以通过角色的属性和权限设置来实现不同权限级别的用户管理。INHERIT: 允许用户继承其角色组的权限。列出某张表的详细表结构。
2024-09-29 16:45:16
444
1
原创 通过git拉取和上传项目--入门
从远程仓库(如 Gitee、GitHub 等)拉取一个已有的项目到本地。:在 Gitee 上创建的仓库页面中,可以看到仓库的 URL。确保你的计算机上已经安装了 Git。如果没有安装,可以从。),手动编辑文件,删除冲突标记,保留你希望保留的代码。,请替换为实际的分支名称。例如,如果默认分支名称是。假设你目前处于合并冲突的状态,无法向远程提交项目。切换回要提交的分支,假设为master。拉取最新的项目代码到一个临时分支。尝试将拉取的项目和本地项目融合。如果仓库的默认分支名称不是。假设远程仓库的 URL 是。
2024-09-27 15:43:15
1360
原创 高效java - 无意间造成内存泄漏的场景
在Java中,内存泄漏指的是不再使用的对象由于某种原因未能被垃圾收集器回收,从而导致内存浪费的现象。比如,我们用数组实现了一个栈(stack),但是我们的出栈方法是
2024-09-12 11:07:57
664
原创 高效Java-String.matches的性能问题
如果同一个正则表达式被反复使用,应该使用 Pattern.compile(regex) 预编译该模式,然后使用 matcher 方法进行匹配。
2024-09-12 08:58:03
456
原创 依赖注入 (Dependency Injection)
乍听依赖注入,似乎是什么很高级的东西,其实不然,其只是名字高大上,我们实际上在不知不觉间就经常用它了。依赖注入是软件工程中的一个名词,不止存在于JAVA语言中,在多种语言中都有体现。本文只针对JAVA语言举例。从软件工程的角度来看,依赖注入(Dependency Injection,简称DI)是一种设计模式,旨在减少软件组件之间的紧耦合,并促进代码的重用性和可测试性。
2024-09-11 17:21:54
1146
原创 Java 单例模式
饿汉式:在类加载时创建实例,简单易懂,无需加锁。懒汉式:延迟创建实例,需考虑线程安全问题。枚举:简洁且天然具备线程安全性和序列化安全性,防止反射破坏。
2024-09-11 14:48:39
1437
原创 记录 ThreadPoolExecutor的一些细节
方法执行前执行,事实并非如此,实际上,execute 方法是线程池对外提供的主要方法,用于提交任务到线程池中执行,而beforeExecute 方法则是在任务真正被执行之前由线程池调用的回调方法。而其有三种提交任务方式:add、put和offer,好奇其内部用的哪个,又不想查资料,故而跳到源码内部一看。若只看方法名,或许会以为。
2024-09-09 16:55:06
276
原创 ResourceBundle使用有感
在使用getString(String key)方法时,我发现,在本地配置对应的资源文件存在但无对应键值对的情况下,其去查找了默认资源文件
2024-09-05 17:21:55
363
原创 枚举类(enum)的 valueOf 方法
在 Java 中,枚举类(enum)的valueOf方法是一个静态方法,用于根据枚举常量的名称获取对应的枚举对象。这个方法允许你通过传递一个字符串(枚举常量的名称)来获取相应的枚举值。valueOf。
2024-09-03 09:36:00
1185
原创 String.valueOf 和 toString()方法比较
在大多数情况下,使用操作符进行字符串拼接时,对于基本类型会自动调用,而对于对象则调用其toString方法。
2024-09-03 08:55:22
275
原创 Java中synchronized关键字的理解
Java中的关键字是一种内置的同步机制,用于实现线程之间的互斥,以确保多个线程在同一时刻只能有一个线程访问特定的代码段或对象。可以用于方法或代码块,从而实现对共享资源的安全访问。需要明确的是,锁是针对对象而言的,以下场景实际上都是在描述外在表现,内部实现请细究jvm原理。现在,用一句话来概括以下场景,线程只有拿到对象的锁,才能对锁住的代码块进行访问。
2024-09-02 17:14:49
358
原创 Oracle 使用ORA_HASH() 进行分片的参数注意
max_bucket确定的是哈希函数返回的最大桶值。也就是说,应该传入的值为:预分片数量 - 1。
2024-09-02 09:21:10
402
原创 Reflection.getCallerClass()
DriverManager.getConnection;Reflection.getCallerClass()方法
2024-08-14 15:41:32
496
原创 PgStatement的executeCachedSql(String sql, int flags, String @Nullable [] columnNames)方法分析
PgStatement的executeCachedSql(String sql, int flags, String @Nullable [] columnNames)方法
2024-08-02 17:01:18
820
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人