作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~整个过程大致的的流程是:在浏览器地址栏输入某个网站的URL浏览器通过DNS服务,查询域名的IP地址(浏览器缓存-->操作系统hosts缓存--->...
如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类;int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integeri=1;intii=1;i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。首先看代码:首...
一、使用两个线程交替打印输出“1A2B3C.....26Z”具体描述:使用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C......26Z1、LockSupport使用JUC下的LockSupport工具类我们可以精确的阻塞或唤醒一个线程,并且LockSupport不需要配合ObjectMonitor使用,非常方便。这里我们主需要开启两个线程,然后各自在打印完之后唤醒对方并阻塞自...
Hashtable是一个比较古老的Map实现类,从它的名称就可以看得出来,因为没有遵循Java语言的驼峰命名规范,这可能是开发者的疏忽导致的吧。它和HashMap很像,同属于散列表,都可以存储K-V键值对,并且都可以实现O(1)的查找时间复杂度。有以下特性:1、首先就是线程安全,这也估计算是唯一一个优于HashMap的特性了吧;2、Hashtable不允许key或者value为null;3、...
0、算法概述0.1算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果...