
网络
文章平均质量分 81
橘白呀啊
这个作者很懒,什么都没留下…
展开
-
初识JVM
文章目录JVMJVM布局1. 堆划分JVM 参数调优2. Java栈3. 本地方法栈4. 程序计数器5. 元空间小结JVM类加载机制JVM双亲委派模型优点破坏双亲委派模型的场景JVM组成5个部分类加载机制(JVM加载)|双亲委派模型|破坏双亲委派模型的3个场景垃圾回收判断什么是垃圾?垃圾算法垃圾处理器JMM (让JVM高速运行的一种技术)JVM布局(HotSpot):JDK1.81. 堆new Object() 所有的对象都是存在此区域,此区域也是JVM中最大的一块区域原创 2021-05-30 20:14:35 · 97 阅读 · 0 评论 -
初识线程Ⅶ之JUC
文章目录JUCReentrantLockSemaphoreCountDownLauthCyclicBarrierHashMapConcurrentHashMapHashtableJUCjava.util.concurrentReentrantLocklock写在try之前,防止没有加锁成功,如果写try里边,此异常会将正常业务逻辑处理的异常覆盖,不便于调试一定要在finally中进行unlock()Semaphore信号量多把锁,用来控制锁的数量(实现限流功能)acquire():尝试原创 2021-05-30 12:26:31 · 140 阅读 · 1 评论 -
初识线程Ⅵ之各种锁
文章目录回顾ThreadLocal缺点单例模式阻塞式队列锁乐观锁实现CAS的缺点ABA问题解决方案悲观锁共享锁独占锁(非共享锁)读写锁优点注意公平锁优点非公平锁优点自旋锁缺点可重入锁问题回顾ThreadLocal缺点不可继承性(子线程不能读取父线程的变量)脏数据(ThreadPool[复用]线程的复用会复用线程相关的静态变量)内存溢出[原因:ThreadPool(长生命周期 )–>Thread -->ThredLocal—>ThreadLocalMap --> Entry原创 2021-05-29 20:25:23 · 119 阅读 · 2 评论 -
初识线程Ⅴ之ThreadLocal
文章目录回顾ThreadLocal使用方法使用场景缺点不可继承脏读(脏数据)内存溢出问题回顾线程不安全解决方案CPU抢占式执行加锁(synchronizd、Lock)私有变量(ThreadLocal 线程本地变量)ThreadLocal:线程级别的私有变量与任务级别的私有变量完全不同eg:线程池:10,任务数:1000任务级别的私有变量:会创建1000个私有变量线程级别的私有变量:会创建10个私有变量public void method(){ MyObject obj =原创 2021-05-23 22:06:45 · 242 阅读 · 0 评论 -
初识线程Ⅳ之线程池
文章目录前言线程池定义创建方式1. 创建固定线程个数的线程池线程池的执行流程:线程池包含的内容自定义线程池行为2. 创建带缓存的线程池3. 可以执行定时任务的线程池4. 创建单个执行定时任务的线程池5. 创建单个线程的线程池6. (JDK8以上)根据当前工作环境(CPU核心数、任务个数)异步线程池同步异步7.前言线程的创建需要开辟内存资源:本地方法栈、虚拟机栈、程序计数器等线程私有变量的内存,频繁的创建和消耗会带来一定的性能开销使用线程不能很好的管理任务和友好的拒绝任务线程池定义创建方式1原创 2021-05-23 10:56:31 · 106 阅读 · 0 评论 -
初始线程Ⅲ之死锁问题
文章目录回顾创建方式常见方法和属性特性状态线程安全问题线程不安全的五个因素线程不安全解决方案锁死锁形成死锁必须同时满足的条件如何解决死锁的问题线程通讯机制注意区别Thread.sleep(0) VS Object.lock(0)sleep() VS wait()wait VS LockSupport回顾多线程:创建方式继承Thread实现Runnable接口实现Callable接口常见方法和属性start()run()sleep():休眠join():等待线程执行完成int原创 2021-05-09 12:29:35 · 187 阅读 · 0 评论 -
初始线程Ⅱ之线程不安全问题
@TOC回顾线程的创建:继承Thread类(单继承)[2种]继承Runnable run[4种]jdk 1.5 实现Callable +futureTask线程的构造方法:设置线程名设置线程任务设置线程分组线程的常见属性:IDName状态优先级守护线程线程的分类:守护线程用户线程(main)注意:在守护线程中创建的新线程,默认是守护线程设置守护线程的状态必须放在线程启动之前run方法 和 start方法 的区别:使用全局自定义变量的方式来原创 2021-04-28 14:01:44 · 128 阅读 · 0 评论 -
初识线程Ⅰ之线程基础
多线程回f顾回f顾操作系统:-硬件(冯诺依曼体系系统)-软件(OS操作系统)内核部分(内核态)、用户部分(用户态)进程:系统分配资源的最小单位单进程程序->多进程程序线程:系统调度的最小单位(优点:)线程共享的资源:打开的文件共享内存进程VS线程进程系统分配资源的最小单位...原创 2021-04-25 23:06:27 · 115 阅读 · 0 评论 -
简单介绍 CPU 的工作原理
简单介绍 CPU 的工作原理内部架构1. 控制单元2. 运算单元3. 存储单元工作原理1. 取指令2. 指令译码3. 执行指令4. 指令计数常见的 32位 CPU 和 64位 CPU 主要存在以下两个差异:1. 处理能力不同2. 寻址空间不同内部架构CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列。CPU 从逻辑上可以划分成 3 个模块,分别是控制单元、运算单元和存储单元 。其内部架构如下:1. 控制单元控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Inst转载 2021-04-25 17:07:36 · 646 阅读 · 0 评论 -
当在浏览器中输入URL地址后,会发生什么?
浏览器先会检查你的url地址的正确与否,若不正确直接舍弃浏览器会检查这个URL有没有缓存,如果有缓存就显示缓存内容DNS域名解析,拿到IP进行访问TCP三次握手详细:TCP握手的内容传递和状态变化客户端先发送一个SYN 给服务器端,此时状态为SYN_SEND服务器端给客户端返回一个SYN+ACK,此时状态为SYN_RCVDHTTP协议 request 内容发送(首行,head,空行,body)服务器接收到请求,并且进行相应的业务处理服务器端将结果返回给客户端浏览器拿到返回结果之后,并调.原创 2021-04-25 10:54:29 · 409 阅读 · 0 评论 -
初识操作系统进程线程
这里写目录标题回顾操作系统硬件软件回顾TCP/IP应用层:将网络中的包转换成应用程序需要的数据传输层:端口号/UDP/TCP确认应答(核心)超时重传(默认500ms)连接管理(三次握手/四次挥手)滑动窗口(快重传)流量控制拥塞控制(慢启动)延迟应答捎带应答面向数据流(粘包半包问题)异常情况处理IP协议MTU MSS关系MTU(1500)=MSS+传输层头部大小+网络层的报头大小操作系统硬件硬件组成:冯诺依曼体系结构/软件...原创 2021-04-22 21:21:25 · 241 阅读 · 0 评论 -
傻瓜聊天机器人和傻瓜翻译机器人!!
文章目录网络原理UDP服务器端客户端注意:先启动服务器端再启动客户端最终呈现:TCP服务器端客户端注意:先启动服务器端再启动客户端最终呈现:总结网络原理UDP傻瓜 智能 聊天机器人:服务器端package udp;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class Server { /** * 服务器端-"智能"聊天机原创 2021-04-17 16:28:49 · 413 阅读 · 0 评论 -
网络原理初识
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言OSI 7层协议应用层:表示层:会话层:传输层:网络层:数据链路层:物理层:TCP/TP 4层协议应用层:传输层:网络层:数据链路层:( 物理层:)一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言搞清楚网络交互的细节聊天机器人5个关键要素:目标IP目标端口号源地址IP(退回信息/反馈信息)源端口号协议网络分层协议:OSI 7层协议应用层:针对特定应用的协议:HTTP协议 DNS协原创 2021-04-15 23:51:33 · 135 阅读 · 0 评论 -
初识网络原理之网络层IP和数据链路层
这里写目录标题回顾网络层IP协议:回顾网络层IP协议:超出UDP的最大长度后,就依靠以下属性进行拆包和组包:16位标识:分组ID3位标志:第一位:保留(现在暂时不用, 说不定以后要用)第二位:置为1表示禁止分片,这时候如果报文长度超过MTU, IP模块就会丢弃报 文第三位:表示"更多分片",如果分片了的话,最后一个分片置为1, 其他置0,类似于一个结束标记13位片偏移:后发先至,8位生存时间(TTL): 一般为64,每经过一次路由器的跳转,就会 -1,直到这个值等于原创 2021-04-20 21:07:10 · 823 阅读 · 0 评论 -
初识网络原理之传输层UDP、TCP
TCP协议详解回顾传输层UDP:TCP:TCP的八大机制TCP面向数据流粘包半包TCP异常TCP小结总结回顾传输层:管理源地址和目标地址的数据传输(确定路线)网络层:管理选择路由(决定交通工具的类型 :IP协议)数据链路层:进行相邻节点的数据传输,规划最近运输路线传输层端口号(0-65535):找到应用程序分类:知名端口号:0-1023,FTP:21,SSH:22,Telnet:23,HTTP:80,HTTPS:443(MySQL:3306,Tomcat:8080)动态端口号:1024原创 2021-04-19 09:56:29 · 260 阅读 · 0 评论 -
初识TCP的八大机制
TCP的八大机制TCP的八大机制:TCP的八大机制:确认应答(保障TCP稳定的核心机制)缺点:太繁琐,在信息传递过程中占用太多带宽`可能带来的问题:发送消息丢失ACK丢失超时重发内核:自动消息去重,避免资源浪费策略:发送时不会以固定频率发送,每次重发的频率(超时时间间隔)呈指数增加,举例如下:第一次超时重发的时间间隔:500ms第二次超时重发的时间间隔:2 *500ms第三次超时重发的时间间隔:4 *500ms……发送一定次数后,消息仍未得到应答,就会停止发送连原创 2021-04-19 09:26:55 · 534 阅读 · 5 评论 -
不会吧!不会吧!你还不会三次握手和四次挥手??
TCP经过三次握手建立连接,四次挥手断开连接画图示例:TIME_WAIT会等待多长时间?2个MSL(最大超时时间)2个MSL= ACK最大超时时间(1个MSL)+ 对方发送给他的消息的最大超时时间(1个MSL)此时,若丢失ACK,会重传,一直未响应,会强制关闭如果发现服务器端存在大量的CLOSE_WAIT ,说明程序有问题吗?是程序的BUG,程序中没有调用close(),主动关闭连接>...原创 2021-04-19 15:02:37 · 168 阅读 · 0 评论