
JAVA 基础总结复习
文章平均质量分 82
很久没与撸过基础了,很多零碎的知识点都记不牢,今天决定做一个总结,复习巩固一下,也方便以后复习。
Hi Bug
Hello World
展开
-
JVM系列——垃圾回收器
cms全称 Concurrent Mark Sweep,是一款并发的、使用标记-清除算法的垃圾回收器,再jdk1.5中开始使用。是为了达到 最低停顿时间(stop the world停顿时间)GC过程短暂,适合对时延要求较高的服务,对服务器响应要求较高的服务。原创 2023-06-08 16:29:55 · 616 阅读 · 0 评论 -
JAVA——锁系列
synchronized是jvm层面的一把互斥锁,它的底层是给对象加锁,根据对象头的锁标志位进行加锁。lock是java juc包下的API,其底层是基于AQS和CAS实现的。AQS是一个抽象队列同步器。它的底层设计是维护了一个共享资源字段state,...原创 2022-08-26 09:11:47 · 288 阅读 · 0 评论 -
RabbitMQ 消息丢失 重复消费 集群部署
rabbitmq是一个消息队列,可以用作进程之间的消息传递,有助于系统之间的解耦,流量削峰,还可以用作实现死信队列,延迟队列等,通过集群模式保证高可靠和高并发原创 2022-07-30 17:17:52 · 1617 阅读 · 0 评论 -
JVM系列——jvm常用指令,问题排查
jps -l:输出进程的全类名,如果是jar包,则输出jar完整路径 -m:输出虚拟机进程启动时传递给主类main()的参数 -v:列出虚拟机进程启动时的jvm参数jstat是用于监视虚拟机各种运行状态信息的命令行工具jinfo是jdk提供的一个可以实时查看java虚拟机各种配置参数和系统属性的命令工具jmap...............原创 2022-06-22 20:11:42 · 2401 阅读 · 0 评论 -
JAVA基础复习
第一题 ArrayList和LinkedList的区别1.实现原理不同:ArrayList是基于数组实现的一个动态数组,LinkedList是基于链表实现的双向循环链表。2.各自特性: (1)由于ArrayList是基于数组实现,而数组是申请的一块连续的内存,所以ArrayList在随机访问方面表现的比较出色。 (2)LinkedList是基于链表实现,所以在删除,插入操作表现比ArrayList好。 (3)ArrayList在不指定容量初始化时,是默认初始化一个空数组,在执行add()方法时会初原创 2021-07-18 13:05:22 · 132 阅读 · 0 评论 -
Spring系列
一、什么是控制反转IOC?控制反转(IOC)是指spring框架可以帮我们创建管理对象,同时也可以帮我管理对象之间的依赖关系。IOC还指spring框架中的一系列IOC容器,比如BeanFactory、ApplicationContext容器等。二、Spring对象的创建过程三、Spring 对象的生命周期.....................原创 2021-11-14 11:16:07 · 889 阅读 · 0 评论 -
JVM系列——JVM内存结构&垃圾回收
1、程序计数器(寄存器)作用:存储下一条JVM指令的执行地址特点:(1)线程私有的 (2)jvm内存中唯一不会存在内存溢出的结构场景举例:比如在java多线程运行情况下,线程的执行过程中是受CPU时间片调度的,当线程1的时间片用完就会切到线程2执行,那么这时线程1需要记住下一条指令执行到哪里了,在切换时线程1就会将下一条指令的地址存储在程序计数器中。这也能解释为什么程序计数器是线程私有的了。2、虚拟机栈每个线程运行时所需要的内存称为虚拟机栈虚拟机栈由多个栈帧组成,对应着每次方法.原创 2021-12-11 18:15:48 · 995 阅读 · 0 评论 -
JVM系列——类加载机制
一、类加载的顺序1、加载:将字节码加载到方法区,先加载父类再加载子类。2、连接(1)验证:保证字节码文件的正确性(2)准备:为静态属性(非引用类型)分配空间,为finall修饰的的static属性(非引用类型)分配空间和设置默认值。注意:第(2)则可以说明finall修饰的属性是在编译期就赋值了。第(2)中都是“非引用类型”,是因为引用类型属性的分配空间和赋值都是在初始化中完成的。(3)解析:将常量池中的符号引用解析为直接引用。 比如:类C定义了一个属性:Object o = new Obj原创 2021-10-31 17:41:09 · 168 阅读 · 0 评论 -
第一章 java关键词 this、extents、implements、static、final
一、this关键词1.this关键字代表对当前对象的引用(地址值),可以出现在构造器和方法中;2.this出现在构造器中:this正在初始化的对象;3.this出现在非静态方法中:this代表调用该方法的对象;4.this在方法中可以区分局部变量和成员变量;二、static关键词1.static关键词修饰的方法和变量是属于类的(放在静态区),是随着类加载而加载的,且只加载一次,所以只有一份; 没有被static修饰的方法和变量是属于对象的,对象有多个,它们就有多份。三、final1.f原创 2021-06-27 11:55:27 · 221 阅读 · 0 评论