Java基础知识收集笔记(1)

JDK、JRE、JVM


JDK

  • 全名:Java Development Kit
  • 含义: Java开发工具包

JRE

  • 全名:Java runtime environment
  • 含义: Java运行环境

JVM

  • 全名: Java Virtual Machine
  • 含义: Java虚拟机

HashMap如何实现Key的唯一性?

容器中的元素全部存储在HashTable中,每一个被添加的元素都有一个hashCode。当两个不同的元素拥有相同的hashCode时,就发生了哈希冲突。不同元素添加进HashTable时,若去比较hashCode,若hashCode相同的话,JVM调用equals()方法,若返回true,JVM就认为数据已经存在,不会添加数据。
这里写图片描述

HTTPS

网景在1994年创建HTTPS,与SSL一起使用;在SSL逐渐演变到TLS时(其实两个是一个东西,只是名字不同而已),最新的HTTPS也由在2000年五月公布的RFC 2818正式确定下来。现在,谷歌已将HTTP标为不安全,推荐使用HTTPS。

HTTPS与HTTP的一些区别

HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。
HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。
这里写图片描述

HTTPS带来的一些问题

安装CA证书,一般的证书都是需要收费的,这边推荐一个比较好的购买证书网站:1)Let’s Encrypt,免费,快捷,支持多域名(不是通配符),三条命令即时签署+导出证书。缺点是暂时只有三个月有效期,到期需续签。2Comodo PositiveSSL,收费,但是比较稳定。
在购买证书之后,在证书提供的网站上配置自己的域名,将证书下载下来之后,配置自己的web服务器,同时进行代码改造。
HTTPS 降低用户访问速度。SSL握手,HTTPS 对速度会有一定程度的降低,但是只要经过合理优化和部署,HTTPS 对速度的影响完全可以接受。在很多场景下,HTTPS 速度完全不逊于 HTTP,如果使用 SPDY,HTTPS 的速度甚至还要比 HTTP 快。
相对于HTTPS降低访问速度,其实更需要关心的是服务器端的CPU压力,HTTPS中大量的密钥算法计算,会消耗大量的CPU资源,只有足够的优化,HTTPS 的机器成本才不会明显增加。
推荐一则淘宝网改造HTTPS的文章。

参考链接:http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/

猜你喜欢

转载自blog.csdn.net/tcap99/article/details/82284422