se
文章平均质量分 81
键舞者
干一行爱一行
展开
-
IP协议从0到1
网络层职责实现跨局域网的主机与主机的通信,完成路由功能路由问题解决长期目标与短期目标的问题,通过长期目标解决短期目标的问题IP地址IPV432位的无符号正数(4字节),通常采用点分十进制的表示127.0.0.1IPV6128位的无符号整数IP地址有路由号+主机号组成。...原创 2022-07-30 11:50:15 · 325 阅读 · 1 评论 -
TCP协议详解
主要协议httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。原创 2022-07-29 19:42:09 · 4620 阅读 · 21 评论 -
UDP协议详解
原理利用hash函数,计算发送的数据与接收的数据的hash值是否相等,来判断接收与发送数据的hash值是否相等,CRC循环冗余码则是UDP校验发送数据是否准确到达接收方的一种校验手段。4,验证长度和校验码,无论数据是否出错,UDP协议都不会做出任何响应给发送方,所以发送方也不知道数据是否发送成功,没有得到接收的回应,所以说UDP是不可靠的。UDP常用于多媒体应用(如IP电话,实时视频会议,流媒体等)数据的可靠传输对他们而言并不重要,TCP的拥塞控制会使他们有较大的延迟,也是不可容忍的。...原创 2022-07-28 15:51:43 · 3519 阅读 · 0 评论 -
Socket网络编程,网络原理基本概念
UDPUserDatagramProtocol用户报文协议TCPTransmissionControlProtocol传输控制协议。原创 2022-07-27 21:08:39 · 577 阅读 · 0 评论 -
初识网络的简单概念
总线型,环形,星形,树形局域网LAN同一广播域下一部分主机通过网络连接形成的网络广域网多个局域网连接形成广域网。原创 2022-07-27 12:20:17 · 462 阅读 · 0 评论 -
IO应知应会
代码中得路径windows中\表示转义,所以windows中得代码D\\file\\a.txt。windowD\files\a.txt根盘符\文件名\文件.后缀名。当前在file文件夹描述a.txt就为file\a.txt。windows上删除文件相当于剪切复制,将文件从当前节点复制回收站中,删除非空得文件夹,只能先将文件夹删除为空,才能删除该文件夹。linux/macD/文件夹/文件名。当前目录进程得启动目录,...原创 2022-07-21 14:00:03 · 380 阅读 · 25 评论 -
多线程进阶(下)
1,synchronized是Java中的关键字,由JVM实现,需要依赖OS的mutex互斥实现,Lock是java标准类库中的接口,是java本身实现的,不需要依赖操作系统。3,synchronized关键字,在获取锁失败时,死等解锁,lock锁可以在获取锁时,使用tyrLock在超过固定时间后没有获取到锁,就会开始执行其他代码,不hi死等;自旋锁获取锁失败的线程,不阻塞,在cpu上空运行,一旦锁被释放,自旋锁的线程就很容易获取线程。2,实现Runnable接口—>不带返回值,覆写run方法。...原创 2022-07-18 22:52:33 · 168 阅读 · 0 评论 -
多线程初阶
程序:一系列有组织的文件,操作系统实现封装API,实现不同的效果进程:程序的一次执行过程,进程是操作系统资源分配的最小单位。线程:进程中的子任务(QQ和两个不同的聊天就是QQ进程中的两个子线程)一个进程至少包含一个主线程,存在多个不同的子线程,多个线程共享操作系统分配给进程的资源,线程是操作系统调度的最小单位。如何定位主机上的一个进程: 不同的程序拥有不同的端口号,操作系统通过不同的端口号,来定位进程,给进程分配资源。进程的端口号是不会变化的,但是进程的PCB(进程的信息)是变化的。1,进程是原创 2022-07-10 16:40:49 · 317 阅读 · 3 评论 -
多线程进阶(上)
目录使用线程池的原因:JDK的线程池的使用ThreaPoolExecute的核心方法:execute: submit:提交一个任务到线程池,线程池会派遣一个空闲的线程来执行该任务。shutdown()/shutdownNow():销毁线程池 , ThreadPoolExecutor子类的核心构造方法参数:线程池的工作流程: 固定大小线程池的源码缓存线程池:同步阻塞队列,两个线程池同时获取和抛出一个任务。同步阻塞队列 单一线程池:延迟线程池:采用锁的策略:1,乐观锁:2,悲观锁:3,读写锁(Reentrant原创 2022-07-10 16:31:47 · 242 阅读 · 0 评论 -
Lambda表达式:一篇文章带你通透
JDk1.8以后接口中可以存在普通方法,不仅仅只有抽象方法,该方法是被 default 修饰的,并且该方法,他的实现子类都可以调用该方法。在接口中定义普通方法,一般是用来修改之前版本的存在的不足。开发人员几乎使用不上。dafault关键字在接口中表示普通方法,不能省略。 使用@FunctionalInterface来检验是否是函数式接口,只能有一个,多了不行,少了也不行 Lambda表达式是基于函数是接口,如果接口中有多个或者没有接口,就不会一一对应的找到了该接口中的抽象方法。Lambda表达式就会变原创 2022-07-02 16:14:44 · 658 阅读 · 41 评论 -
泛型与反射,看这篇就够了
泛型与反射原创 2022-06-29 17:59:14 · 3797 阅读 · 41 评论 -
一篇文章,轻松拿捏大厂必问的HashMap源码分析
目录一,JDK8之后HashMap的新特性二,hashMap源码属性解读(一),默认初始化容量数量:16(二),最大数组容量:2^30(三),默认负载因子:0.75f(四),触发树化条件1,链表阈值:(五),解树化的阈值:(六),触发树化条件二,hash桶阈值(数组元素个数):三,HashMap的put方法(一)put方法(二),hash方法() (三),putVal方法put方法的核心逻辑:四,hashMap的构造方法(一),无参构造...原创 2022-05-27 17:40:07 · 4009 阅读 · 70 评论 -
什么是面向对象
一,包1,类的全路径:包名.类名;2,导入类:import + 类的全路径; 如果需要导入一个包中的所有的类,import +包的全路径.*;(这种方法存在歧义,一般不推荐)3,静态导入import static 可以导入包中的静态方法和静态属性4,包访问权限默认访问权限default就为包访问权限,只在当前包中可见,子包中的类也不可见二,三大特性一,封装使用private将方法和属性进行封装。具有保护性和易用性(通过程序对外提供的方法案例访问类中的属性.原创 2022-05-07 10:44:58 · 739 阅读 · 2 评论 -
时间复杂度和空间复杂度
一算法效率1.时间效率:时间复杂度代码执行的次数为时间复杂度。举例:pulblic static void main(String[] args){ int n ; for(int i = 0; i < n ;i++){ } for(int i = 0; i < n ;i++){ for(int j = 0; j < n ;j++){ sum = sum + j;原创 2022-04-16 20:11:25 · 1015 阅读 · 7 评论 -
类和对象及代码块
目录一.封装四种访问修饰符public :共有的,公开的private:私有的构造方法:产生对象this关键字:代码块;是用{}括起来的代码块1.基本代码块2.成员代码块(构造快):3.静态代码块:匿名对象:new Bank();一.封装封装具有保护性和易用性。(封装有很多种表现形式)private实现属性和方法的封装只是其中的一种表现形式。比如内部类也是封装的一种。四种访问修饰符private(类访问权限) -> de.原创 2022-04-15 10:07:11 · 457 阅读 · 12 评论