自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见的六种哈希构造函数

文章目录相关概念介绍一、直接寻址法二、数字分析法三、折叠法四、平方取中法五、除留余数法六、随机数法相关概念介绍哈希:Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。散列表:散列表(Hash table,也叫哈希表),是.

2021-02-23 09:47:14 2810 2

原创 近期碎碎念

闲谈

2022-01-12 09:17:50 171

原创 xxxMapper.xml中编写sql语句时有order by的注意点

项目场景:项目场景:根据输入的id集合查找数据库中符合的id并按照输入id集合的顺序输出问题描述:在编写如下xml语句时 <select id="selectRank" parameterType="java.util.List" resultType="com.betterlf.myblog.entity.Blog"> select * from m_blog where id in <foreach

2021-03-12 12:13:10 2916

原创 Java中的GC简单介绍

文章目录一、GC是什么?二、为什么要GC?三、怎么GC?一、GC是什么?GC英文全称为Garbage Collection,即垃圾回收。Java中的GC就是对内存的GC。Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。我们知道对象的分配,程序员可以通过new关键字,Class的new-Instance方法等来显示的分配;而对象的释放,程序员不能实时的进行释放,这就需要GC来完成。二、为什么要GC?因为内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统

2021-03-05 09:38:40 11474 3

原创 ThreadPoolExecutor基本介绍+简单案例

文章目录前言一、构造函数二、参数解释三、案例分析前言在实际开发中,线程池的创建不能使用Exectors去创建线程池,而是采用最原始的ThreadPoolExecutor来创建线程池,这样可以让编写人员更加明确线程池的运行规则,避免不必要的错误。下面我们就来看看ThreadPoolExecutor的构造参数以及它们的作用。一、构造函数ThreadPoolExecutor一共有四种有参构造,下面只给出参数最全的构造函数ThreadPoolExecutor(int corePoolSize, int

2021-03-04 10:12:54 347 1

原创 Mysql中七种常见索引访问类型

文章目录前言建表语句1.ALL2.index3.range4.ref5.eq_ref6.const7.system访问效率前言在少量数据的情况下,数据库有无索引,select语句是否走索引并不影响查询效率;但是在现实世界中,数据是十分庞大的,这时候数据库有索引和select语句走索引对查询效率可能会有几十倍,几百倍甚至更多倍的提高!因此我们在写select语句时一定要通过explain的type来分析索引的访问类型,下面介绍七种种索引的访问类型。建表语句employee表CREATE TA

2021-03-03 08:27:06 599

原创 位运算的妙用(附题目)

文章目录前言1、0/1==不选/选2、同消异留3、“与”判公共前言掌握位运算,可以打开我们求解问题的思路,在某些时候,使用位运算可以方便我们解决算法问题,因此对于一些位运算的小妙招我们需要掌握。注:本文所有例题都来源与leetcode1、0/1==不选/选说明:对于一个二进制数,它的每一位只可能是0或者1,也就是只有两种可能,我们可以把只有两种可能这一特点转换成选/不选这两种情况,这在子集问题上有着很好的应用。题目:78.子集文字说明:给你一个整数数组 nums,数组中的元素互不相同 。返

2021-03-02 09:21:41 97

原创 Java中基本线程池介绍

文章目录前言一、newFixedThreadPool二、newCachedThreadPool三、newSingleThreadExector四、newScheduledThreadPool前言本文章只针对Exectors去创建线程池,让大家对线程池先有点基本的了解,但是实际开发中不允许用这样的方式去创建,而是通过ThreadPoolExecutor方式(最原始的线程池创建方式,之后的文章会涉及)。一、newFixedThreadPool定义:创建一个线程池,重用固定数量的线程,从共享无界队列中

2021-03-01 08:35:09 81 3

原创 Java中线程创建的四种方式

文章目录一、继承Thread类二、实现Runnable接口三、实现Callable接口四、Exectors工具类一、继承Thread类步骤1.自定义线程类,该类继承Thread,可重写run()方法2.创建自定义线程类对象3.该对象调用start()方法举例 class MyThread extends Thread{ @Override public void run() { System.out.println("继承Thread类的自定义线程执行");.

2021-02-27 09:37:41 146 2

原创 Java线程中run()和start()方法讲解

文章目录一、run()方法二、start()方法三、run()和start()区别与联系一、run()方法方法介绍public void run()/*如果这个线程是使用单独的Runnable运行对象构造的,则Runnable对象的run方法; 否则,此方法不执行任何操作并返回。 Thread的Thread应该覆盖此方法。 */简单举例public class testRunAndStart { public static void main(String[] arg

2021-02-26 09:06:37 2595 2

原创 Java中sleep()和wait()方法讲解

文章目录一、sleep()方法及案例使用二、wait()方法及案例使用三、sleep()和wait()区别与联系一、sleep()方法及案例使用方法汇总public static void sleep(long millis)throws InterruptedException/*使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行),具体取决于系统定时器和调度程序的精度和准确性。 线程不会丢失任何显示器的所有权。 */public static void sleep(long m

2021-02-25 11:50:11 434 1

原创 解决哈希冲突的4种常用方法

文章目录相关概念及说明一、开放地址法(1)、线性探测再散列(2)、二次探测再散列(3)、伪随机再散列二、链地址法三、再散列法四、公共溢出区相关概念及说明哈希冲突:由于哈希算法被计算的数据是无限的,而计算后的结果范围有限,因此总会存在不同的数据经过计算后得到的值相同,这就是哈希冲突。哈希构造函数本文的哈希构造函数采用除留余数法,哈希构造函数可以参考我的另一篇文章:常见的六种哈希构造函数例子哈希函数为Hash (key)=key%7,关键字序列为{32,24,15,27,20,13}

2021-02-24 09:11:40 862

原创 JavaWeb开发中常用路径变量注解

文章目录一、@PathVariable二、@RequestHeader三、@RequestBody四、@RequestParam五、@MatrixVariable六、@CookieValue七、@RequestAttribute一、@PathVariable功能:用于访问URI模板变量。案例controller层代码 @ResponseBody @GetMapping("/demo01/{id}/{name}") public String testPathVariabl

2021-02-18 10:05:55 906 1

原创 Mysql中关联查询的介绍及实例

文章目录前言一、建表语句二、交叉连接(CROSS JOIN)三、内连接(INNER JOIN)四、左外连接(LEFT JOIN)五、右外连接(RIGHT JOIN)六、全连接(FULL JOIN)前言Mysql作为日常开发中常用的数据库,并且业务中的数据库查询极大情况下需要多表查询,因此掌握Mysql中的关联查询很重要。一、建表语句class表/*Table structure for table `class` */DROP TABLE IF EXISTS `class`;CREAT

2021-02-10 09:17:00 262

原创 Java中常用排序算法简单介绍及实现(有详细注释)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、冒泡排序二、插入排序三、选择排序四、希尔排序五、合并排序六、快速排序七、基数排序八、堆排序九、各排序算法复杂度总结前言一、冒泡排序定义冒泡排序是指重复地遍历待排序的元素,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。每次遍历都能使得一个位置的元素最终有序,遍历进行到没有相邻元素需要交换时结束。代码实现 public int[] void bubbleSort(i

2021-02-09 09:47:52 106

原创 JAVA中二叉树的四种遍历(迭代+递归)

文章目录前言一、二叉树类的基本结构二、层次遍历三、前序遍历四、中序遍历五、后序遍历前言二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。一、二叉树类的基本结构class TreeNode { int val;//当前结点值 TreeNode left;//左节点 Tre

2021-02-07 09:18:49 561

原创 HashMap基本介绍(哈希冲突,put源码分析)

文章目录前言一、HashMap底层实现二、什么是红黑树三、HashMap的put方法执行流程四、什么是哈希和哈希冲突五、HashMap如何解决哈希冲突前言HashMap:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。一、HashMap底层实现jdk1.7及之前,HashMap底层为数组+链表

2021-02-05 11:38:24 242

原创 JAVA对象初始化步骤

文章目录前言一、对象初始化步骤二、实例三、特殊案例四、枚举类初始化前言在面向对象的编程语言中,了解对象初始化的步骤有利于我们更好地写成代码。一、对象初始化步骤父类静态变量、静态代码块初始化子类静态变量、静态代码块初始化父类变量、代码块初始化父类构造方法子类变量、代码块初始化子类构造方法注意:1:所有的静态变量,静态代码块只会在第一次创建对象时进行初始化2:变量和代码块的初始化过程是按照在类中定义的顺序执行的,如变量a,代码块b,变量c,则初始化过程为a->b->

2021-02-03 09:01:45 1145

原创 Java内部类分类与基本介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-02-02 12:13:45 149 2

原创 Java中ArrayList和LinkedList基本介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、底层数据结构二、扩容机制三、常用方法总结前言List集合作为开发中常用的集合,选择合适的List集合会减少时间上的消耗,ArrayList和LinkedList作为两款单线程环境下常用的List集合,有必要对它们进行较为深入的了解与区分。一、底层数据结构ArrayListLinkedList二、扩容机制ArrayListLinkedList三、常用方法ArrayListLinkedList

2021-01-31 16:10:38 249

原创 Java中的String对象创建及比较

String一、字符串常量池二、String对象的创建方式三、 String比较四、字符串拼接"+"的影响一、字符串常量池字符串常量池用于存放字符串常量。在jdk1.7之前,其存放在永久代中;jdk1.7之后移至java堆中。二、String对象的创建方式java中String对象一共有两种创建方式字面量形式用字面量形式进行String对象创建时,会首先在常量池中查找是否有该字面量,若有该字面量,则直接返回该字面量的引用地址;若不存在该字面量,则先将该字面量加入常量池中再返回引用。 St

2020-12-24 18:38:10 191 1

原创 Java核心技术总结一:Java的基本程序设计结构

Java的基本程序设计结构一、注释二、数据类型三、变量与常量四、运算符五、字符串六、输入与输出七、控制流程八、大数九、数组一、注释// 单行注释/* */ 多行注释/** */ 自动生成文档二、数据类型整型 类型 存储需求 取值范围 byte 1字节 -128 ~ 127 short 2字节 -32768 ~ 32767 int 4字节 -2147483648 ~ 214748364

2020-12-23 21:48:21 416 5

空空如也

空空如也

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

TA关注的人

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