自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录,是一种习惯;坚持,是一种品质。

记录,是一种习惯;坚持,是一种品质。

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

原创 深入学习git

对git整体架构及原理通过流程图快速理解,以及对git常用命令及操作解析

2023-10-02 16:22:43 689

原创 PowerDesigner学习笔记

① —张表跟自己的关系,是Reflexive (自反);② 一张表的主键和字段全部传递给另一张表,是Inheritance(继承);③ 一张表只把自己的主键传递给另一张表,是Relationship(关系)和Association(关联),其中,Relationship可以是一对一、一对多、多对多;Association只能是多对多;④ Mandatory(强制)选项,选中了,表示:一张表的主键传递给另一张表,作为后者的外键,并且不能为空﹔

2023-08-28 01:01:46 1296

原创 Mysql45讲学习笔记

这篇文章主要总结事务,锁、索引的一些知识点,然后分享一下自己学习小心得,我会从点到线在到面展开说说,对于学习任何知识,我们都应该藐其全貌,不要一开始就选入细节。

2023-08-26 23:20:27 410 1

原创 Java基础部分面试题(2023最新)

如果不同的话,就会重新散列到其他位置。基本数据类型中用来描述文本数据的是 char,但是它只能表示单个字符,如果要描述一段文本,就需要使用 char 类型数组,但是使用数组过于麻烦,所以就有了 String,String 底层就是一个 char 类型的数组,只是使用的时候开发者不需要直接操作底层数组,使用更加简便。的关键字,一般作用在try-catch-finally代码块中,在处理异常的时候,通常我们将一定要执行的代码放在finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来。

2023-04-24 22:05:13 1471 1

原创 07动态代理

try {//获取到当前生成器的类加载器 ClassLoader loader = getClassLoader();//当前类加载器对应的缓存 缓存key为类加载器,缓存的value为ClassLoaderData 这个类后面会再讲 Map < ClassLoader , ClassLoaderData > cache = CACHE;//先从缓存中获取下当前类加载器所有加载过的类 ClassLoaderData data = cache . get(loader);

2023-04-21 00:16:17 458

原创 IDEA断点使用技巧

鼠标光标所在位置+(Alt+F9)根据某个条件进行断点。六、代码注释颜色设置。

2023-04-11 00:09:16 387

原创 Spring源码分析-Bean创建流程四

这篇文章主要是聊到以下几个比较重要的点1、Bean实例化构造器的选择2、BeanPostProcess四个实现中的哪里会用到3、实例化几种策略4、最后,聊一下@PostConstruct和@PreDestroy注解的原理小编熬夜写这篇文章写得比较急,就不做总结了,hhhhh。

2023-03-30 01:36:07 566

原创 Spring源码分析-Bean创建流程三

先上案例,通过现象,挖掘本质,@OverrideSystem.out.println("beanName:"+beanName+"----执行postProcessBeforeInstantiation方法");System.out.println("创建代理对象:"+beforeInstantiation);@Override。

2023-03-28 20:54:27 404

原创 Spring源码分析-Bean创建流程二

验证及准备覆盖的方法,lookup-method replace-method,当需要创建的bean对象中包含了lookup-method和replace-method标签的时候,会产生覆盖操作。spring中默认的对象都是单例的,spring会在一级缓存中持有该对象,方便下次直接获取,通过拦截器的方式每次需要的时候都去创建最新的对象,而不会把原型对象缓存起来,

2023-03-27 00:24:55 290

原创 动态代理原理

1,JAVA动态代理是使用java.lang.reflect包中的Proxy类与接口这两个来完成的。2,要使用JDK动态代理,委托必须要定义接口。3,JDK动态代理将会拦截所有pubic的方法(因为只能调用接口中定义的方法),这样即使在接口中增加了新的方法,不用修改代码也会被拦截。4,动态代理的最小单位是类(所有类中的方法都会被处理),如果只想拦截一部分方法,可以在invoke方法中对要执行的方法名进行判断。1、CGLIB可以生成委托类的子类,并重写父类非final修饰符的方法。2、

2023-03-26 21:08:48 389 1

原创 Spring源码分析-Bean创建流程一

1、合并的对象是什么?是当前对象和其以上父类(父Bean)的信息合并。2、为什么合并?① 子类继承父类,也继承了父类的公有属性② 当我们获取到Bean的初始化BeanDefinition时,并未进行创建,所以父类也没有加载③ 当我们获取到父类的BeanDefinition并将其丰富自身的BeanDefinition。这样后续在创建Bean的时候,就可以直接那合并后的BeanDefinition直接进行创建。3、什么时候进行合并的?

2023-03-20 22:29:31 294

原创 怎么搭建知识体系?

比如你对音乐有兴趣,你刚开始的问题也许只是怎么样才能把歌唱的好听,但你在解决这个问题的时候,发现需要训练节奏、音准、发声等,然后你往下探索发现需要学习乐理、乐器等方面的知识,而你不满足于此,还想在这个行业深耕,于是你就会往下深入,开始接触声学、美学、生理学、甚至数学、哲学。当然,你学了那么多东西,当然过不好这一生,你需要用出来才能过好这一生。,这个让你产生疑问和控制住你身体的意识就是元认知,而让你停下来,意识到自己下意识攻击冲动的是你身体的本能保护机制,并且这种机制是演化的需要,它是有问题的!

2023-03-19 16:16:28 1260 1

原创 关于ThreadLocal原理分析及其使用

ThreadLocal更像是对其他类型变量的一层包装,通过ThreadLocal的包装使得该变量可以在线程之间隔离和当前线程全局共享。线程的隔离性和变量的线程全局共享性得益于在每个Thread类中的threadlocals字段。(从类实例对象的角度抽象的去看Java中的线程!!!ThreadLocalMap中Entry的Key不管是否使用弱引用都有内存泄露的可能。引起内存泄露主要在于ThreadLocal对象和Entry中的Value对象,因此要确保每次使用完之后都remove掉Entry!

2023-03-19 11:59:54 436

原创 getClass和.class作用

Java基础

2023-03-08 22:15:03 947

原创 泛型学习笔记

泛型详细笔记

2023-02-27 20:53:51 204

原创 Hash源码解读

(2)构造器(3)put方法流程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYuaZ1et-1665857551260)(C:/Users/Lenovo/Desktop/1699fb0ff779422299b9b117e14e0ec0.png)](5)获取Hash值(6)获取数组下标(7)把元素插到数组中(头插法)(8)扩容详解2、小结如果加载因子设置为1,空间利用率得到很大的满足,但很容易碰撞,产生链表->查询效率低如果加载因子设置为0.

2022-10-16 02:13:13 794

原创 集合框架面试题

h&(length-1)等效h%length操作,等效的前提就是length必须是2的整数倍减少Hash碰撞,尽量使Hash算法的结果均匀利于数组扩容这个算法应该如何设计呢?我们首先可能会想到采用%取余的操作来实现。但是,重点来了:“取余(%)操作中如果除数是2的幂次则等价于与其除数减一的与(&)操作(也就是说 hash%length==hash&(length-1)的前提是 length 是2的 n 次方;)。

2022-10-15 16:35:33 199

原创 2、面向对象和面向过程的区别?

面向过程与面向对象区别

2022-09-20 23:26:48 266

原创 1、Java语言有哪些特点

谈谈你对Java的理解

2022-09-20 22:27:16 212

原创 如何使用Xshell连接VMware上的Linux虚拟机

第一步:检查Linux虚拟机的网络连接模式,确保它是NAT模式第二步:点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开下方的虚拟网络编辑器。选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(一图胜千言,其他不多说,跟我保持一致就行)第三步:用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens* ,除了UUID用回原有的,其他可以都全部覆盖TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=n

2021-05-18 22:05:41 388

原创 Spring源码

标题一标题而标题删标题而标题一

2021-05-13 23:32:38 97

原创 数据库相关面试题

关系型数据库常考考点架构如何设计一个关系型数据库?1)程序实例:存储管理、缓存机制、SQL解析、权限划分、容灾机制、索引管理、锁管理2)存储:文件系统索引为什么要使用索引?1)为了加速数据表中行记录的检索的数据结构2)快速查询信息,避免全表扫描,减少IO操作次数什么信息能够成为索引?主键、唯一键等索引常用的数据结构?MySQL存储引擎使用较多的索引有Hash索引,B+树索引等而oracle存储引擎也用到位图索引(bitMap)InnoDB存储引擎的默认索引实现为:B+树索引B

2021-05-08 15:49:14 150

原创 在centos7上安装mysql

第一步:前置准备工作通过xshell工具把以下两个文件上传到linux服务器mysql-community-server-5.7.27-1.el7.x86_64.rpmmysql-community-client-5.7.31-1.el7.x86_64.rpm(如需要这两个安装包可以联系我)移除mariadbrpm -qa | grep mariadbrpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64(填写你自己那个)第二步:查看是否已安装mys

2021-05-07 00:58:33 409

原创 sql约束有哪些

非空约束(NOT NULL):指示某列不能存储 NULL 值。 唯一约束(UNIQUE) :保证某列的每行必须有唯一的值。 主键预约(PRIMARY KEY):NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。 外键约束(FOREIGN KEY)保证一个表中的数据匹配另一个表中的值的参照完整性。 检查约束(CHECK):保证列中的值符合指定的条件。 默认约束(DEFAULT) :规定没有给列赋值时的默认值。...

2020-09-29 15:06:04 2730

原创 MySQL的事物基本要素及四种事务隔离级别

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。   3、隔离性(Isolation):同一时间,只允许一个事务请求同.

2020-09-29 11:36:42 307

原创 学习java的办法很简单

学习java的办法很简单,总结来说就是两句话,一句是,维护一个属于自己的知识框架图,第二句隔三差五去看看你所记的东西

2020-09-26 13:51:12 93

原创 Java单例多例的线程安全问题

Java单例多例的线程安全问题1、成员变量是保存在堆中,所有线程都能访问;局部变量是保存在每条线程的各自的栈中,互不影响。2、单例模式下成员变量会有线程安全问题,因为每条线程都可能会访问到该成员变量。3、多例模式下则不会有这问题,不会有这问题的原因是 栈中的对象分别指向堆中属于自己的成员变量。...

2020-09-17 15:01:37 1280

原创 什么是Sprirng MVC及其工作原理?

一、什么是Sprirng MVC ?1、首先它是一个MVC框架,通过把Model(模型层),View(视图层),Controller(控制层)分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错。总之就是一种分层工作的办法2、简单来说,就是Controller层将你的Model层能在View中表示出来,其中Model包括了你的数据模型(pojo或bean之类的东西),Model是一种概念,而不是一种具体的参数或是其他的具体的体现。3、SpringMVC是Spring的一个子框架,

2020-09-16 10:15:00 218

原创 什么是聚集索引和非聚集索引及其两者区别?

聚集(clustered)索引,也叫聚簇索引 定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。 注:第一列的地址表示该行数据在磁盘中的物理地址,后面三列才是我们SQL里面用的表里的列,其中id是主键,建立了聚集索...

2020-09-14 01:32:43 22833 5

转载 控制语句和数组

1.三种控制结构 顺序 选择 循环2.Math.random()是令系统随机选取大于等于0.0且小于1.0的伪随机double值3.switch中的表达式的结果值必须是整数、字符、或枚举量值4.switch case语句:从匹配处顺序执行,直到遇到break或结束5.switch语句中,default可以不写6.循环结构模拟实现了现实世界中...

2019-06-26 17:52:36 220 1

转载 creating server tcp listening socket 127.0.0.1:6379: bind No error

window下安装redis报错:creating server tcp listening socket 127.0.0.1:6379: bind No error的解决方案如下按顺序输入如下命令就可以连接成功1.redis-cli.exe2.shutdown3.exit4. redis-server.exeredis.windows.conf参考连接:htt...

2019-06-05 10:22:04 163

原创 简约

第一步:

2019-06-04 15:59:35 94

转载 Git教程(完整)

1.Git简介Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。Git是分布式版本控制系统,它就没有中央服务器的,每...

2019-04-11 18:59:11 460 4

原创 思考

学术都是想通的,解决不了的难题,多联想生活的实际场景

2019-04-07 16:11:48 68

转载 基本数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一; 例子:by...

2019-04-04 15:54:58 132

空空如也

空空如也

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

TA关注的人

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