计算机理论基础
文章平均质量分 76
力扣小男孩
菜鸟的进阶之路。
展开
-
运输层协议之TCP UDP
因特网为应用程序提供两个运输层协议。即TCP/UDP。当你对因特网创建一个新的应用时,首先要做出的决定是,选择UDP还是TCP。每个协议为调用他们的应用程序提供了不同的服务集合。如图所示接下来对这两种传输方式进行介绍1.TCP服务TCP服务模型包括面向连接的服务和可靠数据传输服务。当某个应用程序调用TCP作为其运输协议时,该应用程序就能获得来自TCP的两种服务。 面向连接的服务:在应用层数据...原创 2018-06-18 12:04:12 · 510 阅读 · 0 评论 -
Java运算符及其优先级
尊重原创:(口诀)转自http://lasombra.iteye.com/blog/991662 今天看到《java编程思想》中的运算符优先级助记口诀,不过“Ulcer Addicts Really Like C A lot”在中文语境下不好记。我试着写一个口诀: 单目乘除为关系,逻辑三目后赋值。 单目:单目运算符+ –(负数) ++ -- 等 乘除:算数单目运算符* / % +...转载 2018-09-03 22:20:14 · 161 阅读 · 0 评论 -
记录一道题,这里是个盲点
A.for循环的话,很灵活,但是代码不够简洁.B.System.arraycopy()源码。可以看到是native方法:native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。 可以将native方法比作Java程序同C程序的接口。如果是复制一个一位数组,那么改变复制后的数组并不影响原数组。但是如果复制一个二维数组...转载 2018-09-03 22:55:07 · 192 阅读 · 0 评论 -
HashTable与HashMap
Hashtable的应用非常广泛,HashMap是新框架中用来代替Hashtable的类,也就是说建议使用HashMap,不要使用Hashtable。可能你觉得Hashtable很好用,为什么不用呢?这里简单分析他们的区别。1.Hashtable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。查看Hashta...转载 2018-09-06 15:20:39 · 240 阅读 · 0 评论 -
进程与线程总结(比较全面)
1.进程和线程1.1 概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个...转载 2018-10-11 23:13:58 · 495 阅读 · 0 评论 -
Java异常总结
Java 异常的概念 Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个异常类来表示,不同类型的异常对应不同的子类异常(目前我们所说的异常包括错误概念),定义异常处理的规范,在JDK1.4版本以后增加了异常链机制,从而便于跟踪异常。 Java异常是一个描述在代码段中发生异常的对象,当发生异常情况时,一个代表该异常的对象被创建...转载 2018-10-11 23:57:32 · 263 阅读 · 0 评论 -
Java异常常见面试问题总结
Java提供了一个健壮的、面向对象的方法来处理出现异常,称为Java异常处理。 我以前写过一篇长文章来介绍Java异常处理,今天我将列出一些重要的Java异常面试的问题及答案,希望对你们的面试有所帮助。1.什么是Java异常答:异常是发生在程序执行过程中阻碍程序正常执行的错误事件。比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。 只要在Java语句执行中产生了异常,一个异常对...转载 2018-10-11 23:59:33 · 142 阅读 · 0 评论 -
简单理解交换机、路由器、网关的概念,并知道各自的用途
1)交换机在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背 部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部 交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机...转载 2018-10-28 23:54:52 · 1353 阅读 · 0 评论 -
自定义类型是否可以作为Map的Key问题
虽说经常用map,但是我用它的时候,key都是用String或者Integer类型,今天偶然想到,可不可以用自己定义的对象作为map的key呢?talk is cheap give me codeclass Student{ private String name; private String sex; public String getName() { ...原创 2019-04-27 10:53:02 · 1212 阅读 · 0 评论 -
网络中的拓扑结构
一.星型拓扑结构星型拓扑结构是目前应用最广、实用性最好的一种拓扑结构,这主要是因为它非常容易实现网络的拓展。星型拓扑结构又叫集中式拓扑结构,是因集线器或交换机连接的各节点呈星状分布而得名,在这种拓扑结构的网络中有中央节点(集线器或交换机),其他节点(工作站、服务器)都与中央节点直接相连。星型拓扑结构的优点:1.节点扩展、移动方便2.网络传输数据快3.维护容易缺点:1.核心交换机...转载 2018-09-08 09:41:13 · 3252 阅读 · 0 评论 -
B树与B+树学习笔记
一般情况下,我们所讨论的数据结构,都是处理在内存中的数据。因此考虑的都是内存中的运算时间复杂度。如果我们要操作的数据集非常大,达到内存已经没办法处理了怎么办呢?如数据库中的上千万条记录的数据表。硬盘中的上万个文件等。在这种情况下,对数据的处理需要不断从硬盘灯存储设备中调入或调出内存页面(页面调度算法)。一旦涉及到这样的外部存储设备。关于时间复杂度的计算就会发生变化,访问该集合元素的时间已经...原创 2018-09-02 23:40:21 · 222 阅读 · 0 评论 -
计算机中位运算的总结
各种位运算的使用 === 1. and运算 === and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数. === 2. or运算 === or运算通常用于二进制特定位上的无条件赋值,例如一个数or 1的结果就是把二进制最末位强行变成1。如果需要把二进制最...原创 2018-06-20 10:29:15 · 560 阅读 · 0 评论 -
最短路径的问题----单源最短路径
算法老师在最短路径问题上讲了很多,在讲了贪心算法之后。紧接着讲最短路径,可以说是一脸懵逼。最近开始复习,总结一下。方法大约有这些。定义:最短路径即拥有最小权重的路径p;路径定义:p=<V0,V1,...,Vk>,其中当0<=i<k时,有(Vi,Vi+1)组成一条边。路径的权重:所有路径权重之和。加上权重的数学表示方式1.边存在权重的图:G(V,E,W),W是一个函数,作用于...原创 2018-07-09 21:13:22 · 8172 阅读 · 0 评论 -
二叉树遍历总结
这里只是整理好了代码。import java.util.Stack;/** * Created by ql on 2018/7/10. */class node{ public int value; public node left; public node right; public void node(int data){ this.v...原创 2018-07-10 17:16:02 · 431 阅读 · 0 评论 -
栈相关问题
【问题】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)【思路】借用一个辅助的栈,遍历压栈顺序,先将第一个放入栈中,这里是1,然后判断栈顶元素是不是出...原创 2018-04-13 17:14:29 · 109 阅读 · 0 评论 -
UDP小结(一)
运输层概述运输层位于应用层和网络层之间,是分层网络体系结构中的重要部分,该层为在运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。通常我们比较关注的就是TCP和UDP运输层协议。网络层的两个端系统之间的交付服务扩展到运行在两个不同端系统上的应用层进程之间的交付服务。两个主要的问题就是:1.两个实体怎样才能在一种会丢失或损失的媒体上可靠的通信。2.控制运输层实体的传输速率以避免...原创 2018-07-19 22:14:16 · 483 阅读 · 0 评论 -
TCP小结
TCP是因特网运输层的面向连接的可靠的运输协议。为了提供可靠数据传输,TCP依赖于差错控制,重传,累积确认,定时器以及用于序号和确认号的首部字段。 TCP被称为是面向连接的,这是因为在一个应用程序可以开始向另一个应用进程发送数据之前,这两个进程必须先相互“握手”,即他们必须相互发送某些预备子弹,以及确保数据传输的参数。作为TCP连接建立的一部分,连接的双方都将初始化...原创 2018-07-25 23:43:34 · 182 阅读 · 0 评论 -
双调数组的查找
题目要求:/** * Created by ql on 2018/7/15. * 双调函数 * An array is bitonic if it consists of a strictly increasing sequence of keys immediately followed by * a strictly decreasing sequence of keys * Des...原创 2018-07-15 18:14:00 · 740 阅读 · 1 评论 -
一篇很不错的单例模式详解
1、什么是设计模式? 首先我们来看第一个问题什么是设计模式?在百度百科中它的定义是这样的: 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。(百度百科) 其实设计模式是人们实践的产物,在初期的开发过程中好多人发现再进行重复的代码书写,那些开发大牛们就不断总结、抽取最终得到了大家的认可于是就产生了设计模式,其实设计...转载 2018-09-04 09:16:46 · 3359 阅读 · 1 评论 -
写给自己的单例模式手撕代码
import java.util.concurrent.atomic.AtomicReference;/** * Created by ql on 2019/5/7. * 手撕单例模式饿汉式,懒汉式,双重校验锁,枚举类型,静态内部类,cas模式 */public class Danli {//懒汉式,但是线程不安全 private static Danli instance ...原创 2019-05-07 16:50:33 · 293 阅读 · 0 评论