Java基础知识点
文章平均质量分 60
Java基础
He Ain't Hero
仰望星空,脚踏实地
展开
-
多线程中的8锁现象
题目:多线程8锁 1 标准访问,请问先打印邮件还是短信? 2 邮件新增暂停4秒钟的方法,请问先打印邮件还是短信? 3 新增普通的hello方法,请问先打印邮件还是hello 4 有两部手机,请问先打印邮件还是短信? 5 两个静态同步方法,同一部手机,请问先打印邮件还是短信? 6 两个静态同步方法,2部手机,请问先打印邮件还是短信? 7 1个静态同步方法,1个普通同步方法,1部手机,请问先打印邮件还是短信? 8 1个静态同步方法,1个普通同步方法,2部手机,请问先打印邮件还是短信? 1、标原创 2021-01-14 16:22:21 · 7355 阅读 · 5 评论 -
JDK动态代理--反射
JDK动态代理--反射代理设计模式的原理:Java动态代理相关API动态代理步骤 代理设计模式的原理: 代理设计模式的原理: 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原 始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原 始对象上。 静态代理: 特征是代理类和目标对象的类都是在编译期间确定下来,不利于程序的扩展。同时,每一个代理类只能为一个接口服务,这样一...原创 2019-12-11 09:15:25 · 655 阅读 · 0 评论 -
多线程中synchronized处理线程安全问题
synchronized处理线程安全问题关键词: 关键词: 共享数据 同步监视器 synchronized static 反射 list.remove modCount expectedModCount 快速失败机制(fail-fast) 一、实现多线程的方法: ①继承Thread类 ②实现Runnable接口 ③实现Callable接口 ④使用线程池 经典问题:卖票问题,火车站三个窗口卖100张票? 在Java中,我们通过同步机制,来解决线程的安全问题。 方式一:同步代码块 * synchroni原创 2020-09-29 10:51:55 · 7618 阅读 · 0 评论 -
探究List中foreach循环里进行元素的remove操作引起的异常
探究List中foreach循环里进行元素的remove操作引起的异常一、问题引入二、问题分析①ArrayList中的remove方法(如下图所示):②Iterator中的remove方法(如下图所示):③modCount和expectedModCount三、迭代器Iterator的执行原理①foreach和Iterator②Iterator中的方法,hasNext()、next()、remove()③迭代器Iterator中的执行原理 一、问题引入 上图为阿里巴巴java开发手册的开发规范,forea原创 2020-09-24 13:33:07 · 9277 阅读 · 0 评论