自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArrayList的扩容,底层数组大小怎么看到

ArrayListArrayList 是一个动态数组,也是我们最常用的集合。/** 共享空数组实例用于默认大小的空实例。 我们* 将此与 EMPTY_ELEMENTDATA 区分开来,以了解何时膨胀多少* 添加第一个元素。*同时也是线程不安全的,随着容器中的元素不断增加,当快溢出时,扩容为原来的1.5倍。我们常用的size()只是看它的里面存储了多少内容的长度,而要看容量则要看他的底层数组elemnetData的容量。import java.lang.reflect.Field;im

2021-08-05 23:04:32 215

原创 docker的安装步骤(CentOS7)

官网安装链接https://docs.docker.com/engine/install/centos/1.确定你是CentOS7及以上版本cat /etc/redhat-release2.yum安装gcc相关 。确保centos能上连上网yum -y install gccyum -y install gcc-c++3.卸载旧版本sudo yum remove docker \ docker-client \ d

2021-08-04 12:48:36 150

原创 了解Shell

参考尚硅谷shell教学1简介Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。(1)Linux提供的Shell解析器有[atguigu@hadoop101 ~]$ cat /etc/

2021-07-29 14:06:05 141

翻译 Html Webpack Plugin: Error: Child compilation failed:

参考:https://stackoverflow.com/questions/39217320/error-in-error-child-compilation-failed-cannot-find-module-handlebars/39217412解决npm i handlebars --save-dev

2021-07-11 15:49:29 1974 2

原创 nginx: [emerg] unknown directive “锘? in******

nginx: [emerg] unknown directive "锘? in****出现这个是当时打开nginx.conf打开的编码是以utf-8无Bom格式打开类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。一般的文件使用记事本编辑一般不会出现问题,但是nginx的配置文件添加BOM之后会导致无法运行...

2021-07-08 17:57:41 1030

原创 git的安装及其简单使用

下载链接:https://git-scm.com/安装参考链接步骤https://blog.csdn.net/TZ845195485/article/details/116885169git的简单入门使用首先 (1).设置用户信息 git config --global user.name “orange” //可随意设置 git config --global user.email “orange@qq.com” $ cat ~/.gitconfig[user]

2021-05-24 17:32:31 167 1

原创 -bash: ./startup.sh: Permission denied

在执行./startup.sh,或者./shutdown.sh的时候,爆出了Permission denied,

2021-05-10 12:30:49 143 1

原创 Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings.

1.创建springboot项目连接超时,更改setting的HTTP Proxy也没用选择阿里的 https://start.aliyun.com/去创建

2021-05-05 19:42:59 101

原创 计数排序

4.计数排序概念:1)找出待排序的数组中最大和最小的元素,(2)统计数组中每个值为i的元素出现的次数,存入数组C的第i项,(3)对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加),(4)反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1。 public static void countSort(){ int[] arr={8,5,9,2,7,4,6,1,3,10,-3,-2,-10}; int min=arr[0];

2021-05-03 13:53:00 70

原创 java.sql.SQLException: Access denied for user ‘‘@‘localhost‘ (using password: NO)

java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)这里写的application.yamlspring: datasource: data-username: root data-password: 123456 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=Shanghai&serverTi

2021-04-29 15:18:27 108

原创 插入排序

3.插入排序从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)概念:插入排序的思路就是将你要排序的数组分两个区间,一个是已排序区间,一个是未排序区间,初始的时候 默认第一个元素是已排序区间的,后面的所有元素为未排序区间。然后呢依次取未排序区间的元素,在已排序区间找到合适的位置插入。直到未排序区间空了。​​代码实现public static void insertSort(){ int[]

2021-04-29 12:29:32 71

原创 Caused by: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust

在数据库连接时使用了 userSSL 参数,将useSSL = true 改为 useSSL = false,项目可以正常跑起来了。

2021-04-25 19:19:10 127

原创 学习在IDEA上装Vue

若new后没有Vue 的图标(可以去安装nodejs)或者执行下面操作1.File | Settings | Editor | File and Code TemplatesVue Compontent vue<template></template><script> export default { name:"${NAME}" }</script><style scoped>&...

2021-04-21 17:20:03 91

原创 剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 58 - II. 左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: "umghlrlose"引用限制:1 <= k < s.length

2021-04-07 13:12:22 58

原创 了解synchronized使用及优缺点

当我们在多条线程共同操作共享数据会出现线程不安全的情况。1.引入synchronized关键字 synchronized1.可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块。2.可保证一个线程的变化(主要是共享数据的变化)被其他线程所看到(保证可见性)3.synchronized锁的是1.对象2.class2.synchronized的三种应用方式修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类

2021-03-27 22:06:21 1689 1

原创 Thread.sleep方法及其用sleep方法模拟龟兔赛跑

Thread.sleep方法 public static native void sleep(long millis) throws InterruptedException;1.sleep是一个静态的本地方法2.参数是毫秒long millis

2021-03-23 21:22:04 392 3

原创 Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon IDEA连接mysql报错

转载1:https://blog.csdn.net/liuqiker/article/details/102455077转载2:https://www.jianshu.com/p/78b0bc5248df

2021-03-20 13:09:41 137

原创 Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceExcep(mybatis错误)

Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceExcep在pom.xml文件中配置 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>

2021-03-19 19:30:57 201

原创 了解线程池(二)七大参数和四种拒绝策略

由于线程池的三大方法都是在这里插入代码片

2021-03-17 21:38:45 148 1

原创 了解线程池(一)三大方法及其注意事项

2.用线程池来创建线程1:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。3:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。package com.thread.threadpool;import java.util.concurrent.ExecutorService;import java.util.conc

2021-03-15 23:06:21 269

原创 多线程创建之实现Callable接口

1.使用Callable与Future来创建启动线程 @see Executor * @since 1.5 * @author Doug Lea * @param <V> the result type of method {@code call} */@FunctionalInterfacepublic interface Callable<V> { /** * Computes a result, or throws an exception if

2021-03-13 09:36:24 95

原创 线程创建的方式之(继承Thread类和实现Runnable接口)

1.继承Thread步骤:定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此把run()方法称为线程执行体。创建Thread子类的实例,即创建了线程对象。调用线程对象的start()方法来启动该线程。public class TextThead1 extends Thread { @Override public void run() { //run方法方法体 for (int i =

2021-03-12 14:09:01 242 1

原创 了解线程与进程-并发与并行的基本区别

进程1.定义:进程是程序的一次执行,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。• 进程是系统进行资源分配和调度的独立单位。每一个进程都有它自己的内存空间和系统资源1.例如我们打开任务管理器可以发现我们在操作系统上运行的程序都是进程。...

2021-03-11 18:15:29 255

原创 mysql行级锁 表级锁 乐观锁 悲观锁

*在MySQL中,只要有多个请求需要在同一时刻修改数据,都会产生并发控制的问题。而锁的作用可以保证同一资源能被某个请求唯一使用。加锁是会消耗系统资源的,包括获得锁、检查锁是否已解除、释放锁等等操作,都会增加系统的开销.为了平衡锁的开销和数据的安全性,MySQL对锁的粒度提供了多种方式,主要分为表锁和行级锁。1.row-level locking(行级锁)行锁,由字面意思理解,就是给某一行加上锁,也就是一条记录加上锁。只有线程当前使用的行被锁定,其他行对于其他线程都是可用的InnoDB默认行级锁。是基

2020-07-21 14:40:20 357

原创 Statement和PreparedStatement的区别及封装的好处

Statement 和 PreparedStatement之间的关系和区别.关系:PreparedStatement继承自Statement,都是接口区别:1.PreparedStatement是预编译的,对于批量处理可以大大 提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3.statem.

2020-07-14 19:19:04 284

原创 SQL查询语句关键字的执行顺序

SQL查询语句关键字的执行顺序*优先级顺序**from ->on ->join ->where ->group by ->having ->select ->distinct ->order by->limit1.FROM:组装来自不同数据源的记录ON :排除不满足join的条件的行2.JOIN:多表关联3.WHERE:根据指定的条件过滤上一步检索出的记录4.GROUP BY:对上面过滤后的记录按指定条件分组 可使用列别名5.HAV...

2020-07-14 19:04:33 291

原创 抽象类为什么不能直接创建对象?

1.抽象类为甚麽不能直接创建对象?1.子类更具体,父类更抽象,直接创建父类对象本身没有意义。2.如果创建的是父类对象再调用方法的时候,调用的父类中的方法,而非子类的方法,它违背了多态的这种思想和设计3.因为父类引用指向子类对象时,调用的方法是子类重写的方法,一般父类中的描述不够具体,并不是说抽象类的构造方法没有意义,那么在创建子类对象时需要先调用父类的构造方法。4.抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必

2020-07-14 18:42:54 1902

原创 StringBuilder类的简单理解

Java提供了String、StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法。本文主要讲解StringBuilder类的简单使用及其优点。StringBuilder类StringBuffer与StringBuilder都继承自AbstractStringBuilder类1.首先了解StringBuilde与StringBuffer与str...

2020-03-26 00:32:58 260

原创 leetcode1342

https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero/While循环判断num不为0时 每次循环执行次数sum加一判断num 为偶数则除以2 为奇数减1一直执行到num=0 跳出循环 返回sumclassSolution{publicintnumberOfSte...

2020-03-14 23:56:26 178

原创 Leetcode 数组专项

https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/674. 最长连续递增序列classSolution{publicintfindLengthOfLCIS(int[]nums){if(nums.length==0||nums.length...

2020-02-23 18:52:03 135

原创 牛客专项练习之(数组查找选择)

1正确答案:A 分块查找的查找长度和表的长度,块的长度均有关。分块查找时,首先在索引表中进行查找,确定要找的节点所在的块。由于索引表是排序的,因此,对索引表的查找可以采用顺序查找或折半查找;然后,在相应的块中采用顺序查找,即可找到对应的节点。A. 1 B.2 ...

2020-02-23 16:03:32 170

原创 Java语言设计基础篇数组练习

1importjava.util.*;classDemo05_01{publicstaticvoidmain(String[]args){/*思路1:数组长度不固定需要读取一个数据数组扩容填入数据数据填入之后进行排序然后遍历数组依次判断数据的个数连续相等2...

2020-02-20 17:41:30 147

原创 冒泡排序和选择排序

十大经典排序算法有1 冒泡排序 2.选择排序 3.插入排序 4.计数排序 5.希尔排序 6.归并排序 7.堆排序 8.快速排序 9.桶排序 10.基数排序1.冒泡排序1.概念:冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比...

2020-02-18 15:06:17 103

原创 Java之数组基本操作与概念

数组1.引入数组:之前在定义数据的时候,大部分都是用变量来存储数据, 如果我们的程序中出现大量的数据怎么办?连续输入多个数字,连续输入多个坐标点,一般而言会创建多个变量存储这些数据,显得比较麻烦。这些变量基本上类型是共通的,那我们就可以用一个容器将所有的数字进行管理。类似于字符串,字符串其实就是若干个字符的容器而已,“abc”可以通过索引/角标...

2020-02-15 16:43:15 124

原创 用迭代及递归解决(斐波那契及汉诺塔问题)

递归1、递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量.递归的能力在于用有限的语句来定义对象的无限集合。2、迭代:利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用B。3、递归和迭代的区别:...

2020-02-15 15:01:22 340

原创 Java之函数概念理解及练习

return:发现return不在 !!!而是因为函数没有返回值 所以return可以忽略不写 不代表不存在 !!!return本身表示结束当前函数! !!!如果函数有返回值 return 返回值; 必须写

2020-02-12 20:18:15 230

原创 流程控制语句(一)选择结构

流程控制语句1 顺序结构:代码从主函数开始逐行向下运行也是一种宏观的代码运行结构。2 选择结构 : ①if语句 ②switch语句3 循环结构: ①for循环 ②while循环选择结构1. if语句 :生活中的很多事情都是在满足一定条件下发生的,同样,程序中的“某操作语句”也是在满足一定逻辑条件下才执行的,这种语句称作条件语...

2020-02-11 15:09:16 328

原创 流程控制语句二(for循环结构)

for循环1.介绍 当我们在代码中重复进行同一操作时,并且已知重复次数,或结束条件,我们可以使用循环结构来写,而使代码不显得过于冗余。2.循环的四要素1.循环初始化—指的就是循环从什么时候开始执行。2.循环继续条件—什么情况循环继续执行/反过来说,循环何时结束。3.循环体—就是我们需要被多次循环执行的代码块。4.循环的周期,步长,间距–当前循环和下一次循环之间的变更3....

2020-02-09 22:37:37 183

原创 Java小白到菜鸟练习及(运算符的使用)

## ++运算符的操作i++先参与运算在+1 i++ 1.先开辟一个临时存储区 2.将i的值复制到存储区 3.i自身+1 4.临时存储区的值等待被调用(参与运算,输出,赋值) */ 1.我们用实际代码来深入学习++的运算```javaclass Demo1{ public stat...

2020-02-08 19:20:19 240

原创 JAVA 从小白到菜鸟

JAVA 从小白到菜鸟#了解语言1.机器语言计算机的原生语言因计算机类型的不同而有差异,计算机的原生语言就是机器语言 ( machine language), 即一套内嵌的原子指令集。因为这些指令都是以二进制代码的形式存 在,所以,为了以机器原生语言的形式给计算机指令,必须以二进制代码输人指令。例如, 为进行两数的相加,可能必须写成如下的二进制形式。2.汇编语言在计算的早期就创建了汇编语...

2020-02-05 19:04:20 958 2

空空如也

空空如也

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

TA关注的人

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