自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 ArrayList的size、内部数组的length和序列化及反序列化

前言:抽时间看了一下ArrayList的代码,主要关注了它的序列化和反序列化这一块,因为这里有一个很有意思的点——用于保存数据的内部数组是使用transient修饰的。了解序列化知识的人都知道,如果一个变量被transient修饰的话,那么在序列化的时候它就会被忽略(当然了这里是针对Serialization这个接口),通常我们使用它来修饰一些我们不希望被序列化的数据,以达到保护的目的。但是,这里就会产生一个疑问,为什么ArrayList用于存储数据的内部数组elementData要使用transient

2020-08-29 15:48:50 2507

原创 HTTP首部——分块传输和持久连接

前言:最近写了几篇博客,讲解了几个HTTP首部,感觉自己对于知识的理解还行。现在让我们来了解以下分块传输和持久连接的概念吧。本来,我是不准备写关于持久连接的部分的,因为我都是使用socket模拟的短连接,基本用不上持久连接。但是当我使用分块传输的时候,它有一个特点。因为不适用分块连接的话,默认是有一个Content-Length首部的,但是使用了分块传输的话,就没有这个首部了。这样我的程序就很难终止了(但是也是有方法的)。所以,索性就一起都写入博客了!分块传输分块编码是属于传输编码这个范围的,不过我也

2020-08-17 20:56:41 4285 4

原创 HTTP首部——Content-Type的作用

前言对于我们习以为常的东西,却没有仔细思考它的作用。 HTTP的首部都各有个的价值,最近看到这个Content-Type,忽然让我想起来以前自己的一个小小的失误,而产生了一个bug。但是当时却搞得我焦头烂额,我在网络上查找了一圈也没有发现什么解决方案。最后,还是自己发现了写错的地方,而这个错误就是由于Content-Type所引起的。作为一名应用软件程序员,从计算机网络的角度来看,我们是工作在应用层的。所以对于应用层使用广泛的HTTP协议,还是要多了解一些。这样也有助于我们更好的理解应用,当出现我上面的这

2020-08-15 20:00:51 4118

原创 HTTP报文的内容编码——压缩报文实体

前言: 目前在看HTTP关于实体部分的内容编码部分,是一个很有趣的东西。在这里简单记录一下,学习到的概念,并通过两个程序来实际测试一下内容编码在传输上的效率。

2020-08-11 21:41:17 1699

原创 字节码文件的版本和UnsupportedClassVersionError

前言: 我们都知道JDK的不同版本编译的程序是有标识的,如果直接复制别人的class文件,在自己的机器上可能会遇到兼容性问题。如果对方的JDK版本太高了,自己无法运行他的字节码文件。但是,我这里有两个疑问:1.到底是什么决定了class文件的版本?2.低版本的jdk或者jre真的就无法运行高版本jdk编译出的class文件了吗?注意:class文件或字节码文件指的都是Java源文件经过javac编码后产生的.class后缀文件。...

2020-08-10 22:05:27 575

原创 Http的范围请求与断点下载的原理

前言: 我最近在看**《HTTP权威指南》**,学习到了范围请求的概念。它也解开了我一直以来的疑惑,当初使用学习《疯狂Java讲义》的时候,曾经实现了书上的那个多线程下载,但是当时其实也是不太理解,只是知道对于一个网络上的文件,可以跳过前面的某一部分,然后读取另一部分。不过当时也没有学习计算机网络,确实对于这方面没有什么清晰的概念。参考博文:多线程断点复制Java多线程和IO流的应用这个对于输入流调用这个skip方法,跳过前面不需要读取的字节数,其实是很高级的用法了,至少隐藏了一些HTTP的实现细节

2020-08-09 15:11:43 695

原创 webmagic初次尝试——写给女生看的爬虫

前言: 最近简单学习了一下一个比较知名的Java爬虫框架——webmagic。虽然还是不太理解它的整体结构,但是用来爬取数据,应该是没有问题了。而且,我发现它和我使用HttpClient和Jsoup这两个框架(类库)的时候,思考不太一样。使用上面两种工具,对网络数据进行爬取,还是比较原始的。因为爬虫其实涉及了到了很多知识,并不是简单的发起请求和接收响应,例如:URL调度、URL去重。这些东西以前都没有考虑到,对于URL调度来说,基本上没有调度,看到就爬了。这种对于小型网站或者单独的页面似乎是没有问题,但是对

2020-08-03 23:48:05 481

原创 TCP长连接和短连接代码及其比较

前言: 最近又看到了关于TCP长连接和短连接的概念,以前也看过Http长连接和短连接的概念,因为Http是建立在TCP协议之上的,所以它其实是依赖TCP的长连接和短连接。所以,我就萌生了一个想法,看看这两种方式的传输效率上到底有多大差别——实践出真知!或者 Takl is cheap, show me your code!TCP长连接和短连接长连接是指可以实现服务端和客户端之间连续的传输数据,在传输的过程中,连接保持开启,并不中断,数据传输完成后连接不关闭。短连接是指当服务器端和客户端连接成功后开始传

2020-08-02 13:49:43 2257

COCA2000单词的字典树分析

COCA20000单词生成的字典树,包括单词本身,字典树的 json 表示,字典树的 dot 语言表示,生成的 svg 文件和 pdf 文件。

2024-06-02

顺序表的实现(C语言)

C语言实现顺序表的操作,简单参考一下,相互交流学习。使用 C语言的顺序表的实现比较简单,是以前学习数据结构时专门记录的,有点帮助。

2019-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除