01 2020 档案
摘要:计算机网络太难?了解这一篇就够了 【原文链接】 【HTTP相关部分面试题】 1、谈下你对五层网络协议体系结构的理解?★★★★★ 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI (七层)和 TCP/IP(四层) 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。 1.
阅读全文
摘要:461.汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4 输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应
阅读全文
摘要:337.打家劫舍Ⅲ 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚
阅读全文
摘要:253.会议室Ⅱ 带解锁 279.完全平方数 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1:输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13
阅读全文
摘要:207.课程表 现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1:输入: 2, [[1,0]],
阅读全文
摘要:162.LRU缓存机制 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key
阅读全文
摘要:75.颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输
阅读全文
摘要:102.二叉树的层序遍历 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 分析:使用队列 1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5
阅读全文
摘要:JDK 7 引入了 Asynchronous I/O,即 AIO。在进行 I/O 编程中,常用到两种模式:Reactor和 Proactor。Java 的 NIO 就是 Reactor,当有事件触发时,服务器端得到通知,进行相应的处理。AIO 即 NIO2.0,叫做异步不阻塞的 IO。AIO 引入异
阅读全文
摘要:一、零拷贝 1.介绍 零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽。 优点: 减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务 减少内存带宽的占用 通常零拷贝技术还能够减少用户空间和操作系统
阅读全文
摘要:一、Selector 1. 基本介绍 ① Java 的 NIO,用非阻塞的 IO 方式。可以用一个线程,处理多个的客户端连接,就会使用到Selector(选择器)② Selector 能够检测多个注册的通道上是否有事件发生(注意:多个Channel以事件的方式可以注册到同一个Selector),如果
阅读全文
摘要:本章内容: 1.Buffer 2.Channel 一、Buffer 1.基本介绍 缓冲区(Buffer):缓冲区本质上是一个可以读写数据的内存块,可以理解成是一个容器对象(含数组),该对象提供了一组方法,可以更轻松地使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。Chann
阅读全文
摘要:46.全排列 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2] [2,1,3], [2,3,1], [3,1,2], [3,2,1]] 1 class Solution { 2 3 List<List<Integer>> r
阅读全文
摘要:本章内容: 1.NIO基本概念 2.NIO、BIO比较 3.NIO三大核心原理示意图 一、NIO基本概念 1. Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(
阅读全文
摘要:本章介绍: 1.BIO基本介绍 2.BIO工作机制 3.BIO应用实例 4.BIO问题分析 一、BIO基本介绍 1.Java BIO 就是传统的java io 编程,其相关的类和接口在 java.io 2.BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有
阅读全文
摘要:I/O 模型简单的理解就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。 BIO、NIO、Netty 一、Java支持的三种网络编程模型/IO模式 1. BIO:同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,
阅读全文
摘要:本节内容 1.同步 2.异步 3.阻塞 4.非阻塞 一、同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任
阅读全文
摘要:本章内容: 1.HTTP重定向 2.DNS域名解析 3.反向代理服务器 4.网络层 5.链路层 上一章节讲述了负载均衡时如何选择目的转发服务器IP地址,这章主要讲述如何实现转发。 一、HTTP重定向 HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服务器的 IP 地址之后,将该地址写入 H
阅读全文
摘要:本章内容: 1.轮询 2.最少链接 3.随机算法 4.源地址哈希法 5.加权轮询、加权最少连接、加权随机 【准备:客户端请求IP】 1 public class IpMap 2 { 3 // 待路由的Ip列表,Key代表Ip,Value代表该Ip的权重 4 public static HashMap
阅读全文

浙公网安备 33010602011771号