
JAVA
文章平均质量分 84
贾修行
我的程序修行之路...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Data Redis 从入门到精通:原理与实战指南
Redis是一款高性能内存数据库,支持多种数据结构和持久化机制。Spring Data Redis简化了Redis操作,提供RedisTemplate模板类和缓存注解(@Cacheable等)。使用时需注意序列化机制(推荐JSON)、事务处理、分布式锁实现和消息发布订阅等高级特性。优化建议包括配置连接池、设置合理过期时间、监控慢查询和内存使用。生产环境推荐哨兵或集群部署确保高可用,同时防范缓存穿透、雪崩等问题。合理使用Redis能显著提升系统性能,但需注意序列化一致性和并发控制。原创 2025-07-23 17:43:19 · 565 阅读 · 0 评论 -
Spring WebFlux 详解:从入门到实战
本文全面介绍了Spring WebFlux框架,一个基于响应式编程模型的高性能Web框架。文章首先分析了传统同步阻塞式框架的局限性,指出WebFlux在应对高并发场景时的优势。随后详细解析了响应式编程的核心概念、Reactive Streams规范和Project Reactor实现。通过代码示例演示了注解式和函数式两种编程模型,并介绍了与MongoDB等响应式数据库的集成方法。文章还深入探讨了WebFlux的错误处理、过滤器、WebSocket支持等高级特性,以及性能优化建议和最佳实践。最后指出WebFl原创 2025-07-23 16:17:57 · 963 阅读 · 0 评论 -
Lombok 注解详解:让 Java 代码更简洁高效
Lombok是一款简化Java开发的工具库,通过注解自动生成getter/setter、构造方法等模板代码。文章介绍了@Getter/@Setter、@ToString、@EqualsAndHashCode等常用注解,以及@Slf4j日志注解和构造器相关注解的使用方法。同时强调了@Data组合注解的便利性和@Builder构建者模式的优势。最后提醒开发者注意Lombok的版本兼容性和团队协作问题,合理使用可以显著提升开发效率。原创 2025-07-23 14:34:30 · 528 阅读 · 0 评论 -
深入理解 Java 中的 Mono:从基础到实战
Mono响应式编程指南摘要 Mono是Project Reactor中的核心类型,用于处理0-1个元素的异步序列,支持非阻塞操作、背压机制和丰富的操作符链。相比传统同步编程,Mono在高并发和I/O密集型场景下更高效。 核心用法: 创建:Mono.just()、Mono.fromSupplier()、Mono.error() 订阅:subscribe()触发执行,支持值、错误和完成信号处理 转换:map()同步转换,flatMap()异步转换 组合:zip()合并结果,concatWith()连接流 错误处原创 2025-07-21 11:56:28 · 551 阅读 · 0 评论 -
从浅入深理解Java虚拟机(JVM):原理、结构与运行机制详解
JVM是Java程序运行的核心引擎,实现"一次编写,到处运行"的跨平台特性。它主要由类加载子系统、运行时数据区和执行引擎三大组件构成。类加载采用双亲委派模型,运行时数据区包含堆(存储对象)、方法区和线程私有的栈等。JVM通过垃圾回收机制自动管理内存,采用标记清除、复制等算法,并发展出G1、ZGC等高效回收器。开发者可通过JVM参数调优和工具监控(如jstat、MAT)解决性能问题。理解JVM原理对Java开发至关重要,尤其在内存管理和性能优化方面。原创 2025-07-12 10:31:06 · 256 阅读 · 0 评论 -
JUC详细介绍
Java并发工具包(JUC)为多线程编程提供了高效解决方案,主要包括:线程池(Executor框架)管理线程生命周期;原子类(Atomic包)实现无锁并发操作;ReentrantLock等锁机制提供更灵活的同步控制;ConcurrentHashMap等并发容器实现线程安全集合;CountDownLatch等同步工具协调线程协作;以及Future和CompletableFuture处理异步任务。这些组件共同简化了并发编程,提升了性能和可靠性。原创 2025-07-12 09:47:28 · 392 阅读 · 0 评论 -
mysql安装配置指令
一、环境变量配置首先在官网下载最新的mysql8.0.11数据库,解压到你需要放置的盘符最好不要有中文,然后新建MYSQL_HOME参数为mysql解压后安装文件的bin文件路径如我的:变量名:MYSQL_HOME变量值:E:\tools\database\mysql\mysql8.0.11\mysql-8.0.11-winx64\bin然后在Path变量开头添加%MYSQL_HOME%...原创 2018-07-17 15:08:57 · 405 阅读 · 0 评论 -
Centos6.3下jdk+tomcat安装部署
最近一直在学习LINUX下的脚本语言,好久没有更新应用了,刚好群里有人问我关于tomcat的安装配置问题,这不就忙里偷闲,整理了篇tomcat的文档,供大家分享。安装部署:系统环境:centos6.3 x64JDK: jdk-6u25-linux-x64-rpm.binTOMCAT: apache-tomcat-7.0.42服务端地址:192.168.7.73配置前先关闭iptabl...转载 2018-03-22 09:26:32 · 324 阅读 · 0 评论 -
GMT、UTC和DST
转载自:http://blog.youkuaiyun.com/hudashi/article/details/7069600http://blog.youkuaiyun.com/webcainiao/article/details/4018761GMT就是格林尼治标准时间,它是Greenwich mean time的简称。UTC则是协调世界时间,它是coordinated universal转载 2017-04-11 16:46:29 · 2151 阅读 · 0 评论 -
HttpClient 4.3教程
前言 Http协议应该是互联网中最重要的协议。持续增长的web服务、可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展。虽然jdk中的java.net包中提供了一些基本的方法,通过http协议来访问网络资源,但是大多数场景下,它都不够灵活和强大。HttpClient致力于填补这个空白,它可以提供有效的、最新的、功能丰富的包来实现http客户端。为了拓展,HttpClient即转载 2017-03-20 18:11:04 · 602 阅读 · 0 评论 -
邮箱检测
/** * 判断邮箱 * * @param str * @return */ public static boolean phoneEmail(String str) { String strPattern = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; Pattern p = Pattern.compile(strP原创 2016-10-10 13:06:01 · 708 阅读 · 0 评论 -
Java输入输出流详解
通过数据流、序列化和文件系统提供系统输入和输出。Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。1.1转载 2015-12-17 16:12:36 · 337 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别??
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-12-16 18:48:04 · 327 阅读 · 0 评论 -
代码规范若干建议
都说代码是程序员的第二张脸,写得太烂的代码背后一定会遭人鄙视。请遵循一些简单的规范,写干净一致的代码!请把您的个性用在写出最简单易懂的代码上面,而不是晦涩冗余无用的代码,甚至自我签名!您的才华应该表现在设计良好的结构和模式,表现在干净易懂的代码,表现在对空间的尊重,对代码的尊重。这样您才能赢得别人的尊重!请记住代码不是一次性的,需要重复的修改和重构,为未来写点代码!以下我总结几点Java里面最基本转载 2015-08-27 18:47:16 · 599 阅读 · 0 评论