自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 java集合详解(Set+List+Map分析包括性能比较及使用场景)

java集合集合概述java的集合类主要由两个接口派生而出:Collection和MapCollection集合体系的继承树:Map体系的继承树:    java11为Collection新增了一个toArray(IntFunction)方法,使用该方法的主要目的就是利用泛型,传统的toArray()方法不管Collection本身是否使用泛型...

2020-02-03 23:26:19 1632

原创 面向对象知识点汇总(一)java语言

类和对象定义类   一个类定义,可以包含三种最常见的成员:构造器、成员变量、方法。成员变量:用于定义该类或该类的实例所包含的状态数据方法:用于定义该类或该类的实例的行为特征或功能实现。构造器:用于构造该类的实例,Java语言通过new关键字来调用构造器,从而返回该类的实例。如果没有为一个类编写构造器,则系统会为该类提供一个默认的构造器。成员变量定义格式[...

2020-01-23 16:35:24 199

原创 SQLZOO练习题总结(一)

SELECT basicsworldname continent area population gdp Afghanistan Asia 652230 25500100 20343000000 Albania Europe 28748 2831741 12960000000 Algeria Africa 2381741 37100000 188681000000 Andorra .

2020-07-25 17:14:50 2325 1

原创 NameNode和SeondaryNameNode解析+NameNode故障处理

目录NN和2NN工作机制工作流程详细解释:CheckPoint时间设置NameNode故障处理NN和2NN工作机制工作流程第一阶段:NameNode启动(1)第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存(2)客户端对元数据进行增删改的请求(3)NameNode记录操作日志,更新滚动日志(4)NameNode在内存中对元数据进行增删改第二阶段:Secondary NameNode工作(1)Seconda

2020-07-20 08:43:29 3050 17

原创 HDFS读写流程详解及故障处理机制

HDFS写数据流程总体流程:  客户端通过对DistributedFileSystem对象调用create()来新建文件,DistributedFileSystem对NamNode创建一个RPC调用,在文件系统的命名空间中新建一个文件,此时该文件中还没有相应的数据块,NamoNode执行各种不同的检查以确保这个文件不存在以及客户端有新建改文件的权限。  如果这些检查均通过,NameNode就会为创建新文件记录一条记录,否则文件创建失败,并向客户端抛出一个IOEx

2020-07-17 20:51:48 1471

原创 LeetCode445. 两数相加 II进阶版(栈实现)java语言

题目:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 8 -> 0 -> 7解题思路:利用栈的后入先出的特性来进行计算,可以达到从右往

2020-05-08 21:37:51 221

原创 LeetCode02.两数相加(java实现)

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2020-05-06 15:26:22 190

原创 LeetCode1290. 二进制链表转整数(java实现)

题目:给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:he...

2020-05-06 14:01:55 187

原创 Linux学习第四天

安装Vmware Tools工具1.挂载VMware Tools光驱 【设置】-->【CD/DVD】-->【使用ISO镜像文件】-->选择VMware安装目录下的Liunx.iso镜像2.安装VMware Tools工具 【虚拟机】-->【安装VMware Tools工具】打开光驱-->将VMwareTools-10.0.10-4301679.t...

2020-05-06 08:19:24 203

原创 剑指Offer空格替换

##剑指Offer空格替换%20题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解法一:调用java自带函数public class Solution { public String replaceSpace(StringBuffer str) { r...

2020-05-06 08:17:42 88

原创 LeetCode206.返回倒数第K个节点(递归+迭代解法)java实现

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解法一:递归class Solution { public ListNode reverseList(ListNode head) { //申请节点,pre和 cur,pre指向null ListNode ...

2020-05-05 22:41:11 236

原创 hive连接mysql数据库错误信息Establishing SSL connection

错误信息:“WARN: Establishing SSL connection without server’s identity verification is not recommended.”解决方案:1.进入hive/conf/目录下,然后编辑hive-site.xml文件,将连接MySQL的URL地址内容的最后附加上useSSL=false,注意:因为这个文件是.xml文件,所以一...

2020-04-10 17:29:01 431

原创 LeetCode160.相交链表(双指针解法)

题目:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注...

2020-04-02 14:00:41 180

原创 LeetCode83.删除排序链表中的重复元素

题目:删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路:    这题考察的是链表中对于指针的运用和理解,在这道题中我们只需要将...

2020-03-31 21:17:19 175

原创 LeetCode21.合并两个有序链表(迭代+递归解法)

题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:   递归解法:         当链表走到头的时候即为结束,...

2020-03-31 20:50:09 293

原创 如何解决每次进入虚拟机都需要打开网卡?

网卡的设置主要在 /etc/sysconfig/network-scripts/ifcfg-eth0里面先输入命令sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0进入该文件进入后的效果如图把ONBOOT改成yes即可,改正后输入     :wq!然后重启网卡即可sudo service netw...

2020-03-08 21:17:07 1372

原创 判断二叉树是否对称(剑指Offer)

题目描述    请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。解法如下:/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public ...

2020-01-25 16:27:55 223

原创 二叉树的镜像问题(剑指Offer)

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val ...

2020-01-25 12:37:07 136

原创 流程控制与数组(java 语言)

流程控制与数组流程控制分支结构1.使用switch语句时,两个注意点:(1)switch语句后的expression表达式的数据类型只能是 byte、short、char、int四种整数类型,String(从Java7开始支持)和枚举类型(2)如果省略了case后代码块的break;,将引入一个陷阱,代码按顺序执行循环结构循环语句可能包含以下4个部分(1)初始化语句:一条或多条语句...

2020-01-23 17:45:50 205

原创 面向对象知识点汇总(二)java语言

方法详解方法的所属性   java语言是静态的,一个类定义完成后,只要不再重新编译这个类文件,该类和该类的对象所拥有的方法是固定的,永远都不会该变。   同一个类的一个方法调用另外一个方法时,如果被调方法是普通方法,则默认使用this作为调用者;如果被调方法是时静态方法,则默认使用类作为调用者。java里方法的所属性主要体现在一下...

2020-01-23 17:15:01 164

原创 ArrayList和LinkedList的区别(面试必会)

一.ArrrayList和LinkedList的区别1.时间复杂度方面     ArrayList是基于索引的数据接口,它的底层是动态数组,允许所有元素,包括null。ArrayList是非同步的。查询的操作为O(1)时间复杂度,删除、增加操作的时间复杂度为O(n),size,isEmpty,get,set方法的时间复杂度为O(1)。Link...

2020-01-17 11:15:27 949

原创 Mybatis框架学习(二)Mapper配置基础解读+动态SQL

Mapper配置1.SQL块<sql id="columnSQL"> employee_id,first_name,last_name,email, phone_number,hire_date,job_id,salary,commission_pct, manager_id,department_id </sql>目的是简化SQL语句,下面为简...

2020-01-16 16:31:11 337

原创 Mybatis框架学习(一)基础配置及使用

Mybatis框架     是一个半自动化的ORM框架,是一个持久层框架,用于Dao层的编写。ORM框架:对象关系映射框架,将数据表中的记录和对象形成映射,表的结构和类形成映射,通过配置文件形成的映射关系(ORM映射文件)全自动化的ORM框架(Hibernate),不写SQL语句,执行SQL语句都是有框架自动生成的。当数据库操作比较简单(项...

2020-01-16 16:25:33 152

原创 LeetCode反转链表问题(迭代解法+递归解法)

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?以下为迭代解法:class Solution { public ListNode reverseList(ListNode head) { ...

2019-12-16 20:07:23 114

转载 LeetCode回文链表问题(数组解法+双指针结合反转链表解法)

问题:请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?思路:利用数组的方式1.当链表为空时,直接返回true;2.创建一个数组,当head != null的时候,将链表中的元素逐一放进数组中3.设置两...

2019-12-10 17:57:24 147

原创 LeetCode环形链表问题(初级+进阶)

题目一:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tru...

2019-12-05 20:20:39 201

原创 LeetCode找到链表中的中间节点(数组解法+快慢指针解法)

题目:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.nex...

2019-12-05 17:11:36 209

原创 LeetCode 删除链表中等于给定值 val 的所有节点(虚拟头结点+不设置虚拟头节点)

题目:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5下面这一版本没有设置虚拟头结点,而是利用了prev指针来找到删除节点的前一个位置,并利用了以下这个逻辑,将重复的节点置空,而不是单纯的跳过去。delNode代表重复的被删除的节点...

2019-12-01 17:30:18 203

原创 小青蛙跳台阶题目(递归解法+动态规划解法)(java面试必备)(剑指Offer)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路:f(0) = 0f(1) = 1f(2) = f(1) + f(0) = 1f(3) = f(1) + f(2) = 2f(4) = f(3) + f(2) = 3f(5) = f(4) + f(3) = 5由上式可知f(n) = f(n-1) +...

2019-11-30 16:16:59 456

原创 动态数组具体实现及解析(含代码)

声明:data为数组名size为数组中最后一个元素的下一个位置实现动态数组的原因是因为java中的数组是静态的,在new数组时就需要指定数组的大小,如果需要存储的元素为未知的个数,设置空间过大会造成浪费,设置空间过小会无法存入全部数据,我们利用自己写的resize()方法,便可以实现自动扩容,不再担心数组容量的问题。需要自动扩容或自动缩容的时候一般是数组满了或数组空余空间过多的时候,多发生在...

2019-11-28 22:18:30 193

原创 逆向输出ArrayList题目(剑指Offer)

题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。栈思路:利用栈的后入先出的特性class Solution {public:vector printListFromTailToHead(ListNode* head) {vector value;ListNode *p=NULL;p=head;stack stk;while(p!=NULL){stk.push...

2019-11-28 20:14:36 226

原创 替换空格题目(剑指Offer)

问题:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { int spacenum = 0; for(int...

2019-11-26 21:16:21 84

原创 二维数组查找数字题目(剑指Offer)

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:因为每一行都是递增,每一列也是递增,所以每一行的最左边为一行的最小,最右边为一行的最大,选取最下角或者右上角,当target小于元素a[row][col]时,那么target必定在元素a所在行的左边...

2019-11-26 15:02:39 78

原创 Hdoop集群搭建

搭建完全分布式1.安装jdk2.安装hadoop3.配置环境变量4.设置无密登录5.设置hadoop配置文件6.克隆三个虚拟机右键—>管理—>克隆---->创建完整克隆—>设置虚拟机路径7. 关闭防火墙$>chkconfig iptables --list8. 修改静态IP+修改主机名查看IP、网关、子网掩码8.修改静态IP+修改主机名1.查...

2019-07-31 22:20:58 155

原创 Linux学习第三天

Linux学习第三天(Linux常用命令)cd 进入到目录基本语法:cd … - / ~ 绝对路径 相对路径… :返回上一级目录- :返回上次操作的目录~ :返回home目录/ :返回至根目录pwd 打印当前所在目录基本语法:pwdtouch 创建文件基本语法:touch 文件名cat 打印问价你内容输出到终端,从第一行开始基本语法: c...

2019-07-24 22:01:38 115 1

原创 Linux学习第二天(防火墙设置+用户+用户组+权限管理)

Linux学习第二天修改机器名1.说明:[hadoop@localhost Desktop]$@之前的hadoop为用户名@之后的localhost为机器名,也可以理解为IP映射地址2. 进入到【/etc】下的hosts文件,修改IP与主机名的映射关系在文件中追加:192.168.14.39 master(IP为虚拟机中VMnet8的静态IP,master为机器名)3.修改【/et...

2019-07-23 23:12:31 267

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除