
Java基础与高级特性
文章平均质量分 76
深入浅出Java-Java基本语法
一周一志程序员
某互联网大厂资深架构师,现居杭州西子湖畔。这个人很懒,就喜欢用技术干一些让别人偷懒的事,他有奇淫巧技
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AI资深Java 研发专家解析使用Java 中常见的 Queue实现消息队列
摘要: 生产级消息中间件不会直接使用JDK内置队列,因其缺乏持久化、海量堆积能力,且存在性能瓶颈。正确方案是采用**“内存队列+磁盘文件”分层架构**: 内存层:优先选Disruptor(无锁高吞吐)或LinkedBlockingQueue(带界缓冲),而非ConcurrentLinkedQueue(易OOM)。 存储层:自研基于磁盘的顺序日志文件(如Kafka设计),利用Page Cache和零拷贝技术实现高性能持久化。 JDK队列局限:仅适合组件间通信缓冲,无法满足消息中间件的核心需求(持久化、堆积、多原创 2025-08-21 19:22:51 · 760 阅读 · 0 评论 -
AI资深 Java 研发专家系统解析Java 中常见的 Queue实现类
Java队列实现类深度解析:精选摘要 核心分类:阻塞队列(LinkedBlockingQueue)、非阻塞队列(ConcurrentLinkedQueue)、双端队列、延迟队列和优先级队列 关键对比: LinkedBlockingQueue:阻塞式,ReentrantLock锁机制,适合生产者-消费者模式 ConcurrentLinkedQueue:非阻塞,CAS无锁算法,超高并发但无限容量 典型应用场景: 线程池任务队列(ArrayBlockingQueue) 高并发日志缓冲(ConcurrentLink原创 2025-08-21 19:18:31 · 511 阅读 · 0 评论 -
Java 字符串大小写转换详解代码示例
Java字符串大小写转换提供了多种方法:toUpperCase()和toLowerCase()可将字符串全部转为大写或小写,支持默认区域和指定区域两种形式;Character类可实现单个字符的转换。高级应用包括首字母大写、驼峰命名、特定区域转换(、选择性转换字母字符等。此外还介绍了使用Stream API、大小写反转等技巧,满足不同场景的文本处理需求。原创 2025-07-23 13:51:04 · 312 阅读 · 0 评论 -
Java Map初始化并赋值
java初始化 Map并直接赋值为常量的场景原创 2024-12-23 22:37:02 · 1650 阅读 · 0 评论 -
FastJSON 默认不会包含值为 null 的字段
FastJSON 的方法不会包含值为null的字段。如何包含null使用来显式启用包含null字段的行为。原创 2024-12-20 13:49:17 · 650 阅读 · 0 评论 -
java要防止重复序列化的问题JSON.toJSONString转义问题
在存储 JSON 字符串到 MySQL 的 `TEXT` 字段时,确实需要防止重复序列化的问题。如果 `entity` 本身已经是 JSON 字符串,再次使用 `JSON.toJSONString()` 会导致转义符等问题。原创 2024-12-15 18:13:37 · 1103 阅读 · 0 评论 -
想获取月份吗?用java.time试试看
根据接口入参时间格式 yyyy-MM 或者 yyyy-MM-dd获取月份 “1月”。使用java.time中的 LocalDate.parse 和YearMonth.parse进行处理。原创 2024-12-13 13:49:49 · 365 阅读 · 0 评论 -
java map中的bigdecimal类型转string报错了
在代码 `(String) map.get(key) 中,如果 `map` 的值不是直接的 `String` 类型而是例如 `BigDecimal`、`Integer` 等其他对象类型,直接强制转换会导致 `ClassCastException`,比如下面这种情况:报错:`java.math.BigDecimal cannot be cast to java.lang.String`原创 2024-12-11 18:00:55 · 834 阅读 · 0 评论 -
数仓中的JSON串困扰了我,格式化Object转为 List 到底有多坑
最近在做报表的需求,中间数仓表存储的是大量的JSON字符串,处理起来真的是太过于繁琐,在 Java 中将 `Object` 转换为 `List` 时,具体方式取决于 `Object` 的实际类型和内容。以下是几种常见的方式。原创 2024-12-10 23:16:00 · 431 阅读 · 0 评论 -
一个简单带颜色的Map
越简单 越实用。越少设计,越易懂。原创 2024-12-10 19:05:32 · 631 阅读 · 0 评论 -
Unicode和ASCII什么关系?
写在前面:事件起因是 比较BigDecimal的类型时,出现了浮点数的问题,equal 和 compareTo出现了不同的结果。在搜索了相关资料之后 发现有些介绍中 说到了 ==比较的是ASCII码,嘿,勾起了我的兴趣,我得去看看具体情况。它们之间的差异仅体现在字符的范围。编码的,即使它们包含的是 ASCII 字符。通过这种兼容性,Java 可以跨平台处理不同字符集的字符串,而不需要担心 ASCII 和其他字符集的差异。主要与 Unicode 兼容部分的字符(即范围在 0 到 127 之间的字符)相关联。原创 2024-12-09 13:48:04 · 968 阅读 · 0 评论 -
java编程语言到底是怎么执行的?我自己都没搞懂
编程语言到底是怎么执行的,它的执行过程是怎样的?原创 2024-12-06 16:42:42 · 916 阅读 · 0 评论 -
神奇的浮点数-容易产生精度的浮点数
无法用二进制精确表示的十进制小数(如 ( 0.1, 0.3 ))。小数位较多的数值(超过精度范围)。特别大的或特别小的数值(导致舍入或下溢)。涉及多步计算或累积操作的数值。原创 2024-12-06 16:07:25 · 516 阅读 · 0 评论 -
java时间类--Period时间差计算场景2-年月日时分秒
时间都去哪了?昨天法定34了。原创 2024-10-21 22:06:04 · 680 阅读 · 0 评论 -
java时间类-Period时间差计算场景
1024程序员节 | 征文#我们在平时业务中经常会遇到时间差值计算的场景,比如结束时间距离开始时间的间隔了多少月、多少天、时分秒等要求。那在实际编码的过程中如何实现呢?本文将以Java Springboot框架演示如何实现,时间差的计算及差值格式转化。首先在java8中的java.time时间类型中的类函数可以用来计算两个日期之间的时间差,获取年、月、天等信息。为了支持String类型的日期输入,我们可以将字符串解析为LocalDate,然后计算时间差。以下是封装的DateUtils。原创 2024-10-21 21:39:05 · 420 阅读 · 0 评论 -
java时间类-深入探究DateUtils的最佳实践
基于java.time封装一个完整的DateUtils工具类,支持多种常见的时间处理场景,并兼容Date类型和字符串类型的输入。原创 2024-10-14 17:59:00 · 539 阅读 · 0 评论 -
Java时间类-java.time时间类常见操作工具集
Java 8 的java.timeAPI 为日期和时间操作提供了丰富的工具,涵盖了从获取当前时间、日期计算、时间格式化到处理时区、时间戳等多种常见需求。通过使用这些类,开发者可以更简洁、安全、准确地进行时间操作。原创 2024-10-13 23:13:13 · 1050 阅读 · 0 评论 -
Java时间类- 还不会用Java8中java.time类选择使用场景吗?
世界纷纷绕绕,人终归是单一的。复杂只是迎合生存的写照,归宿终是孤独终老。技术本就无价,可惜世事弄人,潦倒众生。我辈岂能浑浑噩噩,只求思想自由矣矣。前文回顾。原创 2024-10-12 09:30:48 · 337 阅读 · 0 评论 -
为什么 Java 中的时间类如此繁多而复杂?
旧的 API 设计缺陷:早期的Date和Calendar类存在诸多问题,导致需要新的 API 来替代它们。时间处理的本质复杂性:时区、日历系统、时间精度等因素使得时间处理本身就很复杂。Java 8java.timeAPI 的细分设计:为了应对不同的需求,Java 8 将时间处理类划分得更加细致,确保在各类场景下都能有最合适的类可用。向后兼容性与现代化需求的权衡:Java 保留了旧的时间类,同时提供现代化的 API 来解决新的需求。灵活性与可扩展性。原创 2024-10-11 12:57:46 · 1131 阅读 · 0 评论 -
我是java程序员,哪些编程工具和方法让你的工作效率翻倍?
在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。我是java程序员,代码编辑器使用的是IDEA,最近熟悉新业务,苦于开发效率太低,所以梳理一些简单的增效工具和方法。让我们一起分享、探讨,找到能让效率飞升的秘密武器。CICD 、DevOps 这里就不是一个团队干的事嘞。在吐槽区交流交流,来都来了,打个招呼呗~Spring官方文档。原创 2024-09-03 12:38:42 · 706 阅读 · 0 评论