- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 【Java虚拟机系列(二)】自动内存管理
看山是山、看山不是山、看山还是山,说的是不同的境界。初学Java,只需要API堆叠,加上自带的各种数据结构一顿操作就可以让系统跑得好好的,不需要关心应用的内存问题。慢慢的知道了编码过程需要考虑各种简单的优化技巧,如大字符串拼接适用StringBuffer/StringBuilder代替、List/Map等数据结构在使用时设置合适的初始容量,避免使用过程频繁扩容等,开始了解到其实是需要关注应...
2018-07-24 23:05:45
270
原创 【网络&通信协议系列(五)】长、短链接与WebSocket协议
大部分开发者接触 长连接 概念可能都是通过: HTTP 1.1 版本默认采用长连接,通过头部的Connection:Keep-Alive实现。通过TCP/IP协议栈的学习,我们知道HTTP其实是基于TCP的应用层协议。而世界所谓的短连接与长连接,其实就是指TCP的长、短连接。概念短连接:每一次客户端请求-服务端响应的过程都需要建立一个新的连接,也就是说每一次连接都需要经过完整...
2018-07-21 02:35:58
325
原创 【网络&通信协议系列(四)】TCP拥塞控制
拥塞现象是指到达通信子网的某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分甚至整个网络性能下降的现象,严重时可能导致网络通信业务陷入停顿即出现死锁现象。简单点说,受限于网络状况、带宽以及应用请求处理能力等因素,TCP传输会出现超时、发送失败、重发等现象,要解决拥塞问题,除了增加通信链路带宽、链路缓存以及处理器处理能力外,还需要引入拥塞控制机制;经过长时间的发展,TC...
2018-07-19 22:46:32
319
原创 RSA实现原理
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。是最常用、安全的非对称加密算法,通常用来通信加密与签名认证,如HTTPS、SSH秘钥对连接方式以及众多商业公司的开放接口的签名认证都有其身影,公钥公...
2018-07-18 21:46:42
417
原创 使用RSA密钥对登录SSH服务器
创建密钥对使用openSSL或xshell的密钥生成工具,生成公私钥对,推荐使用xshell工具。使用openSSL生成密钥对(需要linux或gitbash,安装对应工具):ssh-keygen -t rsa -f liaoxudong.pem -C "私钥" -b 4096(-t 类型 -f 私钥名 -C 描述信息 -b 生成公私钥位数)使用xshell生成密钥对(可视化操作,需要...
2018-07-17 17:24:20
1915
原创 Java数据类型详解
两大数据类型基本数据类型:byte、short、int、long、float、double、char、boolean 引用数据类型:对象、数组等,另外为符合面向对象特征,Java中每一种基本数据类型都有对应的包装类:Byte、Short、Integer、Long、Float、Double、Character、Boolean,并且提供自动拆装箱功能。基本数据类型boolean位...
2018-07-16 22:28:18
1208
原创 Let's Encrypt 申请HTTPS证书流程
准备工作:域名可供解析的服务器(或使用ngrok将需要生成证书的域名映射到具体的http服务器地址)申请官网地址:Let’s Encrypt、Certbot流程打开Certbot网址,选择使用服务器与操作系统,如下: 使用如上命令在对应服务器安装好certbot后,使用:sudo certbot certonly命令安装,certbot (实际上是 certbot-au...
2018-07-15 12:48:27
5074
原创 【网络&通信协议系列(三)】HTTPS实现原理
概述HTTPS=HTTP+TLS,HTTP全称超文本传输协议,是基于TCP的无状态协议,通信是以明文的形式,是现阶段互联网中广泛采取的通信协议。因为通信报文使用明文形式,所以会存在安全性问题,为了解决安全性问题,便引入了对HTTP进行SSL加密的方式,经过演变最终形成了现在的HTTPS通信协议。实现原理通过非对称加密握手建立连接,然后使用对称加密通信。说到HTTPS就不能不提CA,...
2018-07-15 11:55:47
445
原创 【网络&通信协议系列(二)】TCP/IP协议栈
最开始要说明的是,日常接触到的”TCP/IP协议”其实指的是TCP/IP协议栈,既然是协议栈 ,也就是一系列协议,今天这一篇就详细的讲讲这个构成现代网络通信的最基础的系列协议。OSI与TCP/IP网络模型学过计算机网络的同学对网络模型划分应该不陌生,标准有OSI七层结构以及现在流行的TCP/IP四层模型(也有说五层的,差不多),比较如下(图片来源于网络): OSI模型划分:应用层...
2018-07-15 01:59:49
487
原创 【网络&通信协议系列(一)】DNS解析详解
相关名词域名 维基百科:是用一串由点分隔的名字组成的Internet上某个计算机或计算机组的名称,用于在数据传输时标志计算机的电子方位; 其实就是日常说的网址,如:www.google.com、www.baidu.comIP地址 维基百科:网络协议地址(Internet Protocol Address),是分配给网络上使用网络协议设备的数字标签,分为IPv4、IP...
2018-07-13 15:17:45
779
原创 【预览/目录】知识体系思维导图
思维导图是一个好东西,特别是需要对整体概览的场景下。昨晚打游戏的间隙大致列了一下,以后再慢慢增加完善。 接下来就以这张图为主要脉络,准备先从右上角的网络相关的开始详细铺开。...
2018-07-13 11:24:18
509
原创 【序】为什么要进行系统的知识体系整理
不知道怎么回事,时常焦虑,认为自己会的东西太少。而实际上,凭借个人兴趣与一份好学进取之心,知识面相对来说是比较广的。可能的原因是知识体系没有经过系统性整理,经常性的捡西瓜丢芝麻,学而时忘之。出道4年了,是时候梳理一下自己的知识框架体系了。这个想法也不是突然冒出来的,早期考虑到会的东西并不多,整理的必要性不大(事实上这是错误的结论,应该早点做这件事)。考虑拓展学习新的知识,学习是需要驱动力的...
2018-07-13 10:49:30
474
原创 【Java虚拟机系列(一)】---从一次简单调优开始
今天在开发时,有个场景用到了大对象用于本地缓存,突然想看看应用的内存与垃圾回收情况。便决定从开发过程入手,详细分析一下应用的JVM情况。在查看过程中果然发现默认配置在启动过程中就出现过几次FullGC,所以开始着手调优。本文环境Java8SpringBoot应用IDEA使用默认配置情况启动应用查看本次启动的默认配置应用启动成功后,切换到terminals,使用j...
2018-06-07 17:12:16
339
原创 由LeetCode_633题引发的对算法时间复杂度的思考以及ArrayList和HashSet底层实现的巩固
今天在LeetCode刷题时碰到一个“怪题”,说难也不难,说不难我又花了很长时间,并且一直被困扰其中。百度参考别人意见,到最后解决,这个过程思考了很多,现在记下来。原题:633. 平方数之和 描述: 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + ...
2018-06-06 22:15:26
736
原创 vmWare10安装gentoo备忘
1.准备工作 良好网络环境2.新建虚拟机 硬盘格式为IDE cd选择安装目录:install-x86-minimal-20140415.iso3. 打开虚拟机 在boot目录下直接enter键进入安装 等待进入到livecd ~ #4. 配置网络 先ping baidu.com能连上就不配了,虚拟机一般能连上5
2014-04-29 21:55:05
1042
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人