logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java反射入门:用简单案例理清核心用法

/ 私有字段private String sex = "男";// 私有字段// 公共字段// 默认访问权限字段// 受保护字段// 重载方法:方法名相同,参数列表不同System.out.println("公共带参run方法:" + name);System.out.println("私有无参run方法");void flay(Integer age, String phone) { // 默认

#java#开发语言
探秘 Java 字符串常量池:从底层逻辑到实际应用

摘要:本文深入解析Java字符串常量池的核心机制。字符串的不可变性是常量池设计的基础,双引号赋值会复用常量池对象,而new创建则在堆内存生成新对象。JDK7后常量池从方法区移至堆内存,采用特殊回收策略。文章还揭示了String重写hashCode()和equals()对HashMap的重要影响,指出正确实现能确保键值唯一性。最后建议优先使用双引号创建字符串以优化内存使用。全文从内存模型、版本演进到

#java#开发语言#计算机网络
吃透Java泛型:从类/方法到通配符,干货无冗余

摘要:本文系统讲解了Java泛型的核心概念与应用。泛型的本质是类型参数化,通过编译期类型检查确保安全,运行时进行类型擦除。主要内容包括:1)泛型类的基本使用,通过类型参数实现代码复用;2)泛型方法的定义与自动类型推断;3)泛型约束(extends限定上界);4)通配符的三种形式(?、? extends T、? super T)及其读写规则;5)类型擦除原理及其对泛型的限制影响。掌握这些知识点可有效

#java#开发语言
纯干货:Java 核心知识点总结(一)(内含Object 方法 / 深浅拷贝 / 关键字 / 初始化等)

作用:返回对象的字符串描述,默认输出(对象类型 + 内存地址标识),自定义类可重写以打印属性;

#java#jvm#开发语言
Java 静态代理 + 动态代理通俗解析,新手也能秒懂

代理模式是一种在不修改目标对象源码的情况下,通过"中间人"为对象添加额外功能的设计模式。文章重点介绍了静态代理和动态代理两种实现方式:静态代理需要手动编写代理类,适用于简单固定业务;动态代理通过JDK反射机制在运行时生成代理对象,可灵活代理任意接口,维护成本低。两者核心区别在于代理类的创建时机和灵活性,静态代理编译期确定,动态代理运行时生成。代理模式特别适用于需要添加日志、校验

#java#开发语言
并发编程(六):synchronized :从使用误区到锁升级

的核心是保证原子性,使用时必须把完整操作包裹在同一把锁内,分开加锁等于没加锁非静态同步方法锁的是实例对象,静态同步方法锁的是 Class 对象,两类锁相互独立实际需精准控制锁粒度和锁对象,根据竞争程度选择合适的同步方案。

#java#开发语言
并发编程(九):synchronized 锁的底层边界与对象锁本质

在并发编程(六)中,我们纠正了的使用误区,了解了它从偏向锁到重量级锁的升级过程。是锁了代码,还是锁了对象?线程递归调用、方法嵌套时,JVM 又是如何精准识别临界区的?

#java#开发语言
并发编程(十):对象头 Mark Word 与 synchronized 锁升级机制

无锁:没人用偏向锁:一个线程反复用轻量级锁:线程交替用,轻度竞争重量级锁:激烈竞争,大量线程阻塞JVM 根据竞争激烈程度在安全前提下,尽可能减少性能开销。

#开发语言#java
并发编程(十二):偏向锁→轻量级锁→重量级锁底层实现、触发条件、不可逆原因

偏向锁,是「偏向于第一个获取它的线程」,在无其他线程竞争的情况下,持有偏向锁的线程再次进入同步代码块时,无需做任何 CAS 操作或加锁解锁操作,直接就能进入,彻底消除无竞争场景下的锁开销。大多数场景下,同步代码块的执行都是「单线程」的,即使有多个线程,也很少出现竞争,偏向锁就是利用这一特性,减少无竞争时的性能损耗。轻量级锁,适用于「低竞争」场景(多个线程交替进入同步代码块,不频繁同时竞争)。

#开发语言#java
并发编程(十三):AQS 与 ReentrantLock 从原理到源码

今天,我们揭开了 AQS 的神秘面纱,理解了它作为 “锁的底层” 的核心地位,并通过的源码,看到了volatile和 CAS 是如何协同工作,构建出高效的同步组件的。

#java#开发语言
    共 45 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择