Java基础
文章平均质量分 78
基础Java知识
Liwy7z
这个作者很懒,什么都没留下…
展开
-
Java设计模式
Java设计模式概念介绍转载 2022-08-23 15:44:49 · 4733 阅读 · 0 评论 -
消息队列比较
常见的消息队列对比 指标对比 概述 吞吐量 万级的 ActiveMQ 和 RabbitMQ 的吞吐量(ActiveMQ 的性能最差)要比十万级甚至是百万级的 RocketMQ 和 Kafka 低一个数量级 可用性 都可以实现高可用。ActiveMQ 和 RabbitMQ 都是基于主从架构实现高可用性。RocketMQ 基于分布式架构。 kafka 也是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用 时效性 RabbitMQ 基于 erlang 开发,所以并发能转载 2022-04-28 17:00:10 · 1284 阅读 · 0 评论 -
CountDownLatch与CyclicBarrier
CountDownLatch与CyclicBarrier区别 CountDownLatch JUC包下的并发工具类CountDownLatch,CountDownLatch为递减计数器,用于控制一个线 程等待多个线程。维护一个计数器count,表示需要等待的事件数量,countdown方法递减计数 器,表示事件发生,调用await()方法的线程会一直阻塞直到计数器为零,或者等待中的线程中断, 或者等待超时 CyclicBarrier CyclicBarrier,循环栅栏可以让一组线程等待至某个状态之后再全部转载 2022-04-06 11:17:53 · 1160 阅读 · 0 评论 -
Java对象的创建
对象的创建 Step1:类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 Step2:分配内存 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从 Java 堆中划分出来。分配方式有 “指针碰撞” 和 “空闲列表” 两种,选择哪种分配方式由 Java 堆是转载 2022-04-01 22:02:29 · 85 阅读 · 0 评论