
笔记
怦然心动cp
这个作者很懒,什么都没留下…
展开
-
大数据技术原理与应用(复习)
大数据第一章大数据的四个基本特性(p8)--4V数据量大(Volume)数据类型繁多(Variety)处理速度快(Velocity)价值密度低(Value)举例说明大数据的关键技术(p16)数据采集与预处理:利用ETL工具将分布在异构数据源中的数据抽取到临时中间层,最后加载到数据仓库或数据市集中成为联机分析处理、数据挖掘的基础。数据存储和管理:利用分布式文件系统、数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理。数据处理与分析:利用分布式...原创 2021-06-02 16:14:32 · 4254 阅读 · 1 评论 -
DNS查询服务器的基本流程
DNS查询服务器的基本流程假定域名为m.xyz.com的主机想知道另一台主机(域名为y.abc.com)的IP地址。例如,主机m.xyz.com打算发邮件给y.abc.com,此时,必须知道主机y.abc.com的IP地址:①主机m.xyz.com先向其本地域名服务器进行递归查询。②本地域名服务器采用迭代查询。它先向一个根域名服务器查询。③根域名服务器告诉本地域名服务器下一次该查询的顶级域名服务器的IP地址。④本地域名服务器向顶级域名服务器进行查询。⑤顶级域名服务器告诉本地域名服务器下一次应查询原创 2021-05-19 21:29:30 · 1397 阅读 · 0 评论 -
tcp的拥塞控制
拥塞控制的一般原理在计算机网络中的链路容量(带宽)、交换节点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。网络出现拥塞的条件:对资源的需求和>可用资源拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,网络能够承受现有的网络负荷。拥塞控制是一个全局的过程。tcp的拥塞控制方法tcp进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复。原创 2021-05-17 20:33:04 · 365 阅读 · 0 评论 -
设计模式的工厂模式
设计模式的工厂模式**简单工厂:**一个工厂类根据传入的参量决定创建出那一种产品类的实例。**工厂方法:**定义一个创建对象的接口,让子类决定实例化那个类。**抽象工厂:**创建相关或依赖对象的家族,而无需明确指定具体类。简单工厂先将产品类抽象出来,比如,苹果和梨都属于水果,抽象出来一个水果类Fruit,苹果和梨就是具体的产品类,然后创建一个水果工厂,分别用来创建苹果和梨;水果接口public interface Fruit { public void create();}具体类原创 2021-05-16 21:34:25 · 66 阅读 · 0 评论 -
归并排序(java)
归并排序归并排序就是将两个有序序列合并成为一个有序序列。因此,将两个有序子序列合并成一个有序序列是归并排序的基础算法。两个有序子序列合并void Merge(int a[],int b[],int l,int m,int h){ int i,j,k; int i=1;j=m+1;k=1; while(i<=m&&j<=h){ if(a[i]<a[j]){b[k]=a[i];i++;k++;} else{b[k]=a[j];j++;k++;} } w原创 2021-05-14 20:23:24 · 157 阅读 · 0 评论 -
快速排序(java)
快速排序快速排序又叫做分区交换排序,是目前已知的平均速度最快的一种排序方法,它是对冒泡排序的一种改进。快速排序的基本思想是:通过一趟排序将排序序列分割成3个部分,即左部、基准值、右部。其中,左部所有数据都比基准值小,右部所有数据都比基准值大。接着,再对左部和右部进行快速排序。方法:在数组中任选一个数作为基准数据,一般情况下我们选取第一个数。接着将所有比基准值小的数放在基准值左边,所有比基准值大的数放在基准值右边。例:代码:import java.util.Arrays;public cla原创 2021-05-13 21:40:23 · 105 阅读 · 0 评论 -
MySQL事务的隔离性
脏读一个事务读到另一个事务没有提交的数据。事务A修改了一个数据,但未提交,事务B读到了事务A未提交的更新结果,事务B读到的就是脏数据。幻读在一个事务的两次查询中数据不一致,例如有一个事务查询了几列数据,而另一个事务却在此时插入了新的数据,先前的事务在接下来的查询中,就会发现有几列数据是他先前所没有的。不可重复读就是一个事务读到另一个事务修改后并提交的数据。在同一个事务中,对于同一组数据读取到的结果不一致。比如,事务B 在事务A 提交前读到的结果,和在事务A 提交后读到的结果可能不同。不可重复读出现原创 2021-05-12 21:39:22 · 115 阅读 · 0 评论 -
MySQL事务
MySQL事务简介ACID事务控制语句原创 2021-05-11 20:45:29 · 73 阅读 · 0 评论 -
socket编程(java实现)
socket编程socket,又称套接字,是在不同的进程间进行网络通讯的一种协议、约定或者说是规范。对于socket编程,它更多的时候像是基于TCP/UDP等协议做的一层封装或者说抽象,是一套系统所提供的用于进行网络通信相关编程的接口。socket编程基本流程socket编程(java实现)服务端使用ServerSocket绑定IP和端口,使用Accept监听端口是否有客户端发送连接请求,一旦有客户端发送连接请求,服务端就回送连接信息,正式建立连接。Server端和Client端都可以通过Se原创 2021-05-10 22:29:17 · 9913 阅读 · 0 评论 -
求单向链表的倒数第k个节点(只遍历一次)
求单项链表的倒数第k个节点(只遍历一次)单向链表求倒数第k个节点我们可以先遍历一遍找出链表的长度,再设置一个指针走(n-k)步可以找到倒数第k个节点。但是,这需要遍历两次,如果只允许遍历一次我们就可以使用双指针。设置一个先指针和一个后指针,两个指针都指向头节点,先指针先向前走k步,之后两个指针一起向前移动,直到先指针遍历出最后一个节点值为null时,后指针指向的就是倒数第k个节点。class Solution { public ListNode getKthFromEnd(ListNode原创 2021-05-08 21:33:06 · 2204 阅读 · 1 评论 -
jigestra算法
digestra算法digestra算法是从一个顶点到其余顶点的最短路径算法。采用贪心算法思想,第一次查找,找到离原点最近的一个点,标记为已遍历,下一次查找时,从未被遍历的点中找到一个离起点最近的点标记为已遍历,以此类推,直到所有点都遍历到。解决办法代码public class Dijkstra { public int[] ShortestPaths(int[][] quanzhong) { int[] result = new int[quanzhong.length]原创 2021-04-28 20:47:39 · 219 阅读 · 0 评论 -
树的广度优先遍历
树的广度优先遍历原理树的广度优先遍历就是对每一层的节点依次访问,一层访问结束后进入下一层,直到遍历完所有节点,每个节点只访问一次。树的广度优先遍历我们可以利用队列先进先出的特点来实现。代码实现 ArrayList<Integer> list = new ArrayList<>(); if(root == null) return list; Queue<TreeNode> queue = ne原创 2021-04-27 21:29:59 · 1085 阅读 · 0 评论 -
死锁
死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或者系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁的产生条件1.**互斥条件:**指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。2.**请求和保持条件:**指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它原创 2021-04-26 20:17:07 · 89 阅读 · 0 评论 -
树的深度优先遍历
树的深度优先遍历原理 对每一个可能的分支路径深入到不能再深入为止,每个节点只能访问一次。 利用栈先进后出的特性。首先将根节点压入栈中,接着弹出根节点,依次压入右节点和左节点,此时,左节点位于栈的顶端,接着,将左节点弹出,将左节点的右、左子节点依次压入,若没有子节点,则弹出右节点,再依次压入右节点的右、左子节点,以此类推。代码实现 Stack<TreeNode> myStack=new Stack<>(); myStack.ad原创 2021-04-25 19:49:47 · 880 阅读 · 0 评论 -
单例模式
单例模式 单例模式,也叫单子模式,是一种常用的设计模式。是为确保一个类只有一个实例,并为整个系统提供一个全局访问点的一种方法。 单例模式有以下特点: 1.单例类只能有一个实例; 2.单例类必须自己创建自己的唯一实类; 3.单例类必须给所有其他对象提供这一实例。饿汉单例 1.私有化构造函数。 2.声明本类的引用类型变量,并使该变量指向本类对象。 3.提供一个公共的静态方法获取本类对象。public class Hungry {原创 2021-04-24 21:25:25 · 65 阅读 · 0 评论 -
二分查找的原理及代码实现
二分查找的原理 二分查找又称二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。 搜索过程从中间元素开始,若搜索元素恰好等于中间元素,则搜索过程结束。否则,将搜索元素和中间元素进行比较,若搜索元素小于中间元素,则在小于中间元素的一半数组中重复上述步骤。若搜索元素大于中间元素,则在大于中间元素的一半数组中重复上述步骤。如果在某一步骤中,数组为空,则说明数组中不存在搜索元素。代码实现public class BinarySearch { public static void m原创 2021-04-23 16:31:54 · 447 阅读 · 0 评论 -
冒泡排序算法的实现原理
冒泡排序算法的实现原理冒泡排序是一种交换类排序算法。算法的特点是将关键字较大的记录向序列尾部移动,关键字较小的记录向序列前部移动。把数组a[n]中的n个元素看作一个有序表和一个无序表,冒泡排序的有序表部分位于表的右端。开始时有序表中没有元素,无序表中有n个元素a[0]~a[n-1]。算法开始时从最左边开始,a[0]和a[1]比较,若a[0]<a[1]则不交换;若a[0]>a[1],则交换。接着a[1]和a[2]对比,若a[1]<a[2],则不交换,若a[1]>a[2],则交换。原创 2021-04-22 22:08:49 · 511 阅读 · 0 评论 -
TCP如何保障可靠传输
TCP保障可靠传输TCP最主要的特点:1.TCP是面向连接的传输层协议;2.每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。3.TCP提供可靠交付的服务。4.TCP提供全双工通信。5.面向字节流。可靠传输的工作原理:1.停止等待协议。“停止等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。超时重传若过了一段时间仍没有收到确认,就认为刚刚发送的分组丢失了,因而重传前面发送过的分组。2.连续ARQ协议。发送方每收到一个确认,就把发送窗口向前滑原创 2021-04-21 17:34:49 · 253 阅读 · 0 评论 -
进程和线程
进程是具有一定独立功能的程序,它是系统进行资源分配和调度的一个单位,重点在系统调度和单独的单位。也就是说,进程是可以独立运行的一段程序。线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程基本上不拥有系统资源,在运行时只是暂用一些计数器、寄存器和栈。进程间的通信方式1.无名管道(pipe):管道是一种半双工通信方式,数据只能单向流动,而且只能在具有亲缘关系(通常指父子进程关系)的进程间使用。2.高级管道(popen):将另一个程序当作一个新的进程在当前程序原创 2021-04-20 20:57:09 · 64 阅读 · 0 评论 -
jdk动态代理和cglib动态代理(略读)
jdk动态代理和cglib动态代理jdk代理:基于接口的动态代理cglib代理:基于父类动态代理jdk需要接口。现在的spring已经集成了cglib,可以直接使用。cglib不需要接口。1.创建增强器;2.设置父类;3.设置回调;4.创建代理对象。...原创 2021-04-19 21:43:16 · 76 阅读 · 0 评论