![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
路上^_^
这是动图,自己脑补
展开
-
对 ArrayList 进行封装-使用链表进行封装
文章目录前言目标实现使用DEBUG 代码前言ArrayList 底层是数组.所以遍历比较快.但是有个缺点是扩容的时候,需要将 已有的 copy 到 新的 数组中.这会造成 内存和时间上面的浪费.目标我们封装一个链表类. 内部包含一个ArrayList的类. 如果ArrayList 需要扩容的时候,直接在创建一个 ArrayList 既可以了. 这么一来,就省下了 扩容的时间和内存实现 private int cap; private ArrayList<T> lis原创 2021-07-28 10:47:38 · 272 阅读 · 0 评论 -
线程相关知识点
文章目录run startrunstartsleep waitsleepsleep(0)waitwait(1000)notify notifyallnotifynotifyallrun startrun直接调用 run 方法. 是在 main 主线程中执行.start开辟线程,进入 CPU 等待队列sleep waitsleep 是线程控制自身流程的 方法. 不会释放锁sleepThread 类 静态 方法. 不释放锁sleep(0)使 线程进行重分配. 所有线程重新竞争 CPUwa原创 2021-07-28 09:46:16 · 71 阅读 · 0 评论 -
对ArrayList 使用 HashSet 进行封装
文章目录前言目标实现使用DEBUG 代码遍历前言ArrayList 底层是数组.所以遍历比较快.但是有个缺点是扩容的时候,需要将 已有的 copy 到 新的 数组中.这会造成 内存和时间上面的浪费.目标我们封装一个链表类. 内部包含一个ArrayList的类. 如果ArrayList 需要扩容的时候,直接在创建一个 ArrayList 既可以了. 这么一来,就剩下了 扩容的时间和内存实现public class ArrayLists<T> implements Lists&l原创 2021-07-27 12:02:21 · 122 阅读 · 0 评论 -
SpringCloud-Zuul
文章目录使用zuul 整合 eureka简化配置其他配置鉴权zuulFilter使用zuul 整合 eureka修改配置.添加注释.将具体的服务端的地址,改为 eureka 中的服务端 服务名称简化配置zuul的配置可以全部都不用写.其他配置前缀鉴权zuulFilter实现 IZuulFilter 接口. 实现其中的方法接口....原创 2021-07-11 20:28:50 · 71 阅读 · 0 评论 -
SpringCloud-openFegin
文章目录使用编写接口负载均衡和熔断局部和全局配置熔断使用编写接口负载均衡和熔断fegin 集成了 ribbon.可以自动负载均衡.也可以直接在 yml对 服务进行配置局部和全局配置熔断fegin 自带熔断配置 feginConfig. 在 feginConfig 中重写异常返回的处理然后fegin抛出异常的时候,就调用该方法.然后,在cleint 重写方法实现 fegin 接口...原创 2021-07-11 19:20:57 · 88 阅读 · 0 评论 -
SpringCloud-Eureka
文章目录Eureka在服务端添加依赖配置文件服务端配置注解在client添加依赖添加注解配置文件调用总结Eureka在服务端添加依赖在服务端添加的是client依赖spring-cloud-starter-netflix-eureka-server配置文件在这个eureka 服务端配置配置文件当然,这里还有一些其他的配置主要分为 instanse,client,server,dashboard 的配置服务端配置注解@EnableEurekaServer在client添加依赖在原创 2021-07-11 13:51:23 · 72 阅读 · 0 评论 -
JVM初见
文章目录JVM参数分类例子设置系统参数Server & Client划分使用-X 参数运行模式-XX参数使用-Xms & -XmxJVM运行参数修改jinfo内存模型1.71.8JVM参数分类标准参数-help-version非标准参数-Xint-Xcomp使用频率较高的非标准参数-XX:newSize-XX:+UseSerialGC例子java -versionjava -showversion设置系统参数-Dname=valuejava -Dstr原创 2021-01-05 17:58:14 · 292 阅读 · 0 评论 -
11-JVM整体结构
11-JVM整体结构原创 2020-12-31 15:54:28 · 125 阅读 · 0 评论 -
设计模式之代理模式
简介为一个对象提供一个替身. 为代理对象提供额外的功能,增强该对象模式静态,JDK动态,Cglib 代理区别JDK 又称为 接口代理. 而 Cglib 可以在内存中动态的创建对象,而不需要实现接口静态代理...原创 2020-08-05 18:22:48 · 112 阅读 · 0 评论 -
高并发学习3
monitor上一篇文章叙述了monitor 是syncxxx的底层原理实现. 而且叙述了对象头对monitor 的影响.可以说,对象头是 ????的核心.多方法对于一个A类的实例,有俩个方法:方法A和方法B.方法A加了????方法B没有加????@Test public void B(){ // 这里的????锁的是自身 count--; S...原创 2019-12-26 21:58:55 · 785 阅读 · 0 评论 -
高并发2Monitor
锁????是非常重要的一个概念.在Java中有大量的锁的应用.来保证多线程环境下程序运行的结果的好坏.实例1 private int count = 0; // o ,存在堆内存中 private Object o = new Object(); @Test public void m(){ // 在执行sync内的代码块的时候,需要获取o对象的...原创 2019-12-25 22:59:02 · 1383 阅读 · 3 评论 -
JVMLink过程
内存分布原创 2020-08-13 20:05:45 · 209 阅读 · 0 评论 -
JVM大概的加载过程
类加载子系统1 加载 类加载器: bootStrap,exta,Application,2 链接 验证 准备 解析3 初始化 静态变量初始化运行时PC寄存器: 程序计数器,每个线程一份栈: 虚拟机栈,每个线程一份. 栈帧: LOCAL VARIABLES DYNAMIC LINK,RETURN ADDRESS 本地变量表 动态链接, 返回地址NATIVE Method STACK堆: Java对象存放.多个线程共享Method ARE原创 2020-08-12 23:09:32 · 105 阅读 · 0 评论 -
统一日志处理
嘻嘻嘻原创 2020-05-25 15:51:23 · 180 阅读 · 0 评论 -
xxx牌JUC学习加油奥利给001初始篇章
尚硅谷IUC原创 2020-11-22 20:41:26 · 211 阅读 · 1 评论 -
synchronized & volatile
文章目录Threadsynchronized & reentrantlock重量级锁轻量级锁实现问题自旋 & 阻塞升级过程偏向锁轻量级锁AQSvoatile & CASvolatile可见性 指令重拍CAS对象创建过程对象内存布局as -if -serialhappens-beforeThreadLocalThreadLocal内存泄漏ThreadJava中没有 线程.对应的是 OS 中的线程.synchronized & reentrantlocksync 对 方原创 2020-08-05 18:17:11 · 112 阅读 · 0 评论