java底层
文章平均质量分 68
lingling-fa
这个作者很懒,什么都没留下…
展开
-
jdk动态代理的底层实现
动态代理 生成动态对象的实现,需要传三个参数 真实对象的类加载器 真实对象的实现的所有接口 你想要实现的代理策略(代理方法) public Object getProxyInstance() { return Proxy.newProxyInstance(target.getClass().getClassLoader(),//类加载器,用来生成类 target.getClass().getInterfaces(), //接口类型,实现所有的接口原创 2021-04-17 20:29:16 · 107 阅读 · 0 评论 -
java多线程学习
本文主要学习自b站黑马视频,还有摘抄自网上各个博客(一般有备注),如有侵权,请联系我,谢谢。 基础知识 程序和线程 进程是资源分配的最小单位,线程是CPU调度的最小单位 进程就是打开任务管理器后显示的那一堆应用进程,占有CPU,内存,硬盘,网络这些资源,一个进程在其执行的过程中可以产生多个线程。 形象的讲,进程就是一个项目组,每个程序员就是里面的线程呀!当然一个程序员也可以叫做一个项目组,对应的就是一个进程只有一个线程。公司里面的任务是分配给项目组级别的,干活的就是其中的程序员。 协程是.原创 2021-03-27 21:33:46 · 264 阅读 · 0 评论 -
volatile和reentrantLock原理
学习自https://www.bilibili.com/video/BV16J411h7Rd?p=247&spm_id_from=pageDriver 主要截取里边的文字和图片,略加个人描述 volatile原理 volatile的底层实现原理是内存屏障,Memory Barrier (Memory Fence) 对volatile变量的写指令后会加入写屏障 在该屏障之前,共享变量的任何改动都会更新到主存中 对volatile变量的读指令前会加入读屏障 在该屏障之后,共享变量的读取,.原创 2021-02-21 21:45:55 · 199 阅读 · 0 评论 -
Java集合的 contains( ) 执行流程
Java集合的 contains( ) 执行原理 1 问题描述 想让classID一样的class对象的classTime叠加起来,目前是分开存放在list中 方案: 手动遍历 利用List或者Set的contains( )去重 改成用HashMap存放,key为ID,轻松解决问题 (不过这方法后来才想到) 2 ArrayList的contains 基于ArrayList测试 需要重写equals方法 基于 java 11 ArrayList在contains方法中会调用Arra原创 2020-11-15 20:40:34 · 716 阅读 · 0 评论