![](https://img-blog.csdnimg.cn/20200604141511189.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端技术
分享后端相关的技术学习笔记
我超爱JAVA的
记录学习的过程
展开
-
谈谈Java中的锁机制
一、Synchronized关键字原理什么是SynchronizedSynchronized是java内建的同步机制,提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取锁的线程会被阻塞Synchronized核心组件Wait Set那些调用wait方法被阻塞的线程被放置在这里Contention List竞争队列,所有请求锁的线程首先被放在这个竞争队列中Entry ListConnection List 中那些有资格成为候选资源的线程被移动到Entry List原创 2020-06-06 14:55:58 · 426 阅读 · 0 评论 -
分析HashTable、HashMap与ConcurrentHashMap
一、HashTable、HashMap有什么不同1.1 HashTableHashTable是遗留类,很多映射的常用功能与HashMap类似,不同的是它继承自Dictionary类不支持null键和值,并且是线程安全的,任意时间只有一个线程能写HashTable,锁的粒度粗,并发性不如ConcurrentHashMap,因为其引入了分段锁,每次只将一个小部分上锁1.2 HashMap(数组+链表+红黑树)HashMap不是同步的,最多只允许一条记录的键位null,允许多条记录的值为null,它是根据原创 2020-06-03 22:22:29 · 205 阅读 · 0 评论 -
Java提供了哪几种IO方式
同步、异步、阻塞、非阻塞概念阻塞、非阻塞IO操作分两部分,发起IO请求和IO数据读写,阻塞、非阻塞主要是针对线程发起IO请求后,是否立即返回同步、异步针对IO数据读写定义的,读写数据过程不阻塞线程称为异步IO阻塞IO模型最传统的一种IO模型,在读写数据的过程中会发生阻塞现象,当用户线程发出IO请求之后,内核会去查看数据是否准备就绪,如果没有准备就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。数据准备就绪后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才原创 2020-05-24 12:19:50 · 3421 阅读 · 0 评论 -
软件设计的里氏替换原则与单一职责原则(读书笔记)
一、里氏替换原则若对每个类型 T1 的对象 o1,都存在一个类型 T2 的对象 o2,使得在所有针对 T2 编写的程序 P 中,用 o1 替换 o2 后,程序 P 的行为功能不变,则 T1 是 T2 的子类型。简单的阐述里氏替换原则 : 一个父类A,一个子类B继承自A类,在程序代码之中可以用子类B的对象引用去替换掉原本代码中的A类对象引用,并且程序不会出问题要满足这个条件就需要子类A的...原创 2020-02-13 20:46:54 · 233 阅读 · 0 评论 -
软件设计的开闭原则与倒置原则(读书笔记)
Todo :早上总结两篇文章的笔记进行发布原创 2020-02-12 18:39:33 · 262 阅读 · 0 评论 -
如何使用UML完成一个设计文档(读书笔记)
软件建模与设计过程可以拆分成需求分析、概要设计和详细设计三个阶段。UML 规范包含了十多种模型图,常用的有 7 种:类图、序列图、组件图、部署图、用例图、状态图和活动图。一、类图类图用于描述类的特性和类之间的静态关系类的组成部分类的名字,类的属性,类的方法类之间的关系关联当一个类的属性保存了对另一个类的实例的引用时,就产生了关联关系单向关联 双向关联自身关联多维关联...原创 2020-02-10 13:14:47 · 1104 阅读 · 0 评论 -
文件系统原理(读书笔记)
硬盘标题机械式硬盘和固态硬盘 :机械式硬盘 : 通过移动磁头臂进行读取相应的数据,如果数据存储不是连续的会造成来回移动,时间损耗大固态硬盘 : 完全的电子操作,对于文件的访问速度快于机械式硬盘实际场景 :由于固态硬盘成本高于机械式硬盘,通过使用固态硬盘与机械式硬盘的混合部署方式,满足不同文件类型的存储需求文件系统文件系统将硬盘以块为单位进行划分,每个文件占据若干块,然后通过文件...原创 2020-02-09 17:54:03 · 194 阅读 · 0 评论