Aresxue

Aresxue

🏢  来未来科技(浙江)有限公司 / 技术专家
V2EX 第 401577 号会员,加入于 2019-04-14 13:14:12 +08:00
今日活跃度排名 7438
2 G 58 S 26 B
做 Java 程序员而不是 spring 程序员
Java  •  Aresxue  •  2023-04-29 11:19:36 AM  •  最后回复来自 Al0rid4l
60
如何有效区分一个类是业务自己编写的类还是依赖引入的类?
Java  •  Aresxue  •  2023-03-14 23:17:31 PM  •  最后回复来自 choice4
5
自动化测试对于前置数据的构造
Java  •  Aresxue  •  2021-01-14 21:49:02 PM  •  最后回复来自 Aresxue
7
idea 插件开发
Java  •  Aresxue  •  2020-12-04 14:40:15 PM  •  最后回复来自 retanoj
4
真心希望 idea 能出一款原生的插件干掉 lombok
Java  •  Aresxue  •  2020-10-20 09:40:55 AM  •  最后回复来自 polyang
77
分享一个对 Dubbo2.7.3(2.7 版本理论上都支持)服务的监控项目 dubbo-minitor
Java  •  Aresxue  •  2019-10-29 10:34:25 AM  •  最后回复来自 dif
3
mysql 删除记录会删除次级索引吗?
MySQL  •  Aresxue  •  2019-09-06 11:05:14 AM  •  最后回复来自 ilumer
5
好像明白为什么现在工资都这么低了。。。
程序员  •  Aresxue  •  2019-07-18 11:54:01 AM  •  最后回复来自 Aresxue
169
Aresxue 最近回复了
17 小时 51 分钟前
回复了 fumer 创建的主题 Java 关于路径 url 的设计,是驼峰方式还是中划线方式用的多些
感谢 DeepSeek-R1 和 GPT 4o ,以下为当前页面的总结
### **中划线(-)**

**优点**

1. **视觉友好**
- 无驼峰大小写混淆(如 **`i`** 和 **`l`** 视觉近似问题)
- 空格替代感强,单词分隔清晰(**`get-list`** vs **`get_list`**)
2. **技术兼容性**
- 与域名规范一致(域名不支持下划线)
- 避免 HTTP 协议中路径大小写敏感问题(全小写统一)
- 符合 Google SEO 推荐([**官方文档**]( https://developers.google.com/search/docs/crawling-indexing/url-structure)),传统网站和 SEO 实践中,多推荐使用中划线
3. **输入便捷性**
- 无需切换大小写,打字效率更高
- 符合传统网站习惯(如 **`about-us`**、**`contact-info`**

**缺点**

1. **前端工具兼容性**
- 使用 **`-`** 分割路径可能导致 TS 模型生成工具解析困难(需额外配置)
- 某些自动生成的 API 工具不便生成含中划线的路径
2. **复制粘贴体验**
- 在某些编辑器中,双击选中时,中划线可能被切断(依赖编辑器配置修正),导致不易选中整个字符串。

### **下划线(`_`)**

**优点**

1. **开发工具友好**
- 双击复制时,下划线会被整体选中(无需配置编辑器)
- 与部分编程风格(如 Python 的 **`snake_case`**)一致
2. **规避大小写问题**
- 全小写下划线无大小写敏感风险

**缺点**

1. **视觉与功能性争议**
- 下划线在长 URL 中与空格区分度低(如 **`get_list`** vs **`getlist`**),可能与空格混淆
- 域名不支持下划线,路径中混用可能引发混淆
2. **服务器配置风险**
- Nginx 等服务器默认不支持 URL 中的下划线(需手动启用)

### **驼峰**

**优点**

1. **开发友好性**
- 与后端代码风格(如 Java 的驼峰命名)高度一致
- 节省字符长度(如 **`getList`** vs **`get-list`**)

**缺点**

1. **用户体验风险**
- 手动输入易混淆(如 **`i`** vs **`L`**)
- 部分客户端可能自动转全小写导致 404
- **输入不便**:需要在输入时切换大小写,使用上稍显麻烦
2. **协议兼容性问题**
- HTTP 路径大小写敏感,需严格匹配(前端/运维易出错)

总的来说,选择哪种格式需考虑具体应用场景的约束和需求,如 SEO 友好性、开发工具兼容性、团队编码规范等。中划线在较多场合被优选,尤其是在 SEO 和 URL 命名中。
44 天前
回复了 YVAN7123 创建的主题 Java 能不能推荐一个 Spring Boot 脚手架
java 的 orm 是个月经贴了,但说实话现存的 orm 都不好用,在当前的 JVM 设计下也很难看到曙光,这才是 mybatis 还能苟延残喘的原因, 作为第四代编程语言的 sql 在数据处理这个领域语法的简洁性超过 java 这个三代语言太多了,甚至可以说 sql 语法的易用性、简洁性超出了绝大多数编程语言,在这个背景下用编程语言代替 sql 只会带来更多的工作量,而 orm 的优势(数据库适配性、可维护性)等等很难打动用户。
50 天前
回复了 4ra1n 创建的主题 Java 有没有什么思路对 Fat Jar 进行瘦身
@4ra1n 这里其实还有个更安全的方式,把 arthas 源码搞下来,然后自己开发一个新的 command ,可以直接复用 arthas 的 sc 指令( sc *),然后自己做 class->jar 文件的计数处理即可,这样可以使用 attach 模式而不是 premain ,对业务更安全影响也更小。
53 天前
回复了 4ra1n 创建的主题 Java 有没有什么思路对 Fat Jar 进行瘦身
这个诉求没这么复杂,java agent 把 instrumentation 的引用保存起来就行了,然后放线上去接受真实流量,跑个一天或者手动触发业务操作,再把某台容器从注册中心剔除掉,到这台容器上调用 http 接口,接口里面用 java.lang.instrument.Instrumentation#getAllLoadedClasses 获取所有的 class ,然后对 class 所在 jar 包去重就行了
66 天前
回复了 wtotal 创建的主题 Java 如何提高 maven 打包速度?
分本地还是线上,本地环境 3 楼的策略你能搞完绝对够用了,线上环境就要复杂的多了,maven 本身就有一些调优参数。
78 天前
回复了 fkdog 创建的主题 Java 看到了一个极其中二逆天的国内开源框架
不用就行了,说实话对开源来说这个算是屁大点事,Linus 以前还天天 fuck NVIDIA 呢。
不过这框架我还真用过,语法思路问题不大(抄的 mybatis-plus ),但是明显作者技术功力不到家,对底层序列化还有很多地方的处理都有 bug ,另外和 spring-data-elasticsearch 的互兼容性做的比较差,导致最后还是弃用了,我想要的其实更多的还是一个基于 spring-data-elasticsearch 的语法糖框架,毕竟 spring-data-elasticsearch 的扩展和细节处理已经有很多年的积累了。
108 天前
回复了 vyuai 创建的主题 Java 大佬们, 三层架构先写哪个层比较好呢
Controller -> Mapper -> Service ,外部定义越早越好,对接的前端和其它三方可以直接查看 Controller 申成的接口文档,Mapper 其实主要指的是底层模型,这块是需要和老板/产品达成一致的,Service 指的是内部服务一般来说调整更自由,不管是改名字还是职责还是拆分都好说一些。
128 天前
回复了 LazYFire 创建的主题 程序员 能不能推荐一下自己在用的 AI 编程插件
Copilot 体感最好,但我日常办公是天然和外网联通的,而且网速非常流畅,而且使用的公司购买的 Copilot 付费版本。
1.一般是对外的接口层( http 、rpc 、mq )是需要一定避免 Map 的,内部方法合理即可不需要一定避免;
2.针对你这个 case 非要搞可以搞个 List<xxxCount>对象,意义聊胜于无,从性能来说 Map 还更好些。
172 天前
回复了 cookii 创建的主题 Java 记录一次修复 Spring Framework Bug 的经历
属于滥用拦截器了,这个场景写个 Adapter 就解决了,addToken 方法里面肯定还有 json 序列化和反序列化的开销,Adapter 设计合理点还能把这部分开销优化掉。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   919 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 21:33 · PVG 05:33 · LAX 13:33 · JFK 16:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.