
Java
文章平均质量分 89
千层冷面
进化!进化!进化!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java 1.8 在编程中语法上的一些小技巧
Java 8 的 Lambda 表达式可以替代需要接口实现的代码,尤其适用于函数式接口(只有一个抽象方法的接口)。用 Stream 处理集合数据,支持链式调用,简化过滤、映射、排序等操作。掌握这些技巧后,你的 Java 代码会变得更加简洁、易读且高效!简化 Lambda 表达式的写法,直接引用已有方法。自定义函数式接口,结合 Lambda 使用。允许接口中包含具体实现,增强接口的扩展性。简化异步任务编排,支持链式调用和组合操作。简化 Map 的合并、计算和遍历操作。,提供线程安全且易用的日期时间操作。原创 2025-04-27 18:07:16 · 818 阅读 · 0 评论 -
Java中的注解是什么?
Java 注解通过简洁的语法为代码添加元数据,广泛应用于框架配置、数据校验和代码生成。定义注解:使用@interface和元注解。使用注解:标注在目标代码元素上。处理注解:通过 APT 或反射实现逻辑。掌握注解机制,能够更好地理解现代 Java 框架(如 Spring)的设计思想,并编写更简洁、可维护的代码。原创 2025-03-26 17:27:02 · 800 阅读 · 0 评论 -
Java 线程与线程池类/接口继承谱系图+核心方法详解
线程类与接口RunnableCallableThreadExecutor框架构成 Java 并发基础。核心方法join():用于线程间同步。shutdown():优雅关闭线程池。submit():提交有返回值的任务。方法选择直接操作线程用start()和join()。线程池任务管理用execute()和submit()。原创 2025-03-11 20:43:42 · 1059 阅读 · 0 评论 -
Java I/O 流完整指南
Java I/O 流体系是处理数据输入输出的核心工具,涵盖从基础字节流到高性能NIO的全场景解决方案。理解流的设计模式:装饰器模式实现功能扩展。正确选择流类型:字节流处理二进制,字符流处理文本。掌握NIO非阻塞模型:适用于高并发网络服务。严格资源管理:使用避免泄漏。性能优化:缓冲、分块处理、零拷贝技术。通过合理应用这些知识,可以构建高效、健壮的I/O密集型应用。原创 2025-03-10 17:13:40 · 842 阅读 · 0 评论 -
Java 类、匿名内部类、静态(static)、抽象(abstract)详解
1. Java 类(Class)定义Java 类是面向对象的基础单元,用于封装数据(属性)和行为(方法),通过class关键字定义。特点可以实例化为对象(通过new关键字)。支持继承(单继承)、实现接口(多实现)。包含成员变量、方法、构造方法等。示例// 定义一个普通类// 成员变量(实例变量)// 构造方法// 实例方法System.out.println("我是 " + name + ",年龄 " + age);// 使用。原创 2025-03-07 10:54:26 · 534 阅读 · 0 评论 -
Java 动态代理详解:利用动态代理手写一个简单的OpenFeign
动态代理通过运行时生成代理类,实现代码增强和解耦,是 Java 高级编程和框架设计的核心技术。它在 AOP、RPC、ORM 等场景中广泛应用,如 Spring、MyBatis、Feign 等框架均依赖动态代理实现核心功能。使用时需注意接口限制、性能影响及代理对象的特殊性,合理选择代理方式(JDK Proxy 或 CGLIB)以适配业务需求。原创 2025-03-06 20:17:55 · 1008 阅读 · 0 评论 -
Java Lambda 表达式详解:是什么?为什么要用?底层原理?工作流程?什么地方用?
Lambda 表达式通过简化代码、支持函数式编程,并借助提升性能,成为现代 Java 开发的核心工具。其典型应用包括集合处理、事件回调和替代冗余的匿名类,是编写高效、简洁代码的关键手段。原创 2025-03-05 11:23:10 · 1257 阅读 · 0 评论 -
HashMap 的底层结构详解:原理、put和get示例
通过哈希函数快速定位键值对,使用链地址法解决冲突,并通过动态扩容和红黑树优化性能。理解其内部机制,有助于在实际开发中合理使用并规避潜在问题(如内存泄漏、线程安全问题)。是基于哈希表实现的键值对存储结构,其核心设计目标是高效的数据存取(理想情况下时间复杂度为 O(1))。的哈希值均映射到索引 1,且链表已转换为红黑树(当链表长度 ≥8 且数组长度 ≥64 时)。(8 * 0.75 = 6),当元素数量超过 6 时触发扩容。,但尚未触发扩容(Java 中实际在插入第 7 个元素时扩容)。原创 2025-03-04 21:05:31 · 1660 阅读 · 0 评论 -
ThreadLocal 与 Thread.currentThread() 的区别
省流:ThreadLocal:用于线程隔离的变量存储,解决多线程数据共享问题。Thread.currentThread():用于获取当前线程对象,操作线程状态或获取线程信息。原创 2025-03-03 16:33:38 · 643 阅读 · 0 评论 -
Java中接口(Interface)与类(Class)的区别
接口和类是 Java 面向对象编程中的核心概念,它们在设计目的、功能和使用场景上有显著差异。通过合理使用接口和类,可以构建高内聚、低耦合的面向对象系统。原创 2025-03-03 14:12:54 · 1811 阅读 · 0 评论 -
说说JVM的底层原理(JAVA是如何运行的)?
Java 虚拟机(JVM)是 Java 程序运行的核心环境,其设计融合了内存管理、类加载、垃圾回收和高效执行等复杂机制。以下从底层视角详细解析其核心模块,并结合实际场景说明其工作原理。,不仅能优化应用性能(如减少 Full GC 停顿),还能有效排查内存泄漏、锁竞争等问题,是高级 Java 开发的必备技能。类加载是 JVM 动态性的基石,其触发条件包括首次使用类(如。、反射调用等)或继承父类时。:静态集合持有对象导致无法回收。原创 2025-02-28 19:00:13 · 1557 阅读 · 0 评论 -
Java线程池详解(创建、使用场景、参数详解)
Java中的线程池(ThreadPoolExecutor)是并发编程中非常重要的工具,用于管理和复用线程,避免频繁创建和销毁线程带来的性能开销。Java通过java.util.concurrent包提供了丰富的线程池实现。原创 2025-02-26 10:13:38 · 1445 阅读 · 0 评论 -
代码CR(Code Review)一般做什么?(Java版)
是保障代码质量、统一团队规范、发现潜在问题的重要环节。Java 代码 CR 是持续改进代码质量的核心实践,需结合人工经验与自动化工具,重点关注。通过 CR 不仅能提升代码质量,还能促进团队技术成长,形成高效协作的文化。在 Java 开发中,原创 2025-02-25 11:06:29 · 1117 阅读 · 0 评论 -
Java 反射的全面详解
通过合理使用反射,可以极大增强程序的灵活性和扩展性,但需在性能和代码可维护性之间做好权衡。原创 2025-02-24 20:31:52 · 855 阅读 · 0 评论 -
Java 多线程
Java多线程详解原创 2025-02-24 16:31:41 · 1122 阅读 · 0 评论 -
收到线上服务器出现cpu告警一般怎么排查?
调整JVM堆大小/选择低延迟GC算法(如G1/CMS)。:优化数据库查询、增加缓存、降级非核心功能。:CPU高伴随大量I/O等待或网络超时。显示GC时间占比高,应用卡顿。:线程堆栈中同一方法反复出现。:分析代码逻辑,修复并发问题。原创 2025-02-21 16:30:48 · 1183 阅读 · 0 评论 -
Java中的锁
在 Java 中,锁是多线程编程中用于控制对共享资源访问的重要机制。Java 提供了多种锁的实现,主要分为。以下是 Java 中常见的锁及其分类、特点和使用场景。条件变量用于实现线程间的等待/通知机制,通常与显式锁(如。通过合理选择锁,可以有效提升多线程程序的性能和可靠性。原创 2025-02-20 21:04:21 · 1149 阅读 · 0 评论 -
Spring Cloud 项目集成企业微信应用推送消息
通过以上步骤,可完整实现 Spring Cloud 项目与企业微信应用的消息推送集成。原创 2025-02-18 19:48:42 · 1010 阅读 · 0 评论 -
Java的集合全面详解:底层原理、使用场景、复杂度等
集合类型适用场景时间复杂度线程安全ArrayList频繁查询、遍历,少量插入/删除查询O(1),插入/删除O(n)否LinkedList频繁插入/删除,较少随机访问插入/删除O(1),查询O(n)否HashSet快速判断元素是否存在插入/查询O(1)否TreeSet需要有序的唯一元素集合插入/查询O(log n)否HashMap键值对存储,快速查找插入/查询O(1)否高并发键值存储插入/查询O(1)是(分段锁/CAS)ArrayDeque高效队列/栈实现插入/删除O(1)否。原创 2025-02-13 11:37:51 · 1052 阅读 · 0 评论 -
Java Stream 全面解析
Java Stream 提供了丰富的操作,包括创建操作中间操作和终端操作。通过熟练掌握这些操作,你可以编写出简洁、高效且易于维护的代码。创建操作:如stream()Stream.of等。中间操作:如filtermapflatMapsorteddistinctlimitskip等。终端操作:如forEachcollectreducecountanyMatchallMatchnoneMatchfindFirstfindAnyminmaxtoArray等。原创 2025-02-11 15:20:28 · 691 阅读 · 0 评论 -
Java 泛型全面解析
泛型的核心思想是参数化类型,即在定义类、接口或方法时,使用一个或多个类型参数来代替具体的类型。这些类型参数在使用时可以被替换为具体的类型。泛型可以用于定义通用的数据结构,如栈、队列、链表等。示例:定义一个泛型栈使用// 2Java 泛型是提高代码复用性和类型安全性的重要工具。通过泛型类、泛型接口和泛型方法,可以编写通用的代码,减少类型转换错误。类型参数<T><K, V>等。类型擦除:泛型在编译时擦除类型信息。通配符extends T>super T>。原创 2025-02-11 14:59:46 · 839 阅读 · 0 评论