![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 94
摸鱼儿hzj
始终相信越努力越幸运!
展开
-
HashMap源码探究之底“库”看穿
HashMap是Java集合框架中的一种数据结构,它实现了Map接口,并基于哈希表(Hash Table)来存储键值对。下面这张是HashMap的继承关系图:在HashMap中,每个键值对由一个键(key)和一个值(value)组成。键是唯一的,而值可以重复。HashMap使用哈希函数将键映射到存储桶(bucket)中,每个存储桶存储着一个链表或红黑树的数据结构(jdk1.8),用于解决哈希冲突。*哈希冲突是指不同的键经过哈希函数映射到相同的存储桶*举个例子: 假如。原创 2023-08-12 14:19:58 · 267 阅读 · 0 评论 -
Java编程基础知识之线程篇(其四)
本文章内容介绍synchronized关键字和volatile关键字,只有也包括wait和notify两个线程方法的介绍。一、synchronized关键字-监视器锁。原创 2022-09-09 09:50:32 · 332 阅读 · 1 评论 -
Java编程基础知识之线程篇(其三)
本章主要介绍线程的不安全问题及其造成原因。原创 2022-09-06 17:58:07 · 515 阅读 · 0 评论 -
Java编程基础知识之线程篇(其二)
这是因为sleep(wait、join,这类方法签名上有抛出异常)会让程序进入轻量级阻塞状态(WAITING、TIME_WAITING)会抛出异常 ,处在这个状态的线程是没有上CPU运行的,本身没有在运行,谈不上中断,对于运行线程来说才有中断这一说法,所以sleep既然没有在运行,然后有被发出中断信号,自然就报了一个异常出来。所以同样是20亿次的循环,并行会快。在操作系统中,一个线程状态只有就绪状态和阻塞/睡眠状态,在Java中,一个线程的状态被划分的更细致,这些状态使用枚举类在保存在Thread中。原创 2022-09-04 12:44:30 · 646 阅读 · 0 评论 -
Java编程基础知识之线程篇(其一)
进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。计算机内部要管理任何现实事物,都需要将其抽象成一组有关联的、互为一体的数据。在 Java语言中,我们可以通过类/对象来描述这一特征。C语言使用结构体// 以下代码是 Java 代码的伪码形式,重在说明,无法直接运行// 进程的唯一标识 —— pid;// 进程关联的程序信息,例如哪个程序,加载到内存中的区域等。......原创 2022-08-30 15:48:51 · 304 阅读 · 0 评论 -
计算机网络基础知识之网络层篇(下)
传统方式:每-路由器(Per-router)控制平面在每一个路由器中的单独路由器算法元件,在控制平面进行交互SDN方式:逻辑上集中的控制平面一个不同的(通常是远程的)控制器与本地控制代理(CAs)交互为什么需要一个逻辑上集中(SDN)的控制平面?网络管理更加容易:避免路由器的错误配置,对 于通信流的弹性更好解耦合基于流表的转发,允许“可编程”的路由器集中式“编程”更加容易:集中计算流表然后分发。原创 2022-08-21 13:40:40 · 702 阅读 · 0 评论 -
计算机网络基础知识之网络层篇(上)
数据平面:解决路由器如何将数据报正确地从输入端口到合适的输出端口。一个路由器可以有多个输出端口。数据平面是对于内部数据运作来说。控制平面:解决端到端路径之间路由器的选择问题,这是相对于外部路线来说。二者关系:控制平面通过构建转发表,转发表内记录着到达目的端的地址,由此使得数据报能在端到端之间进行传送。而数据平面在将数据报放到合适输出链路前都查看一下这个表,根据这个表记录的合适地址来进行转发。...原创 2022-08-19 00:02:04 · 728 阅读 · 0 评论 -
计算机网络基础知识之运输层
运输层协议为运行在不同主机上的应用进程之间提供逻辑通信(logic communication),运输层协议是在端系统中而不是在路由器中实现的。在发送端,运输层将从发送应用程序进程接收到的报文转换成运输层分组,就是 所谓的运输层报文段。实现的方法(可能)将应用报文划分为较小的块、并为每块运输层首部以生成运输层报文段,然后,在发送端系统中,运输层将这些报文段传递给网络层,网路层将其封装成网络层分组(即数据报)并向目的地发送。注意到下列的要的:网络路由器仅作用于该数据报的网络层字段;.........原创 2022-08-14 11:54:07 · 2488 阅读 · 0 评论 -
Java编程基础知识之异常
异常就是程序在执行过程中遇到了不符合设定的不正常情况。使用异常有助于保证程序的健壮性,屹立不倒。除此之外还浅谈了一下断言和日志的知识目录前言:一、异常1.异常分类2.异常处理1)throws(抛出异常)2)try...catch(捕获异常)3)补充说明3.抛出or捕获4. 深入try....catch5.异常的两重要方法6.创建异常类7.finally关键字1)finally 说明2)特殊情况3)try with resource语句三、断言1.断言概念2.断言语法3.断言的启用和禁用。.........原创 2022-08-11 12:56:28 · 894 阅读 · 0 评论 -
计算机网络基础知识之应用层篇
HTTP使用TCP作为它的支撑运输协议(而不是UDP上运行)。HTTP客户首先发起一个与服务器的TCP连接。一旦连接建立,该浏览器和服务器进程就可以通过套接字接口访问TCPHTTP是一个无状态协议,HTTP服务器不保存任何客户的任何信息。..................原创 2022-08-09 10:36:01 · 4748 阅读 · 0 评论 -
Java编程基础知识之接口篇
本文简单介绍接口、lambda表达式、内部类等java编程基础知识,本文例子提供的比较多,篇幅比较大,设计接口定义、实现comparable接口与Comparator接口以及二者去呗,拷贝的系列问题和注意事项;lambda表达式的各种情况及其升级版:方法引用;内部类介绍了普通内部类、静态内部类、匿名内部类、局部内部类,并且对内部类进行了反编译处理来查看底层原来,简单解释内部类带来的内存泄漏问题接口中包含的方法都是抽象方法,字段只能包含静态常量。一个类实现接口,就要把它内部的抽象方法给重写。.........原创 2022-08-06 01:19:38 · 1469 阅读 · 0 评论