自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 char、varchar和nvarchar的区别

本文仅讨论SQL数据类型varchar 用于存储变长字符数据,其长度不超过 8KB。char 用于存储定长字符数据,其长度最多为 8KB。nvarchar用于存储可变长度Unicode字符数据。其长度最多为4000字符。(因此当遇见数据库查询为????时,不妨检查一下相关编码是否为Unicode,然后更换varchar 为nvarchar)...

2022-07-09 20:10:39 494 1

原创 常见排序算法总结——10常用+4整活+2整合

常见排序算法总结

2022-03-15 21:08:44 346

原创 Java中有哪些常见集合结构?它们的区别? (List/Map/Set)

常见的集合结构,主要说的就是List/Map/Set1.首先List和Set都是Collection的子接口,而Map不是。2.List和Set存储的是单种元素,而Map存放的是键值对。3,.ListSet有序无序可重复不可重复4.对于null,List支持多个null,Set最多存储一个null,而Map只支持一个null键,但允许多个null值。...

2021-09-28 14:14:06 215

原创 如何创建单例模式?

文章目录前言一、标准饿汉式单例0.原初饿汉式1.静态代码块二、标准懒汉式单例0.原初懒汉式1.方法同步(基本不用)2.双重检查锁定(面试重点)三、IoDH四、枚举(最佳实践)优缺点总结前言单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。一、标准饿汉式单例在类加载的时候就创建单例对象,后续就只需要调用即可。优点:1.线程安全:无论如何多线程访问,保证唯一实例2.调用、反应速度快:因为类加

2021-09-27 16:32:59 1265

原创 Java泛型和类型擦除的理解?

水平有限,只放自己的简单理解,下面推荐相关优秀博客链接泛型是指可以将类型当做参数,传递给一个类或方法。而java的泛型是伪泛型,因为,在编译期间,所有的泛型信息都会被擦除掉,这个过程就叫做类型擦除。1.理解类型擦除public static void main(String[] args) { List<Integer> arrayList1 = new ArrayList<>(); List<String> arrayList2 = new Arr

2021-09-26 16:28:19 311

转载 try..catch..finally结构中, try或catch中return了, finally还会被执行吗?

1.如果 catch 中 return 了,finally 还会执行吗?会。finally的作用就是,一般情况下,finally里的代码一定会被执行。如果在catch中return了,也会在return之前,先执行finally代码块。而且如果finally代码块中含有return语句,会覆盖其他地方的return。对于基本数据类型的数据,在finally块中改变return的值对返回值没有影响,而对引用数据类型的数据会有影响。2.finally是否一定会被执行?finally的真正含义是

2021-08-31 00:27:55 3921

原创 Final可用在哪些位置? 分别表示什么作用?

文章目录前言一、final修饰类二、final修饰方法1.被final修饰的方法不可以被重写2.被final修饰的方法,JVM会尝试将其内联,以提高运行效率(早期java)三、final修饰变量1.被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变。2.被final修饰的常量,在编译阶段会存入常量池中。总结前言速记被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向

2021-08-25 15:14:13 1203

原创 throw和throws区别

文章目录throwsthrow理解throwsthrows ,就是在方法声明处使用的用来抛出异常的语句,它抛出的异常来源于系统自动生成的异常对象。一个方法必须声明所有可能抛出的检查型异常(java将派生于Error类或RuntimeException类的所有异常称为非检查型异常,所有其他的异常称为检查型异常)(摘自《Java核心技术卷I》)throwthrow ,手动抛出异常,它抛出的异常是你手动生成的。为什么要手动生成异常并抛出?因为,一旦方法抛出了异常,这个方法就不会返回到调用者。也就是说,

2021-08-25 14:19:14 112

转载 HTTP/2.0的新特性

文章目录一、HTTP/1.1的主要缺陷1、队首阻塞2、只能由客户端发起请求3、请求/响应报文的首部信息冗余4、报文数据不强制压缩,导致传输量大二、HTTP/2.0的特性1、二进制传输2、多路复用3、首部压缩4、服务器推送5、更安全一、HTTP/1.1的主要缺陷1、队首阻塞HTTP/1.1使用管道技术(Pipelining),,使得:客户端可以并行发送多个请求,服务器也可以并行处理多个请求但是根据FIFO(先来先服务)的规则,服务器要按照接收请求的顺序 来返回响应客户端接收响应的顺序也要和自己发

2021-08-23 17:07:15 166

原创 Java中最顶层的父类是? 里面有什么方法?

文章目录前言0、Object()1、registerNatives()2、getClass()3、hashCode()4.equals5.clone()总结前言Java中最顶层的父类是Object,这是一道送分题。而里面有什么方法,一般程序员都答不全(因为正常情况不需要记这么多)。让我们先看一下源码概览private static native void registerNatives();//返回此对象的运行时类.public final native Class<?> get

2021-08-23 14:42:05 1220

原创 ==与equals的区别

文章目录前言一、理论补充二、实例理解总结前言“==”是关系运算符,equals()是方法,同时他们的结果都返回布尔值;“==”使用情况如下:基本类型,比较的是值引用类型,比较的是地址不能比较没有父子关系的两个对象equals()方法使用如下:系统类一般已经覆盖了equals(),比较的是内容。用户自定义类如果没有覆盖equals(),将调用父类的equals (比如是Object),而Object的equals的比较是地址(return (this == obj);)用户自定义类需要

2021-08-16 14:46:52 281

原创 重载与重写的区别

文章目录零、前言一、重载二、重写三、杂食如果不能继承一个方法,则不能重写这个方法。声明为 final 的方法不能被重写。声明为 static 的方法不能被重写,但是能够被再次声明。四、总结零、前言省时间可以只看上面回忆。区别点重载重写参数列表必须修改不修改返回类型没有要求与父类返回类型兼容异常没有要求可以减少或删除,不能抛出新的或者更广的异常访问权限没有要求不能低于父类一、重载在一个类中,同名的方法如果有不同的参数列表(不同的判定标准包

2021-08-16 10:34:59 164

原创 抽象类是什么?它与接口有什么区别?你为什么要使用抽象类?

文章目录一、抽象类是什么?二、抽象类与接口有什么区别?二、使用步骤1.引入库2.读入数据总结一、抽象类是什么?菜鸟教程中指出:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。简单来说就是:不能实例化的类称为抽象类。延伸推论:有抽象方法的类是抽象类被abstract修饰的类是抽象类二、抽象类与接口有什么区别?二、使用步骤1.引入库代码如下(示例):impor

2021-08-06 17:15:41 523

原创 IDEA复制方法的全路径

双击(或者直接拖动)选中方法,然后按Ctrl + shift + alt + 按键C方法的全路径就保存在剪切板了。得到的是的包名.类名#方法名 的格式如org.example.App#main(类同理)

2021-08-04 15:13:02 5750 3

原创 VScode编辑器之CSS无法匹配class的bug

记录一次神奇的BUGBUG描述解决方案BUG描述当时是从微信上将代码直接复制到VS上,然后使用VS的格式化功能,然后发现在另一台电脑上能跑通的HTML竟然不能用了。在排除了诸如css链接地址错误html、css、浏览器编码不匹配css文件访问权限问题仔细检查代码发现<div class="container"> <div class="top">看似没有什么问题,但利用VS双击显示变量名的功能可以看到好家伙,竟然将div class识别为了一个变量

2021-07-28 23:58:28 1310

原创 ArrayList与 LinkedList 的区别

文章目录前言一、增删二、改查三、空间占用四、拓展1.扩容机制2.线程安全总结前言ArrayList与 LinkedList 的最大区别就是底层数据结构ArrayList:是顺序存储的线性表(普通数组)LinkedList :是链式存储的线性表(双向链表)其余各项区别都是由此而生的。一、增删ArrayList:使用add(E element)方法,默认尾插,这种情况下时间复杂度为O(1)。public boolean add(E e) { ensureCapacityInte

2021-07-27 16:27:36 292

原创 String,StringBuilder和StringBuffer的区别

文章目录前言一、可不可变二、线程安全小加餐总结前言直接摆结论主要有两个方面的区别:1.String是字符串常量,StringBuilder和StringBuffer是字符串变量2.StringBuilder是线程不安全的;StringBuffer是线程安全的。由此可以引申出效率,执行速度等方面的问题。一、可不可变String:常常看见字符串拼接的+,但它并不是在原对象上进行修改,而是产生了一个新的对象,然后旧对象就被取消引用了。然后当内存中无引用对象多了以后, JVM 的 GC 就会开始

2021-07-23 14:43:31 272

原创 synchronized修饰方法

文章目录前言一、Synchronized修饰非静态方法二、Synchronized修饰静态方法三、类锁和对象锁的访问是不冲突的四、总结前言直接说结论:1.Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。2.Synchronized修饰静态方法,实际上是对该类对象加锁,俗称“类锁”。3.对于类锁synchronized static,是通过该类直接调用加类锁的方法,而对象锁是创建对象调用加对象锁的方法,两者访问是不冲突的,对于同一类型锁锁住的方法,同一对象是

2021-07-22 18:34:52 5983 3

原创 初次配置zookeeper——Invalid config, exiting abnormally

网上总结几个办法:检查dataDir和dataLogDir对应文件夹是否已经存在:由于zookeeper配置时不会自动创建文件夹,所以要自己手动创建好。踩雷:win10下配置时,注意其配置文件zoo中\默认为转义符,即E:\environment\zookeeper-3.4.6\data应该写为E:\environment\zookeeper-3.4.6\dataclientPort端口被占用将被占用的端口关闭或修改配置端口多打了空格这个只能自己发现,然后删掉myid

2021-07-08 17:10:50 695

原创 Python数据爬虫入门笔记之初识爬虫

首先我们应该认识到数据爬虫是什么?

2020-12-07 23:31:14 358

空空如也

空空如也

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

TA关注的人

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