自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hhua0123的专栏

上善若水,厚德载物!

  • 博客(27)
  • 收藏
  • 关注

原创 java Queue 详解

Java Queue是Java集合框架中实现FIFO(先进先出)数据结构的接口,位于java.util包中。主要实现类包括LinkedList、PriorityQueue、ArrayDeque和线程安全的ConcurrentLinkedQueue。Queue分为无界队列和有界队列,支持add/offer(插入)、remove/poll(移除)、element/peek(访问)三类操作。特殊实现如BlockingQueue(阻塞队列)和Deque(双端队列)扩展了队列功能。PriorityQueue支持优先级

2025-07-29 21:25:27 399

原创 理解“无界队列”与“有界队列”及其适用场景

摘要:本文探讨了无界队列和有界队列的特性与应用。无界队列容量动态扩展,适合高流量实时处理,但内存消耗不可控;有界队列固定容量,能稳定系统性能,但可能导致数据丢失。文章分析了两种队列的优缺点,并通过股票交易和打印任务系统等案例说明其适用场景,最后给出队列选择建议:根据数据流特性、内存限制和系统稳定性需求进行选择。合理运用队列能有效提升系统性能和资源利用率。

2025-07-29 21:18:19 307

原创 Java中的有界队列和无界队列详解

摘要:Java中的阻塞队列分为有界队列和无界队列两类,主要区别在于容量限制和实现机制。有界队列(如ArrayBlockingQueue)容量固定,提供明确的流量控制,适合内存受限场景;无界队列(如LinkedBlockingQueue)理论上容量无限,基于链表实现,适合任务量波动大的场景。选择时需考虑内存风险、吞吐量等关键因素,有界队列更安全但吞吐量较低,无界队列性能更好但可能导致OOM。实际应用中需根据系统稳定性需求和任务特点进行选择。

2025-07-29 19:29:49 346

原创 Java-io框架的认知与对比

IO框架选型与对比摘要 IO框架主要分为编程语言层库(如Java IO/NIO、Apache Commons IO)和分布式存储系统(如MinIO、FastDFS)。语言层库侧重本地文件操作,需注意资源释放;分布式框架则针对不同存储场景:MinIO适合云原生大文件存储,支持S3协议和自动扩展;FastDFS专为海量小文件优化但运维复杂。选型关键点包括性能需求、扩展性及生态兼容性,云原生场景推荐MinIO,传统小文件处理可选FastDFS。 (150字)

2025-07-28 21:18:52 713

原创 Java jvm 模型的简单描述

JVM模型由类加载器、运行时数据区、执行引擎和本地方法接口组成。类加载器负责加载字节码到内存,运行时数据区包括方法区、堆、虚拟机栈、本地方法栈和程序计数器,用于存储程序运行数据。执行引擎将字节码转换为机器码执行,本地方法接口支持调用其他语言编写的方法。该模型清晰展示了JVM各组件及其交互关系。

2025-07-28 19:56:52 169

原创 Mybatis延迟加载原理

摘要: MyBatis延迟加载通过动态代理(CGLIB/Javassist)实现按需查询,仅在访问关联属性时触发SQL,避免一次性加载嵌套数据。需配置lazyLoadingEnabled=true并关闭aggressiveLazyLoading,适用于多表关联或大数据量场景,但需注意Session生命周期和潜在N+1查询问题。核心原理是代理拦截方法调用,用运行时查询换取初始化性能优化。(149字) 关键词: MyBatis、延迟加载、动态代理、按需查询、性能优化

2025-07-28 19:26:53 542

原创 MyBatis 的两级缓存机制

MyBatis缓存机制摘要 MyBatis提供两级缓存:一级缓存(SqlSession级别,默认开启)和二级缓存(Mapper级别,需手动配置)。一级缓存生命周期与SqlSession绑定,执行DML操作或会话结束时自动清空;二级缓存需实体类实现Serializable接口并通过<cache/>标签开启,同namespace下的DML操作会清空该缓存。二级缓存在分布式环境中可能出现数据不一致,建议结合Redis等中央缓存使用。高频查询且数据变动少的场景适合二级缓存,而短事务频繁查询适用一级缓存。

2025-07-27 21:18:52 654

原创 Mybatis-plus 的 Mapper 编写有哪几种方式?

MyBatis-Plus的Mapper编写主要有三种方式:1)继承BaseMapper接口自动获得基础CRUD功能;2)使用注解方式扩展自定义SQL;3)通过XML映射文件处理复杂SQL。实际开发中常组合使用,基础操作继承BaseMapper,简单扩展用注解,复杂逻辑采用XML配置。不同方式适用场景各异,建议根据SQL复杂度灵活选择,同时注意XML路径匹配和参数注解等细节要求。

2025-07-27 19:57:52 521

原创 电商商品SPU和SKU的概念

摘要:本文详细介绍了电商系统中SPU(标准产品单位)和SKU(库存量单位)的概念区别及实现方案。SPU代表商品集合(如华为X60手机),SKU则是最小销售单元(如华为X60黑色128G)。文章分析了SPU和SKU的数据库表结构设计,包括tb_spu和tb_sku表的字段说明。重点阐述了商品添加的业务逻辑实现,通过分布式ID生成器分配主键,建立SPU与SKU的一对多关系,并处理品牌与分类的关联关系。代码实现部分展示了Java后台如何通过组合实体类Goods(包含SPU和SKU列表)完成商品数据的完整保存流程,

2025-07-26 21:15:40 520

原创 SQL语句中隐式连接(用逗号分隔表名)和显示连接(LEFT JOIN)的区别

若需保留左表全部数据(即使右表无匹配),必须使用LEFT JOIN;优先使用显式连接(如LEFT JOIN、INNER JOIN),明确语义且避免意外笛卡尔积。LEFT JOIN:返回5行(左表全部),其中2行与右表匹配,其余3行右表字段为NULL。若包含WHERE条件(如t_user.id = t_role.id),显式声明连接类型和关联条件(ON子句),代码意图清晰,便于维护和调试。则退化为内连接‌(INNER JOIN),仅返回匹配的行。,即使右表(t_role)无匹配行。仅返回完全匹配的行。

2025-07-25 19:25:53 189

原创 sql 语句中 1 = ‘1‘ 是什么意思?

SQL语句中1 = '1'是一个比较操作,多数数据库会将字符串'1'隐式转为整数1,使表达式恒为真(返回true)。这种写法常见于测试或绕过条件(如WHERE 1='1'会返回所有行)。但需注意:不同数据库对类型转换的处理可能不同,且该表达式可能被用于SQL注入攻击(如' OR 1='1)。建议使用显式类型转换(如CAST())和参数化查询来避免安全风险。

2025-07-25 19:12:53 399

原创 Mybatis 如何实现一对一、一对多、多对多查询

是一个非常流行的持久层框架,它提供了简单且强大的功能来处理数据库操作。在 MyBatis 中,实现一对一、一对多和多对多的关系映射是非常常见的需求。下面将分别介绍这三种关系的实现方法。

2025-07-15 15:58:53 253

原创 Mybatis中 ${} 和 #{} 有什么区别?

可以看出 ${} 和 #{} 都是 MyBatis 中用来替换参数的,它们二者的区别主要体现在:${} 是直接替换,而 #{} 是预处理;需要传递普通参数时使用 #{};如果业务需要传递的是 SQL 命令或 SQL 关键字,需要使用${} ,但在使用前一定要做好安全验证;使用 ${} 存在安全问题,而 #{} 则不存在安全问题。

2025-07-15 15:56:34 446

原创 JDBC原理及理解

摘要: JDBC(Java数据库连接)是Java操作关系型数据库的标准API,其核心原理是通过分层架构(应用层→接口层→驱动层)实现跨数据库兼容性。开发者调用JDBC统一接口,不同数据库厂商提供驱动实现协议转换。典型使用流程包括:加载驱动、建立Connection、创建Statement执行SQL、处理ResultSet、关闭连接。JDBC通过连接池优化性能,支持事务管理(commit/rollback),并允许通过切换驱动适配多种数据库。这一设计实现了"一次编写,多库运行"的跨平台能力

2025-07-15 15:52:19 765

原创 java学习路线总结2

java学习路线总结2

2018-11-18 22:58:26 190

原创 java学习路线总结

java学习路线总结。

2018-11-18 21:58:19 380

原创 就从html开始说编程;

就从html开始说起,我们来谈谈编程。

2017-11-06 16:26:20 877

转载 Myelipse如何最佳设置

转载自:http://jingyan.baidu.com/article/f3ad7d0fddec3b09c3345ba6.html    ------我必须要写上网址,因为我最讨厌转载别人的的文章不写出处的人,仿佛自己把文章贴上以后就自我感觉很牛逼一样,很无耻,其实是对别人劳动成果的极端不尊重~~!!作为企业级开发最流行的工具,用Myeclipse开发java w

2015-06-09 10:26:37 461

原创 Oracle基本操作命令

Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Windows\System32>sqlplusSQL*Plus: Release 11.2.0.1.0 Production on 星期六 5月 30 09:18:17 2015Copyright (c) 1982,

2015-05-31 21:54:55 549

转载 oracle数据类型详解

oracle数据类型  转载自Defonds:http://blog.youkuaiyun.com/defonds/article/details/4302695 有道是,磨刀不误砍柴工。多了解一些底层的东西,对于Oracle开发、维护大有裨益。个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半功倍!在Oracle数据库中,每个关系表都

2015-05-29 20:28:15 328

转载 Mysql常用命令行大全

转载自:http://www.blogjava.net/supperchen/archive/2012/10/11/389340.html第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p,

2015-04-18 13:27:30 493

转载 mysql如何重启?mysql重启命令与方法

转载自:http://www.jbxue.com/db/24269.html本文介绍了不同系统中mysql的重启方法,如何用脚本或命令重启mysql数据库?重启nginx、mysql、php-fmp服务命令,有需要的朋友参考下。第一部分,RedHat Linux (Fedora Core/Cent OS) 重启mysql数据库。 1、启动:/etc/

2015-04-18 12:52:44 3522

转载 Windows下命令行下启动ORACLE服务

转载自:http://sarsgetaway.iteye.com/blog/1265272--总结启动命令如下:lsnrctl [start|stop|status]                  --启动监听器,停止监听器,查看监听器的状态;net [start|stop] oracleserviceorcl              一、

2015-04-18 12:36:39 704

原创 Windows下命令行下启动ORACLE服务

转载自:http://sarsgetaway.iteye.com/blog/1265272--总结启动命令如下:lsnrctl [start|stop|status] --启动监听器,停止监听器,查看监听器的状态;net [start|stop] oracleserviceorcl 一、独立启动: Mi...

2015-04-18 12:22:21 239

原创 SSH2框架整合的常见问题总结!

1、确认自己的框架环境:2、确认自己的框架资源jar包:3、确认自己的配置文件:4、确认自己的代码编写:5、测试自己的代码:6、整合成功:常见的异常和处理总结:其他待续……...

2015-03-05 15:56:27 163

原创 SSH2框架整合的常见问题总结!

1、确认自己的框架环境:2、确认自己的框架资源jar包:3、确认自己的配置文件:4、确认自己的代码编写:5、测试自己的代码:6、整合成功:常见的异常和处理总结:其他待续……

2015-01-28 19:56:22 497

转载 盲人国度

在盲人的国度里,有一只眼睛的人就有资格称王了 转载自 meiya的日记  meiya的主页  广播  相册  2013-10-07 23:31:48   在过去的三个多月里,每周六一天的心理咨询师的培训课成了我一周中最重要最开心的事情之一。因为国庆节的缘故,从9月中旬到10月中旬培训中心都没有安排课程,因此习惯每周六去上课的我在假期里反而一时颇为不习惯。

2014-11-21 16:43:42 686

空空如也

空空如也

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

TA关注的人

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