- 博客(36)
- 资源 (1)
- 收藏
- 关注

原创 实习入职必备-Git命令操作大全
git切换分区到D盘gitTest目录下cd .. #注意,cd和..之间必须有一个空格[返回上一级目录]pwd #查看当前目录mkdir [目录名] #创建一个目录rmdir [目录名] #删除一个目录rm [文件] #删除文件名1.创建本地仓库例:在D盘新建一个仓库文件夹2.修改字符编码集为UTF-8右键git ,右键options。git基本命令git config --list #查看全局设置git --version #查看git版本clear #清屏
2021-11-28 20:48:40
1453

原创 Mybatis核心知识点整理,面试必备!
相关PDF版资料已同步微信公众号乐享Coding欢迎你的关注,二维码在文章底部,获取最全Java学习资料和相关电子书!文章目录Mybatis框架优点缺点开发方式初步使用使用原生接口通过Mapper代理实现自定义接口(重要)总结级联查询连接查询一对一查询操作返回值映射一对多多对多(一对多的升级)逆向工程(代码自动生成)相关jar包resouce目录下的config.xml配置文件Genertor类测试目录结构延迟加载 (懒加载)之前查询任务实现懒加载缓存分类1、⼀级缓存:SqlSession 级别,
2021-02-02 20:50:21
264

原创 大佬5000字整理的JAVA基础,面试前必备!
JAVA基础【2021最新版】相关PDF版资料已同步微信公众号乐享Coding欢迎你的关注,二维码在文章底部,获取最全Java学习资料和相关电子书!文章目录JAVA基础【2021最新版】面向对象程序设计(OOP)三大特征对象 (object)类 (class)【this关键字】方法参数的传递机制包(package)封装Java中4个访问控制修饰符JavaBean继承【概念】【继承规则】【重写override】【super关键字】Object类包装类代码举例多态【概念】Static关键字【应用】【
2021-01-14 18:16:58
408
3

原创 最详细的【基数排序】---排序算法,思路清晰动图保姆级讲解,五分钟搞懂!
基数排序已同步微信公众号【乐享Coding】,想要一起学习的可以加群,共同交流!基本思想:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。理论比较晦涩难懂,我们以具体例子进行图解:本次举例的待排序数组为:[1, 52, 478, 12, 83, 7, 45, 333 ]大家先可以看看排序的步骤,进一步对思路有个大致理解!步骤一准备是10个桶(0-9),取数组中每一个元素个位的
2021-01-04 14:17:43
22045
5

原创 最详细的堆排序---排序算法,思路清晰动图讲解,五分钟搞懂!
堆排序介绍:利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它是不稳定排序。对于堆排序,难点在于二叉树的顺序数组储存到大顶堆(小顶堆)的转换。从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组。我习惯于不空谈理论,拿实例讲解,以下将针对数组arr[1,2,5,4,3,7]进行大顶堆的数据结构转换。如图:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆,每
2021-01-02 22:16:12
17183
17

原创 史上最全1000字详解计算机网络必备知识--因特网笔记整理,附上10张精美配图!
计算机网络系统性学习,全面整理,目前已完结,应对期末考试,面试毫无压力!
2020-12-24 11:29:20
522

原创 硬核!30张图深入理解计算机应用层,附上例题,秒解子网规划,IP分址!
网络层已同步微信公众号:乐享Coding,欢迎各位的关注!主要功能:实现主机与主机之间的通信,也叫点对点(end to end)通信。思维导图附上实现网络层任务,需要解决以下主要问题:网络层向运输层提供怎样的服务(可靠or不可靠)网络层寻址问题路由选择问题两种服务面向连接的虚电路服务双方必须建立网络层的连接-虚电路VC(Virtual Circuit),目的主机的地址记在连接建立阶段使用,之后每个分组的首部只携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
2020-12-15 14:55:22
1459

原创 硬核!三千字肝了一晚上的数据结构线性表最全总结,超详细!
已同步微信公众号:乐享Coding期待你的关注!文章目录前言线性表:零个或多个数据元素的`有限`序列。抽象数据类型定义顺序存储结构(数组)结构代码三个属性:定义函数类型Status,其值是函数结果的状态码获得元素操作插入元素操作删除元素操作优点缺点链式存储结构(链表)获得元素操作插入元素操作删除元素操作优点缺点前言提到数据结构,可能会有很多人马上联想到栈,队列,树,哈希表,图等各种经常提到的数据结构,但是我们去忽略了本质,这些都是抽象的逻辑结构,追本溯源,数据结构中的存储方式只有两种:数组(
2020-12-13 09:25:06
186

原创 数据结构入门概述笔记,结合英雄联盟游戏举例,通俗易懂!
数据结构入门已同步微信公众号乐享Coding,欢迎关注!程序=数据结构和算法不知各位有没有玩过一款名为英雄联盟(LOL)的游戏,或者王者荣耀的MOBA类游戏,因为这是数据结构的第一篇文章入门,只是让大家能够对数据结构有个初步的通感,本篇文章理解需要有王者荣耀,英雄联盟这类游戏的试玩经验。数据结构相互之间存在一种或多种特定关系的数据元素的集合。在游戏中,我们把控制英雄作为一个程序,那么英雄可以作为一个数据对象,如上单英雄,那我需要一个地图(部分内存空间)来存储它,但是由于他是上单英雄,它
2020-12-02 00:05:11
575

原创 计算机网络之应用层图解,秒解应用层HTTP,期末考试不担心!!
应用层已同步微信公众号:乐享Coding,期待你的关注!应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。首先对应用层要有个大概了解,思维导图是个不错的工具,废话不说,上图!网络应用模型网络应用程序运行在处于网络边缘的不同的端系统上,在各种端系统上的组织方式和他们之间的关系。目前流行的有两种:客户/服务器(C/S)方式应用 :万维网www,电子邮件,文件传输FTP等。服务器:提供计算服务的设备永久提供服务固定的IP地址,端口号
2020-11-24 23:21:27
901

原创 数据结构最全笔记—今日分享,你确定不来康康?
数据结构线性结构:数组、队列、链表和栈 **特点: **数据元素之间存在一对一的线性关系 两种不同的存储结构:顺序存储结构(连续)和链式存储结构(不连续)非线性结构:二维数组,多维数组,广义表,树结构,图结构 特点:存在一对多或多对多一、数组数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。①稀疏
2020-07-03 12:06:29
292
原创 源码分析【ReentrantLock】原理
ReentrackLock底层原理ReentrackLock介绍非公平锁VS公平非公平锁公平锁可打断VS不可打断不可打断【默认】可打断模式锁超时条件变量如何在synchronized和ReentrantLock之间进行选择ReentrackLock介绍ReentrantLock是可重入的互斥锁,虽然具有与synchronized相同功能,但是会比synchronized更加灵活(具有更多的方法)。区别:1.ReentrantLock是Java层面的实现,synchronized是JVM层面的实现
2021-10-09 21:50:32
597
原创 【面试Spring必备】Spring解决循环依赖问题--超详细分析
Spring如何解决循环依赖问题?文章目录Spring如何解决循环依赖问题?代码模拟图示结合Bean的生命周期分析问题解决的关键解决方案【三级缓存】详细步骤如下图所示:为什么需要三级缓存?一个场景:现在我们再来走一遍这个场景:总结:代码模拟@Componentclass A{ @Autowired private B b;}@Componentclass B{ @Autowired private A a;}图示结合Bean的生命周期分析
2021-09-20 16:06:02
1482
1
原创 深入原理分析MYSQL的MVCC并发控制
MVCC底层原理MVCC【多版本并发控制】优势不加锁,提升并发事务下的性能,实现读写可以并发。两大核心ReadViewundolog隐藏字段隐藏字段事务IDInnodb引擎向每行记录增加的字段,6字节,记录增删改操作的一个事务的唯一标识,逐渐递增的。也是MVCC作为比对决定是否可见的值。回退指针指向更新删除前一个版本的地址指针,多次修改会生成一个版本链。undolog增删改mysql数据前,会在修改之前的版本的数据加上隐藏字段记录到undolog日志中,事务执行
2021-09-13 21:35:18
181
原创 Java基础集合类之HashMap和ConcurrentHashMap最详细的源码分析
HashMap源码分析HashMap是Java中常用的key-value集合实现类,实现了Map接口。数据结构核心:整体是一个数组;数组每个位置是一个链表(或红黑树);链表每个节点中的Value即我们存储的Object;JDK 1.7数据结构数组+链表核心属性核心方法put方法核心扩容机制JDK 1.8详解链接数据结构数组+链表+红黑树核心属性核心方法put方法核心扩容JDK1.7和JDK1.8的区别最重要的一点是底层结构不一
2021-09-12 17:44:01
437
原创 2-并发编程-中级
线程问题线程出现问题的根本原因是因为线程上下文切换,导致线程里的指令没有执行完就切换执行其它线程了,举例t1和t2线程分别并行执行5000次++操作和–操作,理论上结果应该等于0。代码模拟static int count = 0;public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(()->{ for (int i = 1;i<
2021-03-12 18:58:58
407
原创 并发编程-初级
并发编程-初级进程与线程进程(Process)程序由指令和数据构成。指令需要运行,数据需要读写,就必须将指令加载至CPU,数据加载至内存,在指令运行过程中还需要用到磁盘,网络等设备。进程就是用来加载指令,管理内存,管理IO的。当一个程序被执行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(如打开多个记事本),但是也有的程序只能启动一个实例进程。(360安全卫士)线程(Thread)一个进程之内可以分为一至多个线程。
2021-03-12 18:41:25
174
1
原创 Java面试必备,JVM核心知识点总结!
JVM基础程序计数器(Program Counter Register)CPU中的寄存器作用:记住下一条JVM指令特点:线程私有唯一一个不会出现内存溢出的区域虚拟机栈(Java virtual mechine Stack)线程私有每个线程运行时所需要的内存每个栈由多个栈帧Frame组成,对应着每次方法调用时占的内存每个线程只能有一个当前活动栈帧,对应着当前正在执行的方法三个问题一、垃圾回收是否涉及栈内存?不会:垃圾回收的是堆内存的无用数据,栈帧调用完会自动弹出栈,不需
2021-02-26 19:38:13
309
原创 spring全面详解,狂神说学习笔记。
关注公众号乐享Coding微信获取PDF版资源,计算机网络图解等更多资源,也可联系我加入学习交流群Spring 框架两大核心机制(IoC、AOP)IoC(控制反转)/ DI(依赖注入)AOP(面向切面编程)Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件。MVC:Struts2、Spring MVCORMapping:Hibernate、MyBatis、Spring DataSpring管理Bean创建对象(反射).
2021-01-29 21:26:54
618
1
原创 硬核!springmvc全面详解,包含各种核心知识点!
已同步微信公众号乐享Coding,获取更多Java学习资源,技术交流群期待你的关注!SpringMVC总结整理web开发底层是servlet,框架是在servlet基础上面加一些功能,方便web开发。SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。同时还支持Restful编程风格的请求。将应用程序分为Controller,.
2021-01-27 10:30:18
2395
1
原创 插入排序--详细动图讲解,时间复杂度分析!
插入排序基本思想:将数组的第一个数认为是有序数组,后面的元素依次与有序数组的值从后往前进行比较,每次都需要比较到第一个元素,插入到有序数组的合适位置中,直到所有的元素均在有序数组中,就完成了排序。举例:本例中我们以arr数组[1, 9, -12, 0, 74]为例步骤:假设索引为0的第一个元素1是有序数组,先将索引为1的元素9与其进行比较,发现1<9,应该插在1的后面。插入过程的代码思路:定义一个临时变量temp存储待插入元素9,for循环遍历之前的元素,直至到第一个元素,循
2021-01-05 08:26:43
2539
1
原创 最详细的【归并排序】---排序算法,思路清晰动图讲解,五分钟搞懂!
大家可能都对二叉树的后序遍历比较熟悉,实际上归并排序本质框架就是二叉树的后序遍历,根结点的遍历只不过换成了治(Merge方法的调用),本文将结合动图+代码的方式进行最通俗的讲解。
2021-01-01 14:45:03
1997
2
原创 线程并发总是学不懂,看看这篇文章吧,可能茅塞顿开!
JUC线程并发JUC介绍: java.util.concurrent在并发编程中使用的工具类进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不
2020-05-30 16:34:35
1483
原创 今日分享--整理Springboot最全笔记,你确定不来康康?
Springboot简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;微服务微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;部署<!‐‐ 这个插件,可以将应用打包成一个可执行的jar包;‐‐><build> <plugins> <plugin&
2020-05-16 20:24:55
1091
原创 SpringMvc最全笔记--今日分享
MVC 架构模型(dao,service)数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。视图 (jsp)负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。控制器(Servlet)接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返
2020-05-14 07:51:09
266
原创 Mybatis最全笔记--今日分享(参考狂神说)
一 CRUD(Mybatis)1.namespacenamespace中的包名要和Dao/Mapper接口的包名一致。2.select选择,查询语句;id:就是对应的namespace中的方法名resultType:sql语句执行的返回值!parameterType:参数类型1.编写接口// 查询全部用户 List<User> selectUser();2.编写对应的mapper中的sql语句<select id="selectUser" resu
2020-05-10 21:59:27
3116
7
原创 Spring的基础——今日分享(参考狂神说)
Spring优点1、Spring是一个开源免费的框架 , 容器 .2、Spring是一个轻量级的框架 , 非侵入式的 .3、控制反转 IOC , 面向切面 AOP4、对事物的支持 , 对框架的支持一句话概括:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。组成:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。组成 Spring 框架的每个模块(
2020-05-10 21:52:33
988
原创 快来康康!Mybatis——CRUD原来这么简单(附代码!)
CRUD(Mybatis)1.namespacenamespace中的包名要和Dao/Mapper接口的包名一致。2.select选择,查询语句;id:就是对应的namespace中的方法名resultType:sql语句执行的返回值!parameterType:参数类型1.编写接口// 查询全部用户 List<User> selectUser()...
2020-05-08 12:47:56
171
原创 IDEA中配置Maven常见问题每次都需要更改setting设置,否则使用默认Maven,完美解决Maven的配置问题!
废话不说直接上图你是否也遇到这种情况呢,创建maven无模板项目时,maven总是idea自带,如何解决呢?点开系统setting1.取消默认打开上一次项目2.重启IDEA,在全局设置就可以了,完美解决!创作不易,问题解决的给个鼓励吧!...
2020-05-07 21:37:46
7121
4
原创 Unknown system variable 'query_cache_size' 问题终于解决了,原来是这样!
遇到这种问题搞了半天终于解决!原因:mysql-connecter-java的版本过低,很显然是数据库驱动程序与数据库版本不对应查看了一下配置,发现mysql-connector-java的版本是5.1.37,而我本地mysql版本是8.0.12解决办法1.官网下载8.0的jar包网站 https://dev.mysql.com/downloads/file/?id=494900...
2020-05-05 21:40:41
32900
8
原创 MySQL的函数有哪些呢?快来康康吧!
1、常见函数 ★说明:sql中的函数分为单行函数和分组函数调用语法:select 函数名(实参列表);1》字符函数concat(str1,str2,…):拼接字符substr(str,pos):截取从pos开始的所有字符, 起始索引从1开始substr(str,pos,len):截取len个从pos开始的字符,起始索引从1开始length(str):获取字节个数...
2020-05-05 08:35:40
873
原创 今日分享--mysql的基础
SQL语法要求SQL语句可以单行或多行书写,以分号结尾;可以用空格和缩进来来增强语句的可读性;关键字不区别大小写,建议使用大写;分类DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);DCL(Data Contro...
2020-05-04 08:53:22
318
原创 java中的接口原来可以这么理解,so easy!
接口(interface)实际上可以看做是一种规范,接口的具体使用,体现多态性,Java开发中,接口通过让类去实现(implements)的方式来使用,Java类可以实现多个接口(弥补了Java单继承性的局限性) 其次,接口与接口之间可以继承,而且可以多继承。注意:如果实现类覆盖了接口中的所抽象方法,则此实现类就可以实例化。如果实现类没覆盖接口中所的抽象方法,则此实现类仍为一个抽象类...
2020-04-23 07:57:16
204
原创 谈谈我对java中final关键字的理解
JAVA 编程final关键字来源于有道词典的翻译:finaladj. 最终的;决定性的;不可更改的;作用final可以用来修饰的结构:类,方法,变量final可以修饰一个类(例如:String类,System类,StringBuffer类)final用来修饰一个方法(例如:object类中的getclass())final用来修饰变量:此时变量为常量final修饰属性可...
2020-04-22 16:41:25
247
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人