自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql索引优化,何时创建,越多越好?

什么情况下(不)应该创建索引?索引是不是越多越好应该创建索引的情况:高频查询字段; where字段 join字段 排序字段 主键和外键不应该创建索引的情况:频繁更新的字段 数据唯一的字段(性别、状态) 数据量小的字段就更没必要了索引越多越好?维护成本,索引本身也需要空间存储 索引竞争 查询优化器可能无法充分利用索引 虽然提高了查询的速度,但写操作会变得麻烦

2024-11-05 22:17:22 271

原创 HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3的演化及优缺点

HTTP/1.0:每次请求都要建立新连接,效率低。HTTP/1.1:支持持久连接和管道化,但存在队头阻塞。HTTP/2:引入头部压缩和多路复用,解决了队头阻塞,但基于TCP。HTTP/3:基于UDP的QUIC,支持0-RTT和多路复用,性能最佳。

2024-11-03 12:15:31 626

原创 手撕单例模式懒汉式-饿汉式以及volatile双重检验锁

但是由于 JVM 具有指令重排的特性,执行顺序有可能变成 1->3->2。指令重排在单线程环境下不会出现问题,但是在多线程环境下会导致一个线程获得还没有初始化的实例。例如,线程 T1 执行了 1 和 3,此时 T2 调用。懒汉式--资源用的时候才分配---可通过synchronized关键字实现线程安全。可使用双重检验锁---懒汉式的方式实现。关键字修饰也是很有必要的,饿汉式---天生线程安全。

2024-10-27 21:56:49 420

原创 I/O多路复用与redis单线程为什么还能完成多个请求

基于最原始的I/O原路阻塞,如果服务器要支持多个客户端,可以使用比较传统的方式:多进程模式,即为每个客户端分配一个进程进行请求这种用多个进程处理多个客户端的情况在应对少量进程是可以稳妥处理,但是当客户端数量高达一万以上,扛不住 ,因为每个进程都要占用较多的资源,同时因为是不同的进程,所以在进行切换的时候也需要消耗资源。可以引入多线程模式----更轻量的模式,一个进程可以有多个线程,多个线程均共享进程部分,可以通过线程池来避免线程的频繁创建和销毁,但是这仍不能避免数万个线程的资源占用。

2024-10-26 21:38:55 445

原创 SpringIOC 、SpringAOP的实现机制区别

SpringIOC(反转是指:我们由对象的控制者变成了 IOC 的被动控制者)实现机制反射:通过反射动态的创建类、创建对象实例、调用对象方法依赖注入:IOC的实现方式,IOC容器用来管理应用程序的依赖关系,spring通过构造器注入、属性注入、方法注入设计模式--工厂模式:Spring IOC容器采用工厂模式来实例化Bean并管理他们的生命周期,通常使用BeanFactory管理Bean代理模式:为其他对象提供一个代理类以控制对某个对象的访问,实现两个类的解耦,委托类和代理类都要

2024-10-11 16:20:27 552

原创 MySQL索引最左前缀法则,索引失效最全情况,覆盖索引的定义

覆盖索引是指如果我要查询的索引是联合索引或者它的叶节点,那就不用回表,直接在二级索引(辅助索引/非聚簇索引)中进行查找即可(形如select id... )一句话概括:跳过开头,全部失效 跳过中间,部分失效 (name,age,id三个索引的代码顺序无关,只和三者的在联合顺序有关)如果查询的索引在聚簇索引(主键对应的索引)中,那么就需要进行回表,这也就意味着需要更多的时间(形如select *...)索引失效:针对多级索引如 多级索引名称为 a 而索引构成为(name,age,id)

2024-09-24 21:17:14 407

原创 什么时候用length、length()、size() Java版 一篇就够了!!!

size()是用于获取集合(Array,如ArratList、HashSet)和数组(Collection)的方法。数组int[] arr的方法。length()是字符串。

2024-09-22 16:44:15 456

原创 线程与进程,并发与并行,自定义线程池参数,自定义线程池工作原理(总结高频面试题)

线程1 2 3为核心线程此时对于10个任务的分配:首先核心线程处理任务1 2 3,任务4 5 6在队伍中等待,任务7 8 9由新创建的临时线程进行处理,而由于核心线程+临时线程+等待队伍全员超负荷,多出来的任务10则触发任务拒绝策略(蓝色字体均为自定义线程池的参数。

2024-09-20 21:36:40 612

原创 HashMap HashTable ConCurrentHashMap三者的区别

在jdk1.8之后,采用数组+链表/红黑树,利用红黑树优化了之前的链表结构,一句话概述也就是:在利用在头结点加锁来保证线程安全,锁的粒度相比于Segment更小,且发生冲突和加锁的频率更低,并发操作的性能也就大大提升,时间复杂度也由O(n)->O(logn)在Jdk1.7之前底层实现为数组+链表,通过哈希算法将元素的键(key)映射到数组槽位(bucket)中,如果多个键映射同一个槽位,它们会以链表的形式存储在同一个槽位上。HashTable 底层实现为数组+链表,数组为主体,链表是为了解决哈希冲突。

2024-09-19 20:49:16 825

原创 top硕转行路

lz是考的国内top3,考完研打算学习的java,前前后后也学了有4个月了,苍穹外卖跟着敲了一半发现全是crud就不想敲了,现在的状态是算法刷了10道,八股在看着,简历上的项目还不知道定哪个,好迷茫,想赶紧趁着有课可以跟老师说在上课,然后偷偷实习,想赶紧实习啊!不知道两年后秋招我是什么状态,O.O 鸡血就不打了。

2024-09-17 22:44:45 575

原创 苍穹外卖新增菜品code500-- (小白篇)

仔细检查后发现也没有任何问题,最终重新打开阿里云列表后就解决了。

2024-09-12 15:00:53 745

原创 苍穹外卖返回前端dishdto信息为null (已解决)-小白篇

在前后端分离的应用中,通常使用JSON格式的请求体传递数据。@RequestBody注解可以将请求体中的JSON数据自动解析成Java对象,方便在控制器中进行业务处理。@RequestBody是SpringMVC中的注解,用于将HTTP请求的请求体(body)中的JSON/XML格式的数据转换成Java对象。@requestbody可以把json请求体转化为java对象!最终注意到dishcontroller中的注解少了@requestbody注解。

2024-09-11 21:06:27 870 1

原创 苍穹外卖中找不到局部变量employservice(小白篇)

而emploeeService是一个类创建的实例,这才是正确的引用它的实例方法。我们造成错误的原因是利用EmpoyeeService调用方法,这是不正确的,解释:EmployeeService是类,所以要使用它就要使用它的类方法。

2024-09-09 13:22:00 284

空空如也

空空如也

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

TA关注的人

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