摘要: 总结一句话就是:**在程序运行中根据业务需要由 jvm 动态获取 Class 对象来创建对象、执行方法等操作** 。是动态和灵活的而不是事先代码写死 ### Class 常用方法 | 方法 | 作用 | 说明 | | | | | | `类.class`、`clazz.getClass()`、`Cla 阅读全文
posted @ 2023-05-24 17:06 CyrusHuang 阅读(12) 评论(0) 推荐(0) 编辑
摘要: ### java 内置注解 | 注解 | 作用 | 描述 | | | | | | @Override | 将覆盖父类中的方法 | 作用在子类的方法上 | | @Deprecated | 代码被弃用 | 使用了被@Deprecated注解的代码则编译器将发出警告 | | @SuppressWarnin 阅读全文
posted @ 2023-05-24 17:05 CyrusHuang 阅读(23) 评论(0) 推荐(0) 编辑
摘要: ### 泛型类 ```java // 简单泛型 class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; public T getVar(){ return var ; } public void setVar(T var){ this.var = 阅读全文
posted @ 2023-05-24 17:04 CyrusHuang 阅读(9) 评论(0) 推荐(0) 编辑
摘要: ```java /** * 埋点模块枚举 * * @author hangy */ public enum ModelEnum { PROCESS_CONTROL("流程管控", 10), TASK_CENTER("任务中心", 20), QHSE("QHSE管理", 30), DATA_TRANS 阅读全文
posted @ 2023-05-24 17:03 CyrusHuang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 是 JUC 的核心之一,AQS 的 await()、signal() 等方法底层就是 LockSuport 实现的 实现线程挂起和唤醒的操作,和a56爆大奖在线娱乐线程关联一个许可(permit),核心方式就是 park 和 unpark,底层是 Unsafe 类的 native 方法实现 功能类似 object 阅读全文
posted @ 2023-05-24 16:57 CyrusHuang 阅读(12) 评论(0) 推荐(0) 编辑
摘要: ### 什么是 CAS + 全称是 Compare-And-Swap,对数据进行 **原子性** 操作,sun.misc.Unsafe 类的各个 native 方法实现的 + 比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则什么都不做或者重来一次,重来就是自旋锁了 [java各种锁 阅读全文
posted @ 2023-05-24 16:56 CyrusHuang 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ### 乐观锁 悲观锁 这不是a56爆大奖在线娱乐具体的锁,是一个广义的概念,可以认为所有的锁都是悲观或乐观的,java 中绝大部分锁都是悲观锁(synchronized、ReentrantLock等);也有乐观锁(原子类的递增、读写锁的读锁),java 的乐观锁都是 cas 实现的 **乐观锁** 顾名思义,老是 阅读全文
posted @ 2023-05-24 16:53 CyrusHuang 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 可以保证多线程的 **可见性、有序性**,不能保证原子性 ### 为什么不能保证原子性 a56爆大奖在线娱乐单独的读写操作都会及时刷新到主存中,后续操作如果失败,没有什么回滚机制(感觉理所当然,但是现在行业卷,面试时就要问你zzz) ### 怎么保证可见性的 内存屏障保证的。什么是内存屏障?就是一条特殊的 cpu 阅读全文
posted @ 2023-05-24 16:45 CyrusHuang 阅读(23) 评论(0) 推荐(0) 编辑
摘要: ### 总结 + 一个锁对象只能同时被一个线程持有,分为对象锁和类锁 - **对象锁**:a56爆大奖在线娱乐对象都可以作为锁(几个不同的对象就是几个锁) - **类锁**:字节码对象也能作为锁(全局唯一) + 同步方法不能自定义锁,只能是默认的锁(非静态:this,静态:class);同步代码块默认的锁和方法一样 阅读全文
posted @ 2023-05-24 16:11 CyrusHuang 阅读(34) 评论(0) 推荐(0) 编辑
摘要: > 多种方式可以完成线程同步,传统方法是关键字 synchronized 完成的,可以是同步方法也可以是同步代码块 > 还可以用juc下线程安全的阻塞队列,也可以使用 volatile+cas ### 同步方法 ```java @Data @AllArgsConstructor @NoArgsCon 阅读全文
posted @ 2023-05-24 16:05 CyrusHuang 阅读(18) 评论(0) 推荐(0) 编辑