架构师课程学习笔记
文章平均质量分 90
AllenSun23
这个作者很懒,什么都没留下…
展开
-
JDK8提升开发效率有哪些
第06章 JDK8以上提高开发 效率有哪些1)JAVA现状&版本介绍Java自1.0版本发布的这18年来,java8中新增的功能可以说 是最大变化的一次。基于函数式编程的思想,它本身并没有 去处掉原有的任何东西,所以就算升级使用了Java8,但是仍 然有很多人在基于之前的开发习惯进行代码编写,并没有使 用到Java8的诸多新功能。同时也有一些人,在对Java8的新功能做了一些了解之后,认 为其改变了编写代码的一些方式,所以可能会有抵触情绪, 并未在项目中进行使用。但是Java8提供的新功能本原创 2022-01-16 20:18:01 · 603 阅读 · 1 评论 -
多线程并发在电商系统下的追本溯源-电商实战
常见问题线程协作1) wait/notifywait : Object中,让出锁,阻塞等待。notify/notiryAll:Object中,唤醒wait的进程,具体唤醒哪一个,要看优先级。public class NotifyTest { public static void main(String[] args) { byte[] LOCK = new byte[0]; Thread t1 = new Thread(() -> {原创 2020-10-15 20:50:13 · 480 阅读 · 0 评论 -
多线程并发在电商系统下的追本溯源-性能调优
锁优化线程池参数优化协程并发容器的选择上下文切换优化原创 2020-10-10 00:10:31 · 289 阅读 · 0 评论 -
多线程并发在电商系统下的追本溯源-线程池
多线程线程池多线程的基础知识1)线程的创建继承Thread类实现Runable接口2)线程的状态及状态切换3)线程池普通线程的创建和销毁都非常消耗cpu资源,因此,出现了线程池。顾名思义,线程池就是缓存线程的池子,一些普通线程的集合。当线程池中的线程,执行任务结束以后,不会销毁该线程,而是再次返回线程池中称为空闲状态,等候下次任务的来临。线程池较手动创建线程有很大的优势:节省系统开销提高系统响应速度方便并发数的管理,避免oom提供定时调度的功能(延时定时线程池)4)线程原创 2020-10-06 20:12:49 · 512 阅读 · 0 评论 -
什么是类加载机制
什么是类加载机制Java代码经过编译后形成的.class文件,需要加载到虚拟机后才能运行。我们将.class文件加载到虚拟机的过程称之为类加载机制。一个类经过类加载机制加载到内存,然后从内存中卸载是这个类的生命周期。整个类的生命周期包含了七个阶段,如下图所示:上图中,加载、验证、准备、初始化和卸载这五个阶段的顺序是固定的,但是却不是按部就班的进行,意思是一个类可能在加载到一半的时候,就开始了验证,验证到一半的时候就开始了初始化等等。上图中类的解析过程,却没有固定的顺序,在某些情况下可以在初始化之后再原创 2020-09-01 23:51:03 · 1090 阅读 · 0 评论 -
大促高并发系统下JVM如何调优——垃圾收集器
JVM内存调优,实质上是针对垃圾收集器内存调优,选择什么样的垃圾收集器以及如何设置垃圾收集的器各项参数才能达到减少垃圾收集的次数,减少STW的次数,缩短程序暂停时间是JVM内存调优的重点。因此,需要学习垃圾收集器。垃圾收集器其实解决了两件事情:什么对象需要被回收?怎样回收上面这些对象?因此,学习垃圾收集器就是回答这两个问题。什么样对象需要被回收垃圾收集器会根据一套算法来标记哪些对象可以被回收,哪些对象不能回收,而这种算法通常有两种:引用计数法;可达性分析算法。引用计数法原理对象原创 2020-08-23 23:13:33 · 1010 阅读 · 1 评论 -
Netty怎么用更优
Netty是什么定义Netty是一种高性能,异步的,基于事件驱动的网络应用框架核心架构核心:可扩展事件,统一的通信API,零拷贝机制和字节缓冲区传输服务:Socket,http通道,In-VM通道协议支持:http、SSL、Google protobuf、zlib/gzip、RTSPNetty优势基于NIO实现,统一封装了各种传输类型和协议实现的API。简化开发,提高效率,开发人员只需关注业务即可可定制线程模型只依赖JDK底层API,低耦合。减少了内存考虑,提高了性能。快速原创 2020-08-09 14:52:55 · 349 阅读 · 1 评论 -
从架构层面看设计模式
第03章 从架构层面看设计模式设计模式的一些概念定义一些反复被使用,多数知晓并认可的,经过分类编目的,代码设计经验的总结。设计模式的目的是为了代码重用,让代码更容易被人理解,保证代码可用性。设计原则单一职责原则:类的职责要单一,目的是降低耦合开闭原则:对扩展开放,对修改关闭。抽象化是开闭原则的关键。里氏代换原则:所有引用父类的地方必须能透明的使用其子类对象。简单说就是父类引用指向子类对象。父类往往设计为抽象类或者接口,子类继承或者实现父类。依赖倒转原则:抽象不依赖细节,细原创 2020-08-01 15:16:52 · 264 阅读 · 0 评论