软件基础 看完这篇文章,我奶奶都懂了https的原理 HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。 2019-05-21 浏览(10,597) 评论(7) 阅读全文
软件基础 救救孩子吧,到现在还搞不懂TCP的三次握手四次挥手 TCP全称为Transmission Control Protocol(传输控制协议),是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。 2020-08-15 浏览(3,548) 评论(0) 阅读全文
编程语言 for与foreach在遍历集合时的差别你竟然不知道? 在java中,遍历方式的写法有多种!但是底层无非就是for循环和迭代器两种方式!这两种遍历方式都能达到遍历集合的效果,但是在效率上孰优孰劣呢?这个就得从底层源码去寻找答案了! 2020-07-08 浏览(2,282) 评论(0) 阅读全文
编程语言 从集合的遍历看迭代器模式 做为后台开发人员,集合类的知识是我们必须要掌握的!我们在对集合进行遍历时有多种方式,而通多迭代器进行遍历比较常用!迭代器模式提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。 2020-07-07 浏览(2,390) 评论(0) 阅读全文
编程语言 带你分析阻塞队列的源码实现 阻塞队列阻塞队列是一种队列,一种可以在多线程环境下使用,并且支持阻塞等待的队列。从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉其背后的原理还是很有帮助的。本文我们就分析几个BlockingQueue常用的实现类源码。 2020-03-01 浏览(2,989) 评论(0) 阅读全文
编程语言 带你分析线程的状态及线程通信机制 多线程编程一直是普通程序员进阶为高级程序员的必备技能之一!他很难,难就难在难以理解、难以调试,出现了bug很难发现及排查。他很重要,因为我们可能随时都面对着线程的切换、调度,只是这些都由CPU来帮我们完成我们无法感知。 2020-02-22 浏览(2,944) 评论(0) 阅读全文
软件基础 假如古代皇帝也懂负载均衡算法 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。 2020-01-12 浏览(3,254) 评论(1) 阅读全文
软件基础 不懂数据库索引的底层原理?那是因为你心里没点b树 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。 2019-06-16 浏览(8,305) 评论(5) 阅读全文
软件基础 看完此文,妈妈还会担心你docker入不了门? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 2019-05-31 浏览(9,306) 评论(2) 阅读全文
编程语言 带你理清Thread、Runnable、Callable、FutureTask之间千丝万缕的联系 多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。Java自从1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。今天我们就来讨论一下Thread、Runable、Callable、FutureTask之间的联系! 2019-05-22 浏览(4,867) 评论(2) 阅读全文