java
文章平均质量分 85
wayzinx
这个作者很懒,什么都没留下…
展开
-
Java常用函数
截取:原创 2024-03-19 09:39:43 · 653 阅读 · 0 评论 -
JVM虚拟机
内存分配有两种方式,指针碰撞,空闲列表指针碰撞:假设 Java 堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间方向挪动一段与对象大小相等的距离,这种分配方式称为“指针碰撞”。转载 2024-03-18 22:12:24 · 34 阅读 · 0 评论 -
JUC并发编程
进程:进程是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。操作系统在分配资源时是把资源分配给进程的,但是cpu资源比较特殊,它是被分配到线程的,因为真正要占用cpu运行的事线程,所以也说线程事cpu分配的基本单位。例如在java中,当我们启动main方法其实就启动了一个jvm进程,而main方法在的线程就是这个进程中的一个线程,也称主线程。转载 2024-03-18 16:41:22 · 41 阅读 · 0 评论 -
Spring框架学习
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供继承的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring的核心是IOC(控制反转)和AOP(面向切面)。Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。轻量级:对比EJB,以来资源少,销毁的资源少一站式:每一个层都提供的解决方案。原创 2024-03-02 00:12:14 · 1018 阅读 · 0 评论 -
mysql
mysql的锁分为全局锁、表锁和行锁,全局锁即锁定整个数据库,使得只可以读,不能进行写操作,一般用于数据库备份;表锁分为普通表锁、元数据锁和意向锁,普通表锁分为表共享读锁和表独占写锁,两个锁都需要自己写sql语句时进行加锁一个事务A加了表共享读锁,会阻塞事务B的写操作和表修改操作,但是不会阻塞表的读操作一个事务A加了表独占读锁,会阻塞事务B的DQL/DDL/DML元数据锁主要是为了防止表数据增删改查和表结构的改变之间的冲突,分为元数据共享锁和元数据排他锁。转载 2024-02-29 22:26:52 · 94 阅读 · 0 评论 -
RabbitMq
1、每个消费者监听自己的队列。2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息publish/subscribe与work queues有什么区别。1)work queues不用定义交换机,而publish/subscribe需要定义交换机。2)publish/subscribe的生产方是面向交换机发送消息,work queues的生产方是面向队列发送消息(底层使用默认交换机)。原创 2024-02-29 21:55:38 · 977 阅读 · 0 评论 -
java垃圾回收
一个对象如果不再使用,需要手动释放,否则就会出现。我们称这种释放对象的过程为垃圾回收,而需要程序员编写代码进行回收的方式为。指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出java中为了简化对象的释放,引入了。其他语言例如c#,python,go都拥有自己的垃圾回收器。原创 2024-02-29 21:24:38 · 987 阅读 · 0 评论 -
CAS和AQS知识理解
CAS算法的作用:解决多线程条件下使用锁造成性能损耗问题的算法,保证了原子性,这个原子操作是由CPU来完成的CAS的原理:CAS算法有三个操作数,通过内存中的值(V)、预期原始值(A)、修改后的新值。(1)如果内存中的值和预期原始值相等, 就将修改后的新值保存到内存中。(2)如果内存中的值和预期原始值不相等,说明共享数据已经被修改,放弃已经所做的操作,然后重新执行刚才的操作,直到重试成功。原创 2024-02-29 20:08:14 · 985 阅读 · 0 评论 -
如何理解线程池中的参数设计
线程池原创 2024-02-26 20:07:11 · 431 阅读 · 1 评论 -
Synchronized锁升级
无锁-->偏向锁-->轻量级锁-->重量级锁什么是偏向锁,轻量级锁,重量级锁为什么要设计锁升级Synchronized是提供了锁的公平性吗?Synchronized锁标记怎么存储的?重量级锁为什么称为重量级锁?原创 2024-02-26 20:56:58 · 304 阅读 · 1 评论