摘要:
【博主使用的环境是阿里云ecs服务器,操作系统为centos】 安装erlang环境 RabbitMQ底层是Erlang语言,因此要先安装erlang环境,就像你要运行Java程序就必须先安装JRE/JDK。 这里使用RabbitMQ官方提供的脚本下载yum源 curl -s https://pac 阅读全文
摘要:
🎈🤺🎈🤺🎈🤺🎈🤺 ① 运输层概述 之前我们说过的物理层、数据链路层和网络层实现的都是主机和主机之间的通信。但是计算机中通信的真正实体是主机的进程,如何实现进程与进程之间的通信是运输层的任务,因此运输层又叫端到端的通信。 ② 端口、分用与复用 1. 端口 运输层实现的是进程之间的逻辑通 阅读全文
摘要:
网络层Note ① 网络层概述 1. 网络层的主要任务 数据链路层只能实现同一局域网下主机的通信,但是局域网之间是存在异构的,不能直接通信,而且局域网的总线长度或者说覆盖范围是有限的,无法把全球变成一个局域网。 因此人们就想实现局域网与局域网之间的通信,进而实现IP数据包在各网络之间的传输, 阅读全文
摘要:
为什么需要分布式锁 引入经典的秒杀情景,100件商品供客户抢。如果是单机版的话,我们使用synchronized 或者 lock 都可以实现线程安全。但是如果多个服务器的话,synchronized 和 lock 就不管用了(废话,怎么可能管用,都不在同一段代码了)。 分布式锁就是被设计出来实现多个 阅读全文
摘要:
参考资料: JVM虚拟机入门教程-陈树义 JavaGuide 《深入理解Java虚拟机》 面经: 个人整理 - Java 后端面试题 - JVM 篇 阿里 Java 实习十轮面试面经 1. 讲一下JVM内存模型(运行时数据区) JVM内存模型分为两部分:线程共享和线程私有 JDK1.8之后方法区被元 阅读全文
摘要:
什么是线程不安全 我对线程安全的理解就是多个线程同时操作一个共享变量时会产生意料之外的情况,这种情况就是线程不安全。注意:只有写操作才可能出现线程不安全,对共享变量只进行读操作线程是绝对安全的。 具体线程不安全的例子有一个很经典的就是两个线程都对一个共享变量x=0执行100次自增操作,但是x的结果并 阅读全文
摘要:
为什么要使用线程池 创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程。 控制并发的数量。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。(主要原因) 可以对线程做统一管理。 JUC下线程池的体系结构 创建线程池的两种方法 使用ThreadPoolExecutor的构造方法创建 p 阅读全文
摘要:
javaWeb-Notes 1. 概念 Servlet = server + applet 运行在服务器的小程序 author大白话:Servlet就是一个接口,只能实现了这个接口的java类才能被服务器所识别并运行。将来我们定义的类,要实现Servlet接口,复写它的抽象方法。这样看来,Servl 阅读全文
摘要:
🤺🤺🤺🤺 数据链路层Note ① 前言 数据链路层使用的传输信道有两种:点对点信道和广播信道。 由于通信方式的不同,点对点方式使用的是PPP协议,广播信道使用的是CSMA/CD协议。 接下来看看数据链路层在网络传输中的位置: 如果从整个传输的视角看的话,主机间的数据链路层并不直接连接,而实通 阅读全文
摘要:
😎写点轻松的东西,最近学后端太累了❄ ps:虽然写了很多笔记,但是都懒得整理好发到博客上[懒]🤺🤺🤺 物理层Note ① 物理层和物理层协议的内涵 屏蔽物理层所采用的传输介质、通信设备与通信技术的差异性,使数据链路层只需要考虑如何使用物理层的服务,而不需要考虑物理层的功能具体是使用了哪种传输 阅读全文