自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构——树

二叉搜索树 也称二叉查找树,或二叉排序树。 定义也比较简单,要么是一颗空树,要么就是具有如下性质的二叉树: 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的 值; 任意节点的左、右子树也分别为二叉查找树; 没有键值相等的节点。 完全二叉树 一颗深度为k二叉树,有n个节点,对这棵树进行编号,如果所有的编号都和满二叉树对应,那么这棵树是完全二叉树。 满二叉树 一个二叉树,如果每一个层的结点数都达到最大值,则这

2020-09-06 12:40:24 334

原创 Mybatis知识

Q:Mybatis中#{}和${}的区别是什么? A: #{}是预编译处理,${}是字符串替换。 Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值; Mybatis 在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。 使用#{}可以有效的防止 SQL 注入,提高系统安全性。 Q:讲下 MyBatis 的缓存? A: MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级

2020-09-05 18:43:57 328

原创 事务问题

事务隔离级别(4种) 读未提交 存在脏读、不可重复读、幻读 读已提交 存在不可重复读、幻读 可重复读 存在幻读 串行化 直接无敌,所有的事务串起来一个个执行,因为没有并发的场景出现了,什么幻读、脏读、不可重复读统统都不存在的。但是同样的,基本并发能力会非常差。 脏读:指一个事务读取了另外一个事务未提交的数据。假设A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。 不可重复读:指一个事务在一次事务内多次读取的数据不一致。假

2020-08-11 00:11:45 346

原创 数据库知识详解

数据库知识详解 Q:我看你简历上写到了熟悉MySQL数据库以及索引的相关知识,我们就从索引开始,索引有哪些数据结构? A:Hash、B+ Q:为什么哈希表、完全平衡二叉树、B树、B+树都可以优化查询,为何Mysql独独喜欢B+树? A: 哈希表的特点就是可以快速的精确查询,但是不支持范围查询。 例如下sql select * from student where name = '张三'; 可以直接对‘张三’按哈希算法算出来一个数组下标,然后可以直接从数据中取出数据并拿到所对应那一行数据的地址,进而查询那

2020-08-03 09:46:19 450

原创 多线程全解

作为面试时提问的半壁江山,多线程一直是一大考点,写篇详细的全解,等面试的时候吊打面试官!加油,奥利给! 多线程全解 一、线程的几种状态 New 新建状态 Runnable 运行状态 Blocked 阻塞状态(.sleep 抱着锁睡;.await 放开锁等待;) Waiting 等待(死等,不见不散) Timed_Waiting 等待(等一会儿,过时不候) Terminated 结束 二、创建线程的几种方式 继承Thread类 实现Runnable接口,实现run()方法(最简单,最常用) 示例:

2020-06-01 08:50:12 277

原创 JVM体系结构概述

JVM体系结构概述 一、类加载器ClassLoader 相当于一个快递员,用来将物理硬盘中的class文件加载进JVM(中的方法区),JAVA自带的类加载器有三个(除了自带的,用户也可以集成ClassLoad抽象类自定义加载器) 1、启动类加载器(Bootstrap) 加载Jdk自带的类时(jre/lib/rt.jar包下的类,常用:Object、String、ArrayList)使用启动类加载器,使用C++编写; 2、扩展类加载器(Extension) 加载扩展包中的类(jre/lib/ext/*.ja

2020-05-26 23:04:03 452

原创 函数式接口

函数式接口 概念:函数式接口就是一个有且只有一个抽象方法的接口(可以有其他非抽象的方法)。 在jdk8以后,在java.util.function包下新增了一大堆接口,都是函数式接口,代表了接口调用的各种不同应用场景。 主要包括四大核心函数式接口: 消费型接口(Consumer<T’>,泛型参数,返回值为空) Consumer<String> consumer = s -> { System.out.println(s); }; consumer.accept("cjq");

2020-05-26 00:01:11 198

原创 Stream流

JDK8新特性:lambada、函数式编程、Stream流,这章我们来讲讲Stream流,建议lambada、函数式编程不熟悉的同学还是先补一下这俩,不然会一脸懵逼! Stream流 概念 Stream流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。即,集合讲的是数据存储,流讲的是数据计算! 也可以理解为,流 就是运行在java中的sql语句。 一、 流的生成方法 Collection接口的stream()或parallelStream()方法 静态的Stream.of()、Stream.e

2020-05-25 23:58:53 277

原创 堵塞和非堵塞 | 同步与异步

堵塞和非堵塞 | 同步与异步 故事:老王烧开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 有好几种等待方式: 1.老王用水壶煮水,并且站在那里,不管水开没开,盯着水壶看水开了没。-同步阻塞 2.老王还是用水壶煮水,不再傻傻的站在那里看水开,而是开始一边玩手机一边等水开,每隔一段时间看看水开了没有,水没有开就继续刷手机。-同步非阻塞 3.老王还是使用响水壶煮水,跑到客厅上网去,等着响水壶自己把水煮熟了以后通知他。-异步非阻塞 以上的烧开水故事,一共有三个对象,分别是: 老

2020-05-20 00:32:45 267

原创 ArrayList 全解

HashMap全解有了,Redis全解有了,今天来个简单的ArrayList全解!废话不多说,开问! ArrayList底层是什么? ArrayList底层就是一个Object类型的数组。 ArrayList初始容量? ArrayList 初始容量为0,第一次add之后扩容为10,类似懒加载。 ArrayList扩容机制,每次扩容多少? 每次扩容为当前容量的1.5倍。 扩容拷贝使用方法? 使用的是...

2020-04-30 16:03:57 428

原创 聊一聊Spring

当年的我,刚学Spring的时候,会想:这『IOC和AOP』是什么鬼玩意啊?一大堆的名词「控制反转」「依赖注入」「面向切面编程」。这是在给我搞笑的吧。 在最开始学的IOC折腾了一大堆的玩意,结果就是在管「创建对象」的事??逗我呢???我直接new一个对象出来不香吗? 有这种想法这种明显就是「代码写得少了,想得多了」 Spring IOC(Inversion of Control) Spring I...

2020-04-19 17:45:05 337

原创 源码分析Spring请求执行流程

由于疫情的原因,今年的清明节实属凄凉,让我们为负重前行的英雄们,默哀。。。。 一直在用Spring,但是从来没考虑过前端的请求是如何调用到Controller中的方法的,只在网上看看别人的回答,今天呢,游戏也不让玩,闲来无事翻了翻Spring请求的源码,在此做个小总结: 网图整楼 咱做java开发的,对这张图大家应该都不陌生:首先前端控制器接收请求,然后前端控制器调用处理器映射器… 朗朗上口,倒...

2020-04-12 19:01:48 540

原创 JVM升级——GC

前言 大疫情影响下的互联网公司,没有了从前的交头接耳,没有了往日的吵吵闹闹。大家都戴着口罩,安安静静的敲着键盘,唯恐附近的就有病原体。 工作量也是断崖式下跌,去年年底还是天天加班到凌晨的状态,现在上班划划水,下班到点走人,两个字,舒服~~ Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员...

2020-03-12 17:50:06 793

原创 乐观锁和悲观锁

前言: 关于线程安全一提到可能就是加锁,在面试中也是面试官百问不厌的考察点,往往能看出面试者的基本功和是否对线程安全有自己的思考。 那锁本身是怎么去实现的呢?又有哪些加锁的方式呢? 一 、乐观锁 乐观锁,顾名思义就是比较‘乐观’,类似于:我相信你不会渣我!就是说认为数据总是不会被更改。 CAS(Compare And Swap 比较并且替换)就是乐观锁的一种实现方式,是一种轻量级锁。 CAS 是怎...

2020-03-09 23:36:56 604

原创 Redis工具类——JedisUtils

        今天写程序的时候碰到一个需求:根据电话号码,到redis中模糊查询有关的数据。本来以为很轻松的需求,结果上手之后发现当前项目里用的redis客户端(类)是ShardedJedis,不断测试并查询了全网,最后得到结论——ShardedJedis没有keys(模糊查询)方法。   &n...

2020-02-28 19:23:16 1975

原创 浅拷贝和深拷贝分析

在学习原型设计模式时,了解到对象克隆的概念,特地新出一篇博客详细记录一下。 1、浅拷贝        对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。对于数据类型是引用数据类型的成员变量(数组或类对象等),那么浅拷贝会进行引用传递,也就是将该成员变量的内存地址复制一份给新的对象。两个对象的该成员变量都指向...

2020-02-15 17:06:06 195

原创 一图搞懂UML类图

2020-02-08 15:42:33 296

原创 JAVA设计模式

写在前面:很多老程序员、前辈都说,要往高深的方向走,算法和设计模式都是必须掌握的。说来惭愧,开发一年多,对于设计模式只知道简单的懒汉式饿汉式,外面疫情肆虐,刚好补充一下自己的短板,让自己不再拘于增删改查,在开发道路上走的更远! 设计模式的七大原则 设计模式原则,就是 设计模式为什么要这样设计的依据。也是程序员在变粗时应当准守的原则。 单一职责原则 对类来说的,即一个类应该只负责一项职...

2020-02-06 19:23:56 199

原创 int数据类型

问:int数据类型的大小? 解答:int的范围是 - 2 ^ 31 ~2 ^ 31 - 1; 也就是:[-2147483648, 2147483647]。 问:int类型占4个字节共32位,也就是说最大是1111 1111 1111 1111 1111 1111 1111 1111,即2^32-1,那么为什么说最大是2 ^ 31 - 1? 解答:int类型为32字节,但是第一字节所表示的值...

2020-02-04 16:55:30 3422 2

原创 HashMap全解

疫情肆虐,时间空余,将HashMap源码看了看,加上之前的知识,总结了一篇针对hashMap的常见问题,放在这里分享,如理解有误,请留言指正。

2020-02-04 12:06:17 755

原创 spring事务失效场景

spring事务失效场景 添加@Transactional后的方法,不会直接操作数据库,例如保存方法,在执行完保存语句后,数据库并没有出现该数据,只有方法结束之后,才会正式保存到数据库。 1、首先使用如下代码 确认你的bean 是代理对象吗? 必须是Spring定义(通过XML或注解定义都可以)的Bean才接受事务。 直接new出来的对象添加事务是不起作用的。 可以通过以下方式判断是否是代理对象:...

2020-01-11 15:23:23 4901

原创 小技巧——获取当前连接的wifi密码

获取当前连接的wifi密码 现在,我们的设备都非常智能,在第一次连接wifi输入密码后都会自动连接,以至于我们时常忘记家里的wifi密码,家里突然来了亲戚朋友,又一时想不起密码,贼尴尬! 这边保存两个获取当前连接密码的小技巧,让你密码无忧! 移动端 打开手机上的wifi管理,长按当前连接的wifi,此时会弹出一个二维码,如图 截屏该二维码,然后使用微信扫一扫,会出现当前的页面,如图 获取的信...

2019-12-17 13:20:08 1120

原创 Redis全解

Redis 一、redis常用命令 1、值类型操作: 设置值:redisTemplate.boundValueOps(“name”).set(“itcast”); 取值:redisTemplate.boundValueOps(“name”).get(); 删值:redisTemplate.delete(“name”); 2、Set类型操作:(特点:存取无序) 增:redisTemplate....

2019-07-07 23:04:19 1721 1

原创 浅谈get请求和post请求的区别

浅谈get请求和post请求的区别今天所听闻的get、post的请求区别,有点颠覆之前对他们的认知,作为第一篇文章发布并巩固一下一、如果今天之前,有面试官问我:“get、post请求区别是什么?”二、今天之后,有面试官再问我这个问题,我会在结尾加一段‘正确答案’三、此时,又有同学会问:“既然他俩本质上是一样的,为啥要多此一举,创建这么多请求方式?” 今天所听闻的get、post的请求区别,有点颠覆...

2019-06-26 13:00:53 299

空空如也

空空如也

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

TA关注的人

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