Zookkk
码龄7年
关注
提问 私信
  • 博客:89,794
    社区:2
    89,796
    总访问量
  • 107
    原创
  • 736,571
    排名
  • 55
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-04-11
博客简介:

Zookkk的博客

查看详细资料
个人成就
  • 获得163次点赞
  • 内容获得45次评论
  • 获得317次收藏
创作历程
  • 1篇
    2022年
  • 21篇
    2020年
  • 53篇
    2019年
  • 34篇
    2018年
成就勋章
TA的专栏
  • Java
    4篇
  • 计算机网络
    2篇
  • Spring
    1篇
  • Manacher
    1篇
  • 二分
    1篇
  • 点分治
    2篇
  • 最短路
    6篇
  • 搜索
    4篇
  • 前缀和
    1篇
  • 算法整理
    1篇
  • LIS
    1篇
  • 二分查找
    2篇
  • 最长上升子序列
    1篇
  • 线段树
    7篇
  • codeforces
    14篇
  • 并查集
    3篇
  • 除法取模
    2篇
  • Linux
  • CCCC
    3篇
  • CCPC Wanafly
    1篇
  • 计算几何
    2篇
  • 树链剖分
    2篇
  • 主席树
    2篇
  • 单调栈
    2篇
  • 动态规划
    4篇
  • 树状数组
    3篇
  • 字符串
    3篇
  • 数论
    2篇
  • 网络流
    4篇
  • 图论
    4篇
  • 模板
    2篇
  • 最小生成树
    2篇
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
  • 人工智能
    opencvcaffetensorflowmxnetpytorchnlpscikit-learn聚类集成学习迁移学习分类回归
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

178人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

向前迈进!走入GC世界:G1 GC原理深入解析

对象从创建到回收经历了什么?那天书般的GC日志到底想告诉我们什么?你是否对此感到好奇,那么请耐下心来,让我带你一起走入这美妙的GC世界,本文将以通俗易懂的方式告诉你G1在背后究竟做了什么。
原创
发布博客 2022.11.22 ·
1315 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

进程与线程的区别

什么是进程呢?我理解的进程就是程序在操作系统中的一次执行。什么是线程呢?线程我理解是轻量级进程,它依附于进程存在,与进程具有类似的特性,同样拥有运行,阻塞,就绪状态,这三个状态再细划分可以划分为初始,运行中,等待,超时等待,阻塞,结束几个状态,同时共享同一进程的资源。进程与线程的区别:1.线程相比较进程而已,更加的轻量,上下文的创建与切换开销更小2.多个进程共享物理内存,磁盘,打印机与其他资源,多个线程共享同一个地址空间。3.进程用于不同的地址空间,而同一进程的线程用于相同的地址空间,并
原创
发布博客 2020.07.15 ·
239 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

TCP流量控制与滑动窗口

TCP连接的发送速率和接收速率是不一致的,接收方处理数据的速度和发送方发送数据的速度可能不匹配,因此若不能使发送方与接收方同步的话,会导致数据的丢包。滑动窗口能比较好的解决这个问题。滑动窗口的机制是在服务端设置一个接受窗口,接收窗口值由数据接收端指定,以字节数形式存储于TCP报文头,在TCP进行三次握手连接的时候,通知窗口信息,使得发送方的发送窗口与接收方的接收窗口同步。提问:TCP如何进行流量控制?TCP请求连接服务器进行三次握手时,服务器会在响应报文段中将接收窗口值,以字节数形式存储于T
原创
发布博客 2020.07.12 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

四次挥手过程与原因

当一方发送完数据请求关闭连接时,TCP会进行四次挥手,过程如下 TCP A TCP B 1. ESTABLISHED ESTABLISHED 2. FIN-WAIT-1 --> <SEQ=100><CTL=FIN> -->CLOSE-WAIT
原创
发布博客 2020.07.11 ·
748 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么要三次握手

为什么要三次握手?TCP协议握手目的是为了保证数据可靠传输,并且提高数据传输的效率,而三次握手恰好能满足以上要求为什么要三次握手: The principle reason for the three-way handshake is to prevent old duplicate connection initiations from causing confusion. To deal with this, a special control message, reset,
原创
发布博客 2020.07.11 ·
314 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

[..................] / rollbackFailedOptional: verb npm-session 560e475e72d32145问题解决记录

我自己的问题应该是镜像服务器没有设置,下载速度太慢,运行npm config set registry http://registry.npm.taobao.org问题解决
原创
发布博客 2020.06.12 ·
361 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

数据库1NF,2NF,3NF,BCNF总结

上述几个范式的定义自己曾理解了很多遍,但总是容易忘记,决定写个总结,忘了就来看看。1NF:通俗的将是表的每一列(数据项)都是不可再分的一部分2NF:在1NF的基础上,所有非主属性对码完全函数依赖(这里完全函数依赖主要区别于平凡函数依赖,是平凡函数依赖的一个子集,平凡函数依赖可以理解为一个关系模式上的属性集X可以完全确定属性集Y,而完全函数依赖则是更细一步规定了X的子集不能完全确定属性集Y)...
原创
发布博客 2020.05.03 ·
2076 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

《现代操作系统》学习总结-进程模型

进程模型在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干顺序进程,简称进程。一个进程就是一个正在执行程序的实例,包括程序计数器、寄存器、和变量的当前值。从概念上讲,每个进程都拥有自己的虚拟cpu,不过实际上cpu只是轮流处理这些进程而已,只不过由于线程之间切换速度比较快,不容易发现,这种快速的切换进程执行,我们将其称为多道程序设计。如上图,这四道程序被抽象为各自...
原创
发布博客 2020.04.25 ·
612 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java-finalize()方法与垃圾收集之间的联系

之前有个疑惑,像这样CMS,G1这样大部分时间可以与用户线程并发执行的垃圾收集器,在回收对象时,可以执行finalize方法可以理解,但为什么那些完全stw的收集器也可以执行finalize方法呢,后来去了解了一下发现,执行finalize的机制是这样的在进行垃圾回收时,对于那些被判定为不可达的对象我们会检查它是否有必要执行finalize方法(即finalize有没有被重写,或者已经执行过了...
原创
发布博客 2020.04.25 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《深入理解Java虚拟机》学习总结-class文件

一.魔数与版本号每个Class文件的头4个字节被称为魔数,它的唯一作用是确定这个文件是否为一个能被虚拟机接受的class文件。有许多文件都通过魔数的方式来对文件进行验证。Java class文件的魔数位0xCAFEBABE,寓意咖啡宝贝。紧随着魔数的四个字节存储的class文件的版本号,这个不用过多去关注。二.常量池常量池是class文件的一部分,常量池的入口紧接着主、次版本号。由...
原创
发布博客 2020.04.24 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Java并发编程的艺术》学习总结-队列同步器(AQS)

一.队列同步器队列同步器是一个抽象类,全名AbstactQueuedSynchronizer,简称AQS,基于模板方法模式设计的,即会提供一些抽象方法供使用者重写,提供一些模板方法供使用者调用,在自定义同步器的实现中会通过调用模板方法来调用使用者重写的方法。同步器提供了如下三个模板方法来访问或修改同步状态*getState():获取当前同步状态*setState():设置当前同步状...
原创
发布博客 2020.04.19 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《深入理解Java虚拟机》学习总结-垃圾收集

一.分代收集理论当前商业虚拟机的垃圾收集器,大多数遵循了“分代收集”的理论,该理论建立在两个分代假说之上:1)弱分代假说:绝大多数对象都是朝生夕灭的2)强分代假说:熬过越多次垃圾收集过程的对象就越难以消亡3)跨代引用假说:跨代引用相对于同代引用来说仅占极少部分这两个分代假说共同奠定了垃圾收集器的一致的设计原则:收集器应该将Java堆划分出不同区域,然后将回收对象依据其年龄分配到...
原创
发布博客 2020.04.19 ·
371 阅读 ·
0 点赞 ·
8 评论 ·
0 收藏

《深入理解Java虚拟机》学习总结-类加载器

一.类与类加载器类加载器只用于实现类的加载阶段,对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间,也就意味着,只有当两个类来源于同一个Class文件,被同一个Java虚拟机加载,那么这两个类才相等。站在Java虚拟机的角度来看,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap Class...
原创
发布博客 2020.04.17 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《深入理解Java虚拟机》学习总结-类加载过程

一.类加载的时机一个类型从被加载到虚拟机内存开始,到卸载出内存为止,它的生命周期将会经历加载,验证,准备,解析,初始化,使用和卸载七个阶段。在这个图中,加载,验证,准备,初始化和卸载这五个阶段的开始顺序是确定的(注意确定的只有开始顺序,完成顺序不确定),而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定特性(也称为动态绑定或晚期绑定)...
原创
发布博客 2020.04.16 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《深入理解Java虚拟机》学习总结-对象(创建过程,内存布局,访问定位)

一.对象的创建当Java虚拟机遇到一条字节码new指令时,首先会去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用所代表的类是否已被加载、验证、准备、解析、初始化过,如果没有,那必须先执行相应的类加载过程。类加载完成后,接下来虚拟机将为新生对象分配内存。对象所需内存大小在类加载完成后便可完全确定,内存分配完毕后,虚拟机必须将分配到的内存空间(不包括对象头)都初始...
原创
发布博客 2020.04.16 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

《深入理解Java虚拟机》学习总结-运行时数据区域

Java虚拟机运行时数据区域可划分为以下5个部分:虚拟机栈,本地方法栈,程序计数器,堆,方法区虚拟机栈虚拟机栈是线程私有的数据区,他的生命周期与线程相同。虚拟机栈中划分了若干个栈帧,每个栈帧对应了一个方法,用于存储局部变量表、操作数栈,动态链接、方法出口等信息。1)局部变量表:局部变量表是一组变量值的存储空间,用于存储线程中方法内部定义的局部变量及方法参数,局部变量表以变量槽为最小...
原创
发布博客 2020.04.16 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《计算机网路:自顶向下方法》第三章学习总结

1.运输层与网络层的关系?网络层提供了主机间的逻辑通信,而运输层提供了不同主机间进程之间的逻辑通信,在端系统中,运输层协议将来自应用进程的报文移动到网络边缘(即网络层)2.TCP和UDP最基本的责任?将两个端系统间IP的交付服务扩展为运行在端系统上两个进程之间的交付服务将主机交付扩展到进程间交付被称为运输层的多路复用与多路分解3.UDP所能提供的服务?进程到进程的数据交付和...
原创
发布博客 2020.03.24 ·
512 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

多路分解和多路复用概念

多路分解:在接收端,运输层检查报文段,标识出接收socket,进而将报文段定向至该socket,将运输层报文段交付至正确的socket称为多路分解。多路复用:从源主机的不同socket收集数据块,并为每个数据块装上首部信息(这将在以后用于分解)从而生成报文段,然后将报文段传递至网络层,所有这些工作称之为多路复用...
原创
发布博客 2020.03.18 ·
1305 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

计算机网络:自顶向下方法 第二章课后习题

1.列出五种非专用的因特网应用和其对应的协议答:(1)Web应用和HTTP协议 (2)电子邮件应用和STMP(简单邮件传输协议),POP3(第三版邮局协议),IMTA(因特网邮件访问)协议 (3)因特网目录DNS和DNS协议 (4)P2P和P2P协议 (5)文件传输和FTP协议 (6)远程终端访问和Telent2.网络体系结构和应用程序体系结构有什么区别答:从应用程序研发者的角度来看,...
原创
发布博客 2020.03.18 ·
5772 阅读 ·
0 点赞 ·
0 评论 ·
27 收藏

Spring上下文属性配置及标签使用总结

一.声明一个简单的<bean>如果使用XML文件来装备bean的话,那么<bean>标签是不可或缺的,首先我个人认为,bean其实就是一个对象,我们通过配置bean将对象置于一个容器中去,当我们需要时,这个容器就能够传递给我们需要的对象。<bean>标签经常用到的属性有两个 id,class,id属性的值其实就相当于bean的名字,也就是对象的名字,而c...
原创
发布博客 2020.02.20 ·
523 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多