自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到codedog的博客

本博记录自学大数据过程中遇到的一些问题,以及知识点总结

  • 博客(22)
  • 收藏
  • 关注

原创 全网最全的多线程知识

文章目录进程和线程并行和并发的概念线程应用线程应用之异步调用单线程和多线程带来的效率问题2.Java线程2.1如何创建线程2.2线程运行的现象2.3 线程运行的原理线程运行常用的方法start和run方法的对比sleep和yield方法join方法,等待线程运行结束,谁调用等待谁结束join方法的应用之同步interrupt方法设计模式-两阶段终止模式打断park线程主线程和守护线程线程状态从操作系统层面-五种从JAVA层面-六种共享模型临界区与竞争条件上下文切换-synchronized解决synchro

2021-05-31 15:17:27 391 1

原创 2021-05-18

题目描述 无重复字符的最长子串示例1输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。双指针法

2021-05-18 11:22:10 82

原创 平衡二叉树

110. 平衡二叉树题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。 解法一:从底至顶(提前阻断)思路是对二叉树做先序遍历,从底至顶返回子树最大高度,若判定某子树不是平衡树则 “剪枝” ,直接向上返回...

2020-12-02 09:50:44 217

原创 二叉树的层次遍历BFS

102. 二叉树的层序遍历题目描述:给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点。示例二叉树:[3,9,20,null,null,15,7] ​​​​​​​返回其层次遍历结果: 代码为:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * T...

2020-11-28 10:19:56 146

原创 leetcode之删除排序数组中的重复项

问题描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1: 输入: nums = [1,1,2] 输出: 数应该返回新的长度2,并且原数组nums的前两个元素被修改为1,2. 说明:你不需要考虑数组中超出新长度后面的元素。示例2: 输入: ...

2020-07-07 18:25:06 110

原创 leetcode之存最多水的容器

问题描述:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。示例: 输入:[1,8,6,2,5,4,8,3,7] 输出:49解法一: 简单粗暴,使用双重循环class Solut...

2020-07-06 16:30:24 273

原创 leetcode之寻找两个正序数组的中位数

问题描述:给定两个大小为m和n的正序(从小到大)数组nums1和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间度复杂度为O(log(m+n))你可以假设nums1和nums2不会同时为空。示例1:nums1 = [1,3]nums2 = [2]则中位数为2.0示例2:nums1 = [1,2]nums2 = [3,4]则中位数为(2+3)/2 = 2.5解法一:简单粗暴,将两个数组合并,两个有序数组的合并也是归并排序的一部分,然后根据奇数还是偶

2020-07-06 00:04:11 809

原创 leetcode之求解最大子串问题(滑动窗口)

leetcode之求解最大子串问题问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度示例 1:示例2:示例3:解题思路及其代码实现最经典解法之滑动窗口

2020-07-04 14:30:46 248

原创 Java中的比较器基础知识

JAVA比较器提出的背景: java中的对象,正常情况下,只能用==或!=进行比较,不能使用>或<,但是在开发场景中,我们需要对多个对象进行排序;言外之意,就需要比较对象的大小,对于对象的排序该如何实现呢? java实现对象排序的方法只有两种: 自然排序:Java.lang.Comparable 定制排序:java.util.Compa...

2019-09-12 02:21:15 192

原创 Java中获取和时间日期的类及其常用方法的总结

JDK1.8之前关于获取时间和日期的API1.java.lang.System类 System类提供的public static void currentTimeMills()用来返回当前时间与1970年1月1日0时0分0秒之间的毫秒数为单位的时间差 此方法是用于计算时间差2.java.util.Date类表示特定的瞬间,精确到毫秒数构造器:Date():提供...

2019-09-02 01:01:31 1528

原创 java中的值传递机制详解

java中值传递的规则:1.形参是基本数据类型:将实参的值传递给形参的基本数据类型的变量,相当于在内存中复制了一份数据2.形参是引用数据类型:将实参的引用(地址)传递给形参的基本数据类型的变量 一.先了解不通过函数的值传递public class Demo { public static void main(String[] args) { ...

2019-09-02 00:00:46 869 1

原创 String与各种数据类型之间的转换

一.String与基本数据类型之间的转换1.String转换为基本数据类型 Interger包装类的public static int parseInt(String s):可以将由"数字"字符组成的字符串转换为整型。 类似的,使用java.lang包下的Byte、Short、Long、Float、Double、Boolean类相应的类方法可以将由"数字"字符组成的字符 ...

2019-08-29 00:14:46 2839

原创 String两种实例化的区别及拓展

String实例化的两种常用的方式方式一:字面量赋值的方式方式二:通过构造器辅助的方式方式一:字面量赋值的方式字面量赋值方式的代码class Demo{ public static void main(String[] args){ String s1 = "java"; String s2 = "java"; S...

2019-08-28 20:07:06 118

原创 java中通过foreach遍历数组

java中可以通过foreach来遍历数组 foreach语句格式: for(元素类型type 元素变量value : 遍历对象obj){ //遍历体 }public class Demo{ public void static void main(String[] args){ int...

2019-08-26 11:55:17 2549

原创 数组使用中的常见异常

1.数组下标越界异常:ArrayOutOfBoundsException2.空指针异常:NullPointerExceptionclass Demo{ public static void main(String[] args){ int[] arr = new int[]{1,2,5,4}; System.out.println(ar...

2019-08-26 00:52:55 687

原创 Arrays工具类的使用

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组的各种方法 1 boolean equals(int[] a,int[] b) 判断两个数组是否相等 2 String toString(int[] a) 输出数组信息 3 ...

2019-08-25 01:16:41 196

原创 二维数组的默认初始化值

规定:二维数组分为外层数组的元素,内层数组的元素对于初始化方式一:比如 int[][] arr = new int[4[3] 外层元素的初始值为:地址值 内训元素的初始值为:与一维数组初始化情况一样对于初始化方式二:比如 int[][] arr2 = new int[4][] 外层元...

2019-08-25 00:53:08 5661 5

原创 基本数据类型之间的转换

值得注意:1.有多种类型的数据混合运算时,系统首先自动将所有数据转换成最大容量的数据类型,然后再进行计算2.byte、char、short之间不会相互转换,他们三者在计算时,首先转换成int类型(注意byte和short之间也不能做运算,包括byte和byte本身做运算依然会出错,另外两个同理)3.Boolean类型不能和其他数据类型之间相互转换4.当把任何基本类型的值和字符串...

2019-08-23 23:59:08 264

原创 常用的DOS命令

dir :列出当前文件下的文件以及文件夹md:创建目录rd:删除目录cd:进入指定目录cd..:退回到上一级目录cd\:退回到根目录del:删除文件exit:退出DOS命令行操作截图:1.从C盘切换到D盘2.查看D盘中的文件3.在D盘下创建一个名为suhang的目录4.进入D盘下名为suhang的文件夹5.返回上一级目录...

2019-08-23 23:41:55 142

原创 js中的预解析与变量名提升问题

在这里,我将细致的讲解与预解析声明和名字提升等相关概念,并用例子来详细分析      预解析的过程: 程序在执行过程会先将代码读取到内存中检查,会将所有的申明在此时标记,所谓的标记就是让js解析器知道有这个名字,后面使用名字的时候,不会出现未定义的错误,这个标志过程就是提升      上面所提到的申明包括两个部分:     1、标识符的申明(就是变量名的申明)          *

2017-11-18 16:53:13 510

原创 原型对象的作用及原型对象的用法

最近遇到一个初学者问我,原型对象怎么用,所以在这里我总结一下原型对象的作用,并用简单的例子来展示原型对象的用法    一原型对象的作用:                     原型对象,是用来解决构造函数在创建实例的时候,防止重复执行所导致的性能的降低(这里主要指占用内存),来为服用带来方便                         ¥下面附上一个简单的例子来说明,代码的重复执

2017-11-13 20:24:33 5679 2

原创 Javascript中带参数的构造函数的执行过程

之前有同学问我,js中构造函数是怎么执行的顺序是什么,所以在这里我就仔细的描述一下带参数的构造函数的执行过程 在这里,我介绍一种最靠谱的方法,来亲眼见证构造函数的执行过程1.先简单编写一个构造函数的例子2.打开chrome,用f12或者ctrl+shift+i的快捷键打开开发工具3.首先判断该段小程序从哪里开始执行,因为用var声明的变量有提前声明的特点,所以,在var

2017-11-12 16:04:28 3117

空空如也

空空如也

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

TA关注的人

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