- 博客(24)
- 收藏
- 关注
原创 软件测试基础+微信小程序测试实战
计算机系统分类1、硬件系统2、软件系统: 1、系统软件:直接操作硬件的/控制硬件的 (1)、桌面操作系统:windows用户群体大;macos程序员使用较多;linux软件较少 (2)、服务器操作系统:linux安全、稳定、免费;Windows Server付费 占有率低 (3)、嵌入式操作系统:linux文件很小 一般使用再机顶盒、pda、网络电视、手机 ...
2021-04-21 15:30:53 2494
原创 JAVA高级编程-集合
JAVA集合:一、集合框架的概述:1、集合、数组都是对多个数据进行存储操作的结构,简称JAVA容器说明:此时的存储主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)2.1、数组存储多个数据方面的特点:>一旦初始化之后,其长度就确定了。>数组一旦定义好,其元素的类型也就确定了,就只能操作指定类型的数据。2.2、数组存储多个数据方面的缺点:>一旦初始化以后,其长度就不可修改>数组中提供的方法非常有限,对于添加、删除
2021-03-31 09:59:26 202
原创 JAVA高级编程-枚举类+注解
枚举类:一、枚举类的使用:1、枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类。2、当需要定义一组常量时,强烈建议使用枚举类。3、如果枚举类中只有一个对象,则可以作为单例模式的实现方式二、如何定义枚举类:方式一、jdk5.0之前,自定义枚举类方式一、jdk5.0之后,可以使用enum关键字定义枚举类/** * @author gaixinyu * @create 2021-03-28-10:04 */public class SeasonTest {
2021-03-28 19:36:11 256
原创 JAVA高级语言编程-常用类
String:String字符串,使用一对""引起来表示1、String声明为final的,不可以被继承2、String实现了Serializable接口:表示字符串是支持序列化的 实现了Comparable接口:表示String可以比较大小3、String内部定义了final char[] value用于存储字符串数据4、String代表不可表的字符序列。简称:不可变性。体现:true①当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原...
2021-03-28 09:44:15 151
原创 JAVA高级学习笔记-多线程
多线程:程序(Program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。--程序是静态的,进程是动态的--进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread):进程可以进一步细化为线程,是一个程序内部的一条执行路径。--若一个进程同一时间并行执行多个线程,就是支持多线程的--线程作为调度
2021-03-26 09:39:04 274
原创 JAVA基础学习笔记
一.面型对象(上)第一部分:习题1.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些?三者是包含关系JDK=JRE+JAVA开发工具(javac.exe java.exe javadoc.exe)JRE=JVM+JAVA核心类库2.为什么要配置path环境变量?如何配置?为了在任何一个文件路径下都可以执行JAVA的开发工具JAVA_HOME=bin的上一层目录path=%JAVA_HOME%\bin3.常用的几个命令行操作都有哪些?(至少4
2021-03-23 09:44:00 837 1
原创 NameNode和SecondaryNameNode工作机制
edit表示的是过程,fsimage表示的是某一时间段的状态。第一阶段:NameNode启动1、第一次启动NameNode格式化后,创建Fsimage和Edit文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。2、客户端对元数据进行增删改的请求。3、NameNode记录操作日志,更新滚动日志。4、NameNode在内存中对元数据进行增删改。第二阶段:Secondary NameNode启动1、Secondary NameNode询问NameNode是否需要Chec...
2021-01-24 11:13:30 151 1
原创 HDFS的读数据流程
1、客户端通过Distributed FileSystem向NameNode请求下载文件,NameNode通过查找元数据查找到文件所处的DataNode地址。2、挑选一台DataNode(就近原则,之后随机)服务器,请求读取数据。3、DataNode开始传输数据给客户端(从磁盘读取数据输入流,以Packet为单位来做校验)。4、客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。...
2021-01-23 18:20:44 120
原创 HDFS写数据流程
1、客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已经存在,父目录是否存在。2、NameNode返回是否可以上传文件相应。3、客户端请求第一个Block上传到哪几个DataNode服务器上。4、NameNode返回三个DataNode节点,eg:DN1、DN2、DN3。5、客户端通过FSDataOutputStream模块请求DN1上传数据,DN1收到请求之后继续调用DN2,DN2继续调用DN3,将通信管道建立...
2021-01-23 17:58:11 87
原创 本地操作HDFS报错:java.net.ConnectException: Call From DESKTOP-6C2TDR7/192.168.1.10 to 192.168.1.102:8080 f
//1.新建HDFS对象--》fs FileSystem fs= FileSystem.get(URI.create("hdfs://192.168.1.102:8020"),new Configuration(),"atguigu");中的8020要和/opt/module/hadoop-3.1.3/etc/hadoop/中的core-site.xml配置中的一样:我的错误出在我最开始自己写URI这里的时候没有对照,自己写成啦8080...
2021-01-23 12:06:06 894
原创 HDFS概述
HDFS(Hadoop Distributed File System),(定义)是一种分布式文件管理系统,通过目录树来定位文件,由很多服务器联合起来实现其功能,每个服务器都有自己的角色。(使用场景)适合一次写入,多次读出的场景,且不支持文件的修改。HDFS的优缺点:(优点)1、高容错性:(1)数据自动保存多个副本,通过增加副本的形式来提高容错性;(2)某一个副本丢失之后,可以自动恢复。 2、适合处理大数据:(1)数...
2021-01-21 17:29:21 189
原创 前缀树以及贪心
介绍前缀树:何为前缀树? 如何生成前缀树?例子: 一个字符串类型的数组arr1,另一个字符串类型的数组arr2每一个字母填在路上,不是填在点上的,前缀树(try树)的加法:用处:给N个字符串,问所有的字符串中是否有以某几个字符(BE)开头的;+:若问加的字符串中是否包含BE,不好找是否新加进去的含有还是不含有,所以在数据项上加上有几个字符是以这个值结尾的,就是在节点上加上值,因此扩充了功能。+:给一个字符串,有多少个字符串以它作为前缀,加一个数据项,每个节点被划过几次查询.
2020-11-10 20:31:00 154
转载 Map.entry详解
Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value。下面是遍历Map的四种方法:public static void m..
2020-10-28 15:44:27 1655
原创 大数据学习笔记----Java
计算机概念:用于高级计算,包含软件和硬件的设备。主要硬件:中央处理器(CPU),内存,硬盘,输入输出设备,主板,机箱和店员等辅助设备。CPU:中央处理器,是计算机最核心的部件,类似于人的大脑是一台计算机运算核心和控制核心,所有运算都由CPU完成其功能主要是解释计算机指令以及处理计算机软件中的数据内存的概述:是计算机中的存储部件,内存(Memory)也被称为内存储器。用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据CPU可以直接访问内存的数据,而且效
2020-10-14 20:00:36 217
转载 布隆过滤器
开发一个电商项目,因为数据量一直在增加(已达亿级),所以需要重构之前开发好的秒杀功能,为了更好的支持高并发,在验证用户是否重复购买的环节,就考虑用布隆过滤器。也顺便更加深入的去了解下布隆过滤器的原理,感觉还是蛮有意思的,这一连串的公式不静下心来思考,很容易被绕晕。一、概述1、什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,特点是高效地插入和查询。根据查询结果可以用来告诉你某样东西一定不存在或者可能存在这句话是该算法的核心。相比于传统的 List、Set、Ma..
2020-10-06 18:37:11 166
原创 哈希函数和哈希表及其应用
哈希函数-散列函数1.输入阈无穷大2.输出阈有穷尽,S阈3.输入参数一样,返回值也是一样的4.输入不一样,输出也可能一样,哈希碰撞5.两个不同输入对应一样的输出值,若输入域样本足够大,对应的输出每一个中的点对应的数量差不多,均匀分布(喷香水,香水分子均匀分布在房间内,所以叫做打乱/散列函数)大数据问题:若将一个100T的大文件中的重复的字符串打印出来,给1000个机器,0~999号机器,大文件存在分布式系统上,若处理这个大文件按行读取,有读取效率很高的工具:通过哈希表分流,用分布
2020-10-06 18:35:58 426
原创 算法笔记:二叉树,红黑树
题目一:二叉树的前中后序遍历:以上是节点的访问顺序:每个节点回来到三次1.前序遍历:节点第一次出现的时候打印;前-左-右2.中序遍历:节点第二次出现的时候打印;左-前-右3.后序遍历:节点第三次出现的时候打印;左-右-前代码:(递归方法+非递归方法):package zuoshen4;import java.util.Stack;public class Code_01_PreInPosTraversal { public static class Node{
2020-09-21 16:11:36 339
原创 左神笔记基础-题型整理
题目一:用数组结构实现大小固定的队列和栈实现栈:栈是先进后出;准备一个index,想加进去一个数,index就是指要把这个数加到哪个位置上去,加进去一个就Index++;若需要弹出一个数,弹出,就index--package zuoshen;public class Array_To_Stack_Queue { public static class ArrayStack{ private Integer[]arr; private Integer
2020-09-14 21:23:50 250
转载 左神算法基础班
转载链接:https://blog.csdn.net/ccnuacmhdu/article/details/105361645排序各种排序代码实现import java.util.*;public class Main{ public static void main(String[] args){ int testTime = 500000;//测试次数 int size = 100; int scope = 100; boolean flag = true; fo.
2020-09-10 21:37:00 1986
原创 leecode刷题笔记-三数之和
思路:首先会想到的是对每个数进行循环的遍历,使用三重循环枚举三元组,时间复杂度为o(N*3),复杂度过高,所以想办法让三重循环,每一层更简洁一些。保证: 第二重循环枚举到的元素不小于当前第一重循环枚举到的元素; 第三重循环枚举到的元素不小于当前第二重循环枚举到的元素。 首先可以把给定的nums数组从大到小排序,枚举的三元组(a, b, c)(a,b,c)满足a<=b<=c之后枚举三层循环,第一层从第一个数开始,第三层从最后一个数开始,第二层从第一层+1开始。对于每...
2020-09-10 10:35:01 162
转载 leecode刷题笔记-组合总和
问题描述:方法一:回溯法:(不含剪枝)对于这类寻找所有可行解的题,我们都可以尝试用「搜索回溯」的方法来解决。回到本题,我们定义递归函数 dfs(target, combine, idx) 表示当前在 candidates 数组的第 idx 位,还剩 target 要组合,已经组合的列表为 combine。递归的终止条件为 target <= 0 或者 candidates 数组被全部用完。那么在当前的函数中,每次我们可以选择跳过不用第 idx 个数,即执行 dfs(target,.
2020-09-09 16:27:31 280
转载 十大排序
算法学习---排序一.排序的定义对一序列对象根据某个关键字进行排序。二.术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度:一个算法执行所耗费的时间。 空间复杂度:运行完一个程序所需内存的大小。三.算法总结表说明:n: 数据规模 k: “...
2020-09-09 10:13:57 103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人