lilesien
码龄4年
关注
提问 私信
  • 博客:32,308
    32,308
    总访问量
  • 59
    原创
  • 2,145,813
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2020-06-21
博客简介:

m0_48847163的博客

查看详细资料
个人成就
  • 获得36次点赞
  • 内容获得13次评论
  • 获得85次收藏
创作历程
  • 11篇
    2022年
  • 48篇
    2021年
成就勋章
TA的专栏
  • 计算机笔记
    32篇
  • 蓝桥杯练习
    13篇
  • 图论
    1篇
  • 动态规划
    2篇
  • Leetcode
    11篇
  • 并查集
    2篇
  • 滑动窗口
  • 贪心算法
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

352人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

MySQL中幻读是如何解决的

在我们的数据库隔离级别中幻读的解决是在串行化的级别下进行处理的,虽然这种方法可以解决幻读,但是这种方法在高并发下效率是非常低的,经过学习了解到两种解决幻读的方法:加间隙锁和MVCC。加间隙锁间隙锁:将数据分为不同区间,对该区间进行加锁。作用在索引上,其目的是为了防止同一事物的两次当前读出现幻读的情况。如果对一条记录添加了间隙锁,并不会影响其他事务对这条记录加记录锁或者继续加gap锁。比如说我们有1,3,5,10,12这几条数据:在当前事务对5-9中的数据进行一次查询并添加间隙锁后,另一个事务想要在
原创
发布博客 2022.04.10 ·
5401 阅读 ·
5 点赞 ·
4 评论 ·
21 收藏

mysql索引知识

为什么要使用索引?对于一般的系统,读写的比例大概在10:1左右,而且插入操作和更新操作一般很少出现性能问题。容易出现问题的就是我们的复杂查询,一些复杂查询会大大降低我们系统的性能,而索引就是用来解决这个问题的。什么是索引?索引在mysql中也叫作一种“键”,是对数据库中一列或多列的值进行排序的一种结构,良好的索引对于性能的影响是至关重要的,尤其当数据量越来越大时,索引对于性能的影响愈发重要!索引的优化是提升查询性能优化最有效的手段,就相当于我们查询字典中的某个字,音序表会帮助我们快速定位到所要查找的字
原创
发布博客 2022.02.19 ·
569 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

静态代理和动态代理

静态代理与动态代理代理,顾名思义就是对象的行为被别人代为执行,举个例子:租房房东想要出售房屋,但是不想管理这里面复杂的步骤,就会有一个中间商来代理房东执行,当用户想要租房的时候,就会去找中间商来租房,由中间商来沟通房东对代理模式进行分析:抽象角色:一般是接口或者抽象类,比如这里的租房,具有相同的功能真实角色:被代理的角色,比如这里的房东代理角色:代理真实角色,在代理真实角色后可以做一些附加操作,比如这里的中介客户:访问代理对象静态代理就以房东出租房屋为例看一下静态代理的代码:租房
原创
发布博客 2022.02.15 ·
797 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

JVM中关于对象的一些知识点

对象在内存中的存储布局java中一个对象在创建好之后会包含对象头,实例数据,对齐填充,结构图如下:对象头对象头包括运行数据和类型指针,运行数据就是用来存储对象的hashcode,gc年龄和锁信息,运行数据也称为markword,类型指针就是指向当前类的class模板,表示是哪一个类的实例。另外对于数组来说,对象头中还要存储数组的长度对于这个markword,在32位系统的它是占4个字节的:在64位的系统中,对象头占16个字节,markword占8个字节,并且对应的类型指针也是8个字节,下面我们
原创
发布博客 2022.02.09 ·
483 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java线程池理解

线程池从名字行就可以理解为有很对个线程的一个池子,它负责对我们的线程进行管理,不需要我们在使用线程的时候频繁的创建和销毁。线程池的优点降低资源消耗:避免了线程频繁的创建和销毁带来的消耗提高响应速度:当任务到达的时候,不用再创建线程,可以由线程池中空闲的线程来执行提高线程的可管理性:如果线程无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以对线程进行统一的分配,监控和调优线程池的创建三大方法//一个线程池只有一个线程ExecutorService service = E
原创
发布博客 2022.01.25 ·
253 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LRU算法与LFU算法

LRU算法LRU是Least Recently Used的缩写,即最近最少使用算法,是操作系统中页面置换算法的一种,由于内存中存放的页数有限,所以将最近没有使用到的算法会移出内存。LRU原理:LRU原理如下图所示:它会将最近访问的节点放在前面,将最近没有访问的节点放在后面。如果缓存空间满了,就会将最后一个节点删掉,并将新的节点添加到首部。Java实现对于链式存储的结构,使用到的集合有ArrayList和LinkedList,而ArrayList底层是基于数组的,对元素的移动花费的时间复杂度较高
原创
发布博客 2022.01.23 ·
4262 阅读 ·
3 点赞 ·
0 评论 ·
11 收藏

mysql数据库中字段为空带来的影响

count数据丢失我们都知道,count是用来计数的,当表中某个字段存在null值时,就会造成count计算出来的数据丢失。比如表中name子段有空值,我们使用select count(*),count(name) from user;查询出来的结果是不同的。解决办法:如果某列存在null值,就使用count(*)或者count(id)进行统计。在阿里巴巴《Java开发手册》中规定:不要使用count(列名)或count(常量)来代替count()。distinct数据丢失当使用语句count(d
原创
发布博客 2022.01.22 ·
2035 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

二分查找多种情况分析

首先二分查找主要分为三类,分别是:寻找一个数,寻找左侧边界,寻找右侧边界public class Test { public static void main(String[] args) { int[] nums = {1, 2, 2, 2, 3}; System.out.println(binarySearchLeftBound(nums, 3)); } /** * 普通的二分查找,搜索边界为[left, right] *
原创
发布博客 2022.01.20 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

juc并发学习笔记

JUC什么是JUC?JUC就是java包中java.uril.concurrent的包以及它的子类。我们以前学的Callable接口就是这个包下的一个接口线程和进程进程:一个程序,就比如QQ.exe,Music.exe ,一个进程通常包含多个线程,至少包含一个线程:程序执行的最小单位,Java中默认有两个线程,分别是Main线程和GC线程java真的可以自己开启线程吗?public synchronized void start() { /** * This method i
原创
发布博客 2022.01.13 ·
689 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis简单笔记

Redis什么是Redis?Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI (C语言)编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis特点Redis以内存作为存储介质,读写数据的效率高由于存储在内存中的数据是断电即失,而储存在Redis中的数据是持久化的,断点或重启数据也不会丢失,与memcache是不同的Redis存储分为内存存储,磁盘存储和日志文件Redis支持主
原创
发布博客 2022.01.12 ·
974 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

简单理解SpringBoot自动配置原理

SpringBootApplication注解首先在我们的主启动类上面有@SpringBootApplication注解@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}点进注解查看,可以看到@SpringBootAp
原创
发布博客 2022.01.12 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程实现以及一些问题

多线程笔记要实现多线程,主要是通过Thread类进行执行,具体有继承Thread类,实现Runnable接口,实现Callable接口(理解)其实在juc中我们都尽量不去继承Thread或者实现Runnable,Callable接口,都是通过线程调用一个资源类来实现多线程并发执行,这在juc中会学到如何使用继承Thread类//线程开启并不一定立即执行,由CPU调度执行public class TestThread1 extends Thread { @Override publi
原创
发布博客 2021.12.30 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Swagger学习记录

SwaggerSwagger简介官网:https://swagger.io/在项目中使用swagger需要springfoxswagger2swaggeruiSpringboot继承Swagger新建一个springboot-web项目导入相关依赖<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <gro
原创
发布博客 2021.11.15 ·
566 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

String常见问题

字符串常量池常见问题在研究问题之前,先了解一下字符串常量池字符串常量池对于编译期间可以确定值的字符串,也就是字符串常量池,JVM会将其放入字符串常量池。字符串常量池是JVM为了提高性能和减少内存消耗专门为字符串开辟的一块区域,主要目的是为了避免字符串的重复创建。JDK1.7之前字符串常量池存放在运行时常量池存放在方法区中,JDK1.7时字符串常量池从方法区拿到了堆中。问题研究我们先看下这段代码的执行结果:String str1 = "Str";String str2 = "ing";Stri
原创
发布博客 2021.11.08 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTP相关问题总结

什么是HTTPHTTP:超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。HTTP长连接和短连接在HTTP/1.0阶段默认使用短连接,也就是说,客户端和服务器每进行一次操作,就建立一次链接,任务解说就中断连接。当客户端浏览器访问的某个HTML或其他类型的web页中包含有其他的
原创
发布博客 2021.10.30 ·
244 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springboot整合数据库相关操作

springboot整合JDBC创建项目,勾选依赖:至少要勾选jdbc和mysql Driver配置数据库文件,也就是连接数据库的必要参数spring: datasource: url: mysql 8 以上要添加时区参数,否则会报错 username: password: driver-class-name: springboot中有很多的XXX Template,我们拿来即用就行配置完之后首先要查看手否配置正确,简单测试一下即可@Rest
原创
发布博客 2021.10.11 ·
470 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

JVM简单总结

什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM的位置JVM位于操作系统之上。JVM的体系结构栈,本地方法栈,程序计数器中没有垃圾回收,因为栈中的方法一用就会弹出去,如果栈中有垃圾,main方法就不会结束,程序就会陷死。所以垃圾回收都在方法区和堆的区域,并且大部分时间在进行堆优化。类加载器负责加载class文件,将class文
原创
发布博客 2021.09.05 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JSTL简单总结

什么是JSTL?JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。JSTL标签库使用步骤:引入对应的taglib标签库使用其中的方法JSTL核心库使用<c
原创
发布博客 2021.08.31 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

jsp总结

什么是jsp?jsp的全程是java server page,即java的服务器界面jsp的主要作用是代替servlet程序回传好HTML页面的数据jsp本质是一个servlet程序,第一次访问jsp页面,tomcat会将jsp页面翻译为一个java文件,并对其进行编译生成一个字节码文件。打开源文件会发现:向上查看会发现,HtpJspBase继承HttpServlet类,证明jsp是一个Servlet程序。jsp中的常用脚本表达式脚本格式:<%=你要展现在网页上的内容%>
原创
发布博客 2021.08.31 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

springmvc学习!

什么是springmvc?MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行
原创
发布博客 2021.08.30 ·
108 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多