- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 Java异常处理最佳实践指南
Java异常处理避坑指南 本文总结了Java异常处理中的10大常见陷阱及最佳实践: 吞掉异常:避免无处理的catch块,应记录日志或抛出业务异常 宽泛捕获:使用具体异常类型而非笼统的Exception 资源泄漏:优先使用try-with-resources自动关闭资源 finally陷阱:避免在finally中使用return/throw导致异常覆盖 异常链丢失:抛出新异常时保留原始异常作为cause 性能问题:避免用异常控制流程,改用条件判断 检查型异常滥用:非关键错误考虑使用非检查型异常 重复记录:顶层
2025-07-16 08:59:13
1028
原创 Java封装继承多态的痛点与解决方案
特性风险现代最佳实践继承紧耦合、破坏封装组合+接口,用sealed类限制继承多态运行时类型不安全策略模式,优先抽象而非具体实现封装引用传递副作用、包装类陷阱防御性复制,不可变对象,.equals()比较关键认知升级OOP是工具而非信仰。继承适用于“严格是”(is-a)关系(如),而非“有权限”(多态的价值在于行为抽象What),而非身份归属Who封装的敌人常是开发者的惰性(直接返回而非你提到的“钥匙继承悲剧”,本质上是因为Java的protected权限过大(同包可见),而现实中的权限应遵循。
2025-07-13 09:26:43
380
原创 Java设计模式核心模式分析
嗯,用户对Java设计模式的理解挺深入的,直接点出了几个核心模式的价值,还提出了"组合优于继承"的现代理念。java 23中设计模式其中有价值的我觉得就以下几种动态代理,策略模式,适配器模式,装饰器模式,责任链模式,组合模式,在组合大于继承的现代软件开发理念下其他设计模式感觉都是这几种设计模式的变种或者完全可以被契约+组件的方式替代。你列出的 7 种模式(动态代理、策略、适配器、装饰器、责任链、组合)是 Java 23 种设计模式中最核心、最常用、最符合现代“组合优于继承”和“契约+组件”理念的。
2025-07-13 09:24:34
637
原创 盘点java种过度设计的组件和功能
边界维度控制机制目标内存固定尺寸+平坦存储消除间接访问,提升缓存命中率类型无标识+结构相等避免副作用,简化推理泛型条件特化+自动装箱兼容现有生态,渐进式迁移安全非空保证+递归初始化消除空指针,保障内存安全逃生降级应对特殊场景Valhalla项目的智慧不追求完美理论模型,而是通过精确的边界约束,在现实工程限制下实现最大价值。值类型的边界设计本质是在内存效率与对象模型之间划出一道可控的隔离带,让开发者能安全地触及硬件级性能。
2025-07-10 09:54:57
871
原创 如何解决json中携带的反斜杠
public static String getJson(String obj){ obj = obj.replace("\\", ""); char[] array = obj.toCharArray(); char[] charArray = new char[array.length - 2]; for (int i = 1; i < array.l...
2018-08-05 19:16:47
15795
原创 Powerdesigner导出的sql语句中去掉双引号 但Format项居然没有CaseSensitivityUsingQuote子项
第一步:第二步:选中 Format-> 右键new Bool item -> Name: CaseSensitivityUsingQuote Comment:“Determines if the case sensitivity for identifiers is managed using double quotes” Value: no第三步:点...
2018-06-10 21:44:42
1095
原创 TortoiseGit与GitHub项目关联设置
一、常规克隆GitHub上的项目:1、在本地硬盘上放置项目的地方上【右键】->【Git 克隆】->在【url地址】上输入https的GitHub的链接,然后就是等待完成,之后即可完成拉取推动等操作。二、本地有项目文件与GitHub上的项目进行关联:1、存在这种情况,比如本地已经建立好项目,然后后置在GitHub上再建立仓库,这时就需要进行关联,提供两种思路:①用第一
2017-07-22 22:33:57
828
原创 Intellij IDEA 使用技巧 SVN篇
ida SVN 菜单说明这里的忽略一直灰色的,可以进入这里的版本控制里进行忽略选择或者这里进行添加 需要忽略的东西这里有三个选择按照顺序1、忽略指定的文件2、忽略文件夹下所有文件3、忽略符合匹配规则的文件
2017-03-18 20:26:25
2215
1
原创 JVM 参数设置
VM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 -Xmx 是最大堆的大小 当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆,如果-Xmx设置的太小,扩展堆就会失败,导致OutOfMemoryError错误提示。
2016-10-17 17:46:02
251
原创 jdk1.7下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2016-09-01 10:04:00
2846
java程序使用JPA注解详解
2014-02-12
jQuery插件开发.pd
2014-10-26
MyEclipse_+_Maven开发Web工程的详细配置过程
2014-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅