![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
辉~情
笔记内容来源于网络,仅供学习,如有侵权请联系本人删除
展开
-
Stack、Queue
2021年10月26日import java.util.LinkedList;import java.util.Queue;import java.util.Stack;// 堆 先进后出 桶结构// 1 boolean empty() 测试堆栈是否为空。// 2 Object peek( ) 查看堆栈顶部的对象。 synchronized// 3 Object pop( ) 弹出堆栈顶部的对象(堆栈消失)原创 2021-10-26 14:10:17 · 123 阅读 · 0 评论 -
list map笔记
HashMap是 数组+链表+红黑树(JDK1.8增加了红黑树部分)添加数据时首先计算key的hash值,但是会出现哈希碰撞从而因为了链表默认大小为16 扩容因子0.75链表长度大于8时转为红黑树线程不安全的HashMap在多线程使用场景中使用线程安全的ConcurrentHashMap。LinkedList是一个双链表ArrayList 底层的数据结构就是数组 ,是线程不安全的默认大小为10 扩容1.5倍ArrayList、LinkedList对比ArrayL.原创 2021-03-02 19:17:05 · 100 阅读 · 0 评论 -
23种设计模式概念
总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。创建型模式工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修.原创 2021-03-01 13:29:35 · 154 阅读 · 0 评论 -
乐观锁、悲观锁
悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java 中 synchronized 和ReentrantLock 等独占锁就是悲观锁思想的实现。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的.原创 2021-02-24 14:21:17 · 72 阅读 · 0 评论 -
Executors提供的四种线程池
java.util.concurrent.Executors类,提供了创建四种线程池的方法:**newCachedThreadPool:**用来创建一个可缓存线程池,该线程池没有长度限制,对于新的任务,如果有空闲的线程,则使用空闲的线程执行,如果没有,则新建一个线程来执行任务。如果线程池长度超过处理需要,可灵活回收空闲线程。ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();**newFixedThread原创 2021-02-23 14:03:46 · 580 阅读 · 1 评论 -
多线程的三种创建方式
public class Zongjie_05 { public static void main(String[] args) { // 1.继承Thread类 new MyThread1().start(); // 2.实现Runnable接口 Thread thread = new Thread(new MyThread2()); thread.start(); // 3.实现Callable接原创 2021-02-23 13:10:39 · 121 阅读 · 1 评论