摘要:
设计模式分类 创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF(四人组)书中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式 用于描述如何将类或对象按某种布局组成更大的结构,GoF(四人组)书中提供了代理、适配器、桥接、装饰、外观、 阅读全文
摘要:
JDK1.8源码阅读笔记(2) AtomicInteger AtomicLong AtomicBoolean原子类 Unsafe Java中无法直接操作一块内存区域,不能像C中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C手动管理内存的能力。Unsafe类是"final 阅读全文
摘要:
通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载器 自定义ClassLoader三要素: 继承自ClassLoader,重写findClass() 获取字节码二进制流 defineClas 阅读全文
摘要:
JDK1.8源码阅读笔记(1)Object类 Object 类属于 java.lang 包,此包下的所有类在使⽤时⽆需⼿动导⼊,系统会在程序编译期间⾃动 导⼊。Object 类是所有类的基类,当⼀个类没有直接继承某个类时,默认继承Object类,也就是说任何 类都直接或间接继承此类,Object 阅读全文
摘要:
基本数据类型引用数据类型特点 1、基本数据类型的特点:直接存储在栈(stack)中的数据 2、引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里 引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体 阅读全文
摘要:
哲学家就餐问题-Java语言实现死锁避免 我死锁预防是至少破坏死锁产生的四个必要条件之一,带来的问题就是系统资源利用率低且不符合开发习惯,而死锁避免不是事先釆取某种限制措施破坏死锁的必要条件,只是注意避免死锁的最终发生。 哲学家就餐问题 5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在 阅读全文
摘要:
PyQT5:信号和槽 信号和槽 Qt的主要特征之一是它使用信号和插槽在对象之间进行通信。 当潜在的事件发生时,会发出一个信号。插槽是可调用的Python,如果将信号连接到插槽,则在发出信号时将调用该插槽。如果没有连接信号,则什么也不会发生。 信号/插槽机制具有以下功能。 信号可能连接到许多插槽。 一 阅读全文
摘要:
Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo CountDownLatch countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后 阅读全文
摘要:
Java实现一个死锁 有一个藏宝图(treasureMapFragment)分成两份jack持有treasureMapFragment1残片1,json持有残片2。jack要求必须先看到json的残图才给json看自己的残图,而json要求必须先看到jack的残图才给jack看自己的残图。双方都在请 阅读全文
摘要:
JUC原子操作类与乐观锁CAS 硬件中存在并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在Java发展初期,java语言是不能够利用硬件提供的这些便利来提升系统的性能的。而随着java不断的发展,Java本地方法(JNI)的出现,使得java程序越过JV 阅读全文