知识点
HJ-sheng
这个作者很懒,什么都没留下…
展开
-
笔记——TCP
TCP三次握手第一次握手:建立连接时,客户端发送SYN标志位为 1,seq = x到服务器,并进入SYN_SENT状态,等待服务器确认。第二次握手:服务器收到包确认后,其中包SYN、ACK标志位为1,发送序列号seq=y,接收序列号ack=x+1,此时服务器进入SYN_RECV状态;第三次握手:客户端收到后,向服务器发送ack=y+1 seq = x+1 ACK标志位为1,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。四次挥手第一次挥手:主动关闭方发送第一个包,原创 2020-07-06 18:15:59 · 128 阅读 · 0 评论 -
笔记——JVM基础
一、运行时的数据区结构JAVA栈 java栈是线程私有的,每个方法被执行的时候,java虚拟机都会同步创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息,然后入栈,每一个方法被调用执行完毕,就会出栈。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iEqh89YV-1592816496581)(C:\Users\hjsss\AppData\Roaming\Typora\typora-user-images\1587891457原创 2020-06-22 17:01:58 · 136 阅读 · 0 评论 -
笔记——spring cloud
分布式 微服务 集群去饭店吃饭就是一个完整的业务,饭店的厨师、配菜师、传菜员、服务员就是分布式;厨师、配菜师、传菜员和服务员都不止一个人,这就是集群;分布式就是微服务的一种表现形式,分布式是部署层面,微服务是设计层面。分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立.原创 2020-06-08 15:54:52 · 201 阅读 · 0 评论 -
笔记——gc回收
1.引用计数法(对象中添加一个引用计数器) 2.可达性分析法GC ROOTS虚拟机栈(栈帧中的本地变量表)中引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象本地方法栈中 JNI(即一般说的 Native 方法)引用的对象**不可达的对象也要至少经历两次标记,对象进行可达性分析后与GC roots的引用链无关,就会标记一次,然后判断是否有必要执行finalize()方法进行第二次标记判断。**假如对象没有覆盖finalize()方法或者finalize()方法已经被虚拟机调原创 2020-06-01 18:56:46 · 160 阅读 · 0 评论 -
笔记——单例模式
单例模式所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。在Java,一般常用在工具类的实现或创建对象需要消耗资源。特点类构造器私有持有自己类型的属性对外提供获取实例的静态方法懒汉模式线程不安全,延迟初始化public class Singleton { private static Singleton instance; private Singleton (){} public static Sing原创 2020-05-25 19:21:40 · 128 阅读 · 0 评论 -
笔记——线程池
降低资源消耗。 提高响应速度。提高线程的可管理性。自带线程池FixedThreadPool:判断线程池是否存在空闲线程存在则使用不存在空闲线程,且线程池未满的情况下,则创建线程 并放入线程池, 然后使用不存在空闲线程,且线程池已满的情况下,则等待线程池存在空闲线程CachedThreadPool:(长度无限制)判断线程池是否存在空闲线程存在则使用不存在,则创建线程 并放入...原创 2020-05-04 23:46:09 · 144 阅读 · 0 评论 -
笔记——线程
线程与进程区别进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。进程是系统进行资源分配的单位.线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位线程调度分时调度:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。抢占式调度:优先让优先级高的线程使用...原创 2020-05-04 23:45:46 · 161 阅读 · 0 评论 -
笔记—OOM
笔记—OOM(除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能)1.可用的内存太少2.应用太多,并且没释放,浪费内存Java堆溢出:内存泄漏:申请使用完的内存没释放,导致JVM不能再次使用该内存解决:使用工具查看泄漏对象到GC Roots的引用链,找到泄露对象是通过怎样的引用路径,与哪些GC Roots相关联,才导致垃圾收集器无法回收它...原创 2020-04-27 17:35:29 · 112 阅读 · 0 评论