- 博客(37)
- 收藏
- 关注
转载 关于 ”同步与异步“ 和 “ 阻塞和非阻塞”
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待...
2019-09-03 16:39:00 136
转载 对数组进行旋转
实现一个方法,该方法用于将一个n*n的二维数组逆时针旋转45度后打印。 分析:从右上角开始对数组中的元素进行输出。 def rotateArr(arr): lens = len(arr)# 打印二维数组右上半部分 i = lens - 1 while i > ...
2019-08-27 10:51:00 196
转载 算法&字符串反转
把字符串“i am a student.”,翻转为“i ma a .tneduts” 一、常规方法 思路: 将字符串通过空格分割成数组 将数组中的元素再做反转 将反转后的数组变成字符串 /** 字符串反转 @note ...
2019-08-26 10:17:00 462
转载 关于算法空间复杂度
空间复杂度: 算法的空间复杂度并不是计算实际占用的空间,而是计算整个算法的辅助空间单元的个数,与问题的规模没有关系。算法的空间复杂度S(n)定义为该算法所耗费空间的数量级。 S(n)=O(f(n)) 若算法执行时所需要的辅助空间相对于输入数据量n而言是一个常数,则称这个算法的辅助空间为O(...
2019-08-25 11:11:00 558
转载 HTML中  和空格的区别
在html代码中,使用转义字符 表示1个空格,而使用转义字符&表示 &。 1、在html代码中 和空格的区别: 在html代码中每输入一个转义字符 就表示一个空格,输入十个 ,页面中就显示10个空格位置。...
2019-08-24 10:41:00 2303
转载 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url。...
方案1:可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将url分别存储到1000个小文件(记为a0,a1,....
2019-08-23 10:29:00 489
转载 java中类与方法的关系
类,就是一类事物的抽象。所以说类就是一个模板,不能做任何实际的工作。但是类可以产生一个个功能相似的实体,就是对象,它们根据同一个类构造,具有实际的行为,就是方法。 举个例子,人,是一个类。打酱油,是人的一个动作, 也就是方法。小红是人的一个对象。让小红去打酱油,就是调用了人的 “打酱...
2019-08-22 21:50:00 1041
转载 关于JS中的正则表达式
正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。这些模式被用于RegExp的exec和test方法, 以及String的match、matchAll、replace、search和split方法。 创建一个正则表达式 可以...
2019-08-21 11:31:00 73
转载 关于 Lambda表达式 的作用
一: 直接把代码块赋值给变量 我们知道,对于一个Java变量,我们可以赋给其一个“值”。 如果你想把“一块代码”赋给一个Java变量,应该怎么做呢? 比如,如下 在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。 Lambda表达...
2019-08-20 10:42:00 218
转载 关于Java异常
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(100/0),那么你是因为你用0做了除数,会抛出 java...
2019-08-19 21:44:00 76
转载 关于Java 中的Queue
一、队列的定义 我们都知道队列(Queue)是一种先进先出(FIFO)的数据结构,Java中定义了java.util.Queue接口用来表示队列。Java中的Queue与List、Set属于同一个级别接口,它们都是继承于Collection接口。 Java中还定义了一种双端队列java....
2019-08-16 09:56:00 109
转载 关于git的一些命令
1. Git简介 // 1. 创建版本库 $ cd:e // 切换盘符 $ cd .. // 回到文件上一层(注: cd与..中间有个空格) $ cd ~ // 回到当前目录的主目录 $ mkdir Git // 创建文件夹Git $ touch fileName // 新建文件 ...
2019-08-14 11:05:00 89
转载 java中String、StringBuilder、StringBuffer的区别
一、认识String String类型是不可变类型,为了保持文章的独立性,还是拿出来这个老掉牙的例子: 在这里我们一开始给变量a赋值为“张三”,后来又赋值为"李四",是不是有个疑问,不是说String类型不可变嘛,在这里怎么变了,想要解决这个问题,我们还要深入String源码。下...
2019-08-13 10:41:00 93
转载 关于快速排序
假设我们现在对“612 79345 108”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的...
2019-08-12 20:30:00 119
转载 拓扑排序入门
在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。 先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。 一直做改操作,直到所有的节点都被分离出来。 如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的...
2019-08-11 20:55:00 95
转载 关于Java中HashMap
为什么用HashMap? HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快Hash...
2019-08-10 10:58:00 99
转载 关于Socket
什么是Socket? Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。如在Java中,有专门的Socket类来处理用户的请求和响应。利用Socket类的方法,就可以实现两台计算机之间的通讯。Java中S...
2019-08-09 10:16:00 129
转载 java中的线程池
1.进程-线程的简单介绍 进程 什么是进程呢? 进程是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源分配的调度的基本单位,是操作系统结构的基础。简单来讲:进程是指运行中的应用程序,进程是一个实体,每一个进程都有它自己的地址空间。例如我们点...
2019-08-08 11:19:00 80
转载 关于操作系统栈和堆
操作系统栈和堆 地址空间布局: 栈: 执行期间编译器自动分配,编译器用它实现函数调用,调用函数时,栈增长,函数返回时,栈收缩。局部变量、函数参数、返回数据、返回地址等放在栈中。 栈的特点 内存分配取决于编译器,用户栈在程序运行期间可以动态的扩展和收缩。 和数据结构中...
2019-08-07 09:59:00 232
转载 二叉树的一些性质
树的介绍 1. 树的定义 树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: (01) 每个节点有零个或多个子节点; ...
2019-08-06 08:34:00 291
转载 一些Javase基础
八种基本数据类型的大小,以及他们的封装类 八种基本数据类型:int、short、float、double、long、boolean、byte、char。 封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Charact...
2019-08-05 09:19:00 72
转载 Linux的中断机制
1.中断概念 中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部中断(又叫硬件中断)和内部中断(又叫异常)。...
2019-08-04 09:48:00 135
转载 事务的隔离级别
事务的四大特征: 1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。 2. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。 3. 隔离性:多个事务之间。相互独立。 4. 一致性:...
2019-08-03 10:00:00 156
转载 关于ip分片
在应用程序中,必须关心IP数据的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。如果需要,源目的端之间的每个网络都要进行分片, 并不只是发送端主机连接第一个网络才这样做。 分片是分组交换的思想体现,也是IP 协议解决的两个主要问题之一。在IP 协...
2019-08-02 08:32:00 560
转载 关于时间复杂度分析
我们假设计算机运行一行基础代码需要执行一次运算。 int aFunc(void) { printf("Hello, World!\n"); // 需要执行 1 次 return 0; // 需要执行 1 次} 那么上面这个方法需要执行 2...
2019-08-01 10:02:00 400
转载 关于MySQL的三大范式
什么是范式: 好的数据库设计对数据的存储性能和后期的程序开发,都会产生重要的影响。建立科学的,规范的数据库就需 要满足一些规则来优化数据的设计和存储,这些规则就称为范式。 三大范式: 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)...
2019-07-31 10:05:00 166
转载 关于ARQ与滑动窗口
TCP协议通过使用连续ARQ协议和滑动窗口协议,来保证数据传输的正确性,从而提供可靠的传输。 一、ARQ协议 ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基...
2019-07-30 10:13:00 304
转载 关于TCP三次握手和四次挥手
一、TCP三次握手 第一次握手 客户端向服务器发出连接请求报文,这时报文首部中的同部位SYN=1,同时随机生成初始序列号seq=x,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报...
2019-07-29 11:20:00 306
转载 字典树(Trie树)
一:什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想...
2019-07-28 17:10:00 342
转载 浅谈Java多线程
1、进程和线程 一个程序就是一个进程,而一个程序中的多个任务则被称为线程。 进程是表示资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位。 举个例子: 打开你的计算机上的任务管理器,会显示出当前机器的所有进程,QQ,360等,当QQ运行时,就有很多子...
2019-07-26 10:19:00 77
转载 Java JVM执行流程
一、JVM的体系结构 类装载系统 1、定位和导入二进制class文件 2、验证导入类的正确性 3、为类分配初始化内存 4、帮助解析符号引用 执行引擎 执行包在装载类的方法中的指令,也就是方法 运行区数据 虚拟机会在整个计算机内存中开辟一块内存存储JVM需要用到的对象,变量...
2019-07-25 10:03:00 186
转载 最近学习MySQL的一些笔记
SQL 语句分类 Data Definition Language (DDL 数据定义语言) 如:建库,建表 Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改 Data Query Language(DQL ...
2019-07-24 14:56:00 114
转载 浅谈堆排序
一:定义 堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆排序是一种树形选择排序,在排序过程中可以把元素看成是一颗完全二叉树,每个节点都大(小)于它的两个子节点,当每个节点都大于等于它的两个子节点时,就称为大顶堆,也叫堆有序; 当每个节点都小于等于它的两个子节点...
2019-07-23 10:21:00 167
转载 一道经典大数据面试题(2)——如何找出访问百度最多的IP
题目描述: 现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取某天访问百度次数最多的那个IP。 分析解答: 由于这道题只关心某一天访问BD最多的IP,因此可以首先对文件进行一次遍历,把这一天访问BD的IP的相关信息记录到一个单独的...
2019-07-22 10:05:00 105
转载 一道经典大数据面试题——如何从大量数据中找出高频词
题目:有一个1GB大小的文件, 文件里面每行是一 个词,每个词的大小不超过16B. 内存大小限制是1MB,要求返回频数最高的100个词。 分析解答: 由于文件大小为1GB,而内存大小只有1MB,因此不可能一次把所有的词读入到内存...
2019-07-22 09:58:00 1074
转载 如何优化冒泡排序和快排?
冒泡排序的优化: 1:加入哨兵 2:记住每一次交换的最后位置,该位置以后的为有序,不需要改变。 快排的优化: 1.当待排序序列的长度分割到一定大小后,使用插入排序。原因:对于很小和部分有序的数组,快排不如插排好。当待排序列的长度分割到一定大小后, 继续分割...
2019-07-21 10:48:00 234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人