java
文章平均质量分 77
是佩奇吗?
这个作者很懒,什么都没留下…
展开
-
【大话面试】- Redis 篇-第一篇
1️⃣ 结构化(Structured)SQL 的存储格式NoSQL从其存储的结构上来看,对于 SQL 数据库而言,我们可以给每一个表的属性添加不同的约束(主键唯一,无符号,数据长度,数据类型)等。一旦我们在表中插入的数据过多,比如上千万条数据。我们如果一旦修改表的某一个字段,那么所带来的影响是非常巨大的,比如锁表,表与业务相关联表发生变动,则业务也需要进行修改。而对于 NoSQL 的数据库,并没有 SQL 型数据库这样的强行约束。常见的有像 Key-Value 形式的键值对存储,或者 Document 文档原创 2023-02-28 20:26:30 · 271 阅读 · 0 评论 -
【SpringBoot 自动配置】-EnableAutoConfiguration 注解
续接上回与,在前面笔者分析了在 SpringBoot 自动装配中的最重要的两个注解类,@Condition与哎~说到这里,那首先我们跟随笔者一起先回忆一下这两个注解的在 SpringBoot 当中充当什么角色呢?原创 2023-02-21 21:37:04 · 1304 阅读 · 0 评论 -
【Spring Boot 原理分析】- 自动配置
Condition 是 Spring 4.0 增加的条件判断功能,通过这个功能可以实现选择的创建 Bean 操作👑 我们在使用 Spring 的时候,只需导入某个依赖的坐标,就可以直接通过 Autwired 注解,进行依赖注入,那我们有没有想过,我们的 Spring 是怎么知道,我们要将那个对象注入到容器中呢?就比如 SpringBoot 是如何知道要创建的 RedisTemplate 的呢?好,那我们就带着这个问题向下继续看。原创 2023-02-21 15:24:44 · 828 阅读 · 0 评论 -
【Redis 高级】- 持久化 - RDB
一时间你受不了自己的这种行为,自己扇了自己一巴掌,哎!有与 Redis 是一个单线程的数据库,所以当我们执行 save 指令的时候,如果说此时我们的数量量是比较大的,那么在执行任务的队列中就会出现阻塞的状态,导致后的获取数据的 get 执行,一直处于等待,知道 save 指令执行完毕。,既然我们的日志中记录了,我们每一次的操作的过程,那我们可不可以想办法,在 Redis 启动的时候,将日志中的所有的操作都读取出来,然后将所有的指令都执行一遍,这样就可以保证,我们的所有的数据都会刷新到我们的内存中呢?原创 2023-02-19 17:20:58 · 393 阅读 · 0 评论 -
Spring 系列 - AOP
对于数据库而言我们对数据库中的某一数据进行查找,其实就相当于我们在翻阅一本书进行查阅定位我们想要的内容,那那么对于这种方法的查找无一例外,如果我们要查阅的这本书比较单薄(数据量较小),对于查询所花费的时间来说是比较少的,对于如果这本书非常的厚(数据库庞大),那么如果去查找,这个过程就非常的占用计算机的性能,非常的消耗时间了。所以说到这里,“索引” 这一概念在数据库中的体现也就变得清晰了许多,给数据库的字段添加索引其实就是为了解决,当数据库过于庞大,查询所带来的性能占用过高这样的问题的。原创 2023-02-16 22:07:44 · 218 阅读 · 0 评论 -
《高性能的MySQL》- 关于创建高性能的索引
对于数据库而言我们对数据库中的某一数据进行查找,其实就相当于我们在翻阅一本书进行查阅定位我们想要的内容,那那么对于这种方法的查找无一例外,如果我们要查阅的这本书比较单薄(数据量较小),对于查询所花费的时间来说是比较少的,对于如果这本书非常的厚(数据库庞大),那么如果去查找,这个过程就非常的占用计算机的性能,非常的消耗时间了。所以说到这里,“索引” 这一概念在数据库中的体现也就变得清晰了许多,给数据库的字段添加索引其实就是为了解决,当数据库过于庞大,查询所带来的性能占用过高这样的问题的。原创 2023-02-16 22:08:20 · 49 阅读 · 0 评论 -
《Java并发编程之美》- 线程终止的方法
主线程 main 在调用了子线程 thread_a 与 thread_b 的 join 方法之后,当前的主线程 main 处于阻塞的状态,直到线程 thread_a 与 thread_b 执行完毕后,才会继续执行当前的主线程 main。如果我注释掉线程 a 与线程 b 的两个方法,那么执行的结果是什么样的呢?没错,这句主线程打印的话会在线程 a 与线程 b 输出之前执行(线程 a 与线程 b处于休眠状态)那么 join 方法的作用其实就变得很明显了,就是为了阻塞当前的线程,直到子线程的任务执行完毕。原创 2023-02-16 00:08:04 · 157 阅读 · 0 评论 -
《Java并发编程之美》- 线程中wait的用法
如果启动上面两个线程会发生什么现象呢?首先线程 thread_d 启动,1秒钟后线程 thread_e 启动,并且线程 thread_d 优先获取锁共享变量锁 resourceA ,在 5 秒中后,线程 thread_d 释放锁资源处于阻塞状态,线程 thread_e 获得锁资源,在 5 秒中后,线程 thread_b 释放锁资源,同时进入阻塞状态。原创 2023-02-16 00:06:48 · 139 阅读 · 0 评论 -
Spring IoC 与容器的初始化
控制-对象的创建者翻转-角色的转变凡是在高级的编程语言中面对程序的设计总会提到的一点就是,低耦合、高内聚。那么对于低耦合与高内聚应该怎么去理解这两点呢?低耦合强调的是模块应该尽可能的单一,模块内部细节对内私有封装,对外只暴露对应的接口,利用可配置替换的模块更换其“硬编码”的操作。原创 2023-02-16 00:05:38 · 167 阅读 · 0 评论 -
Spring 底层原理与解析 - 容器接口
的继承关系图我们 F4 进入。原创 2023-02-16 04:15:00 · 316 阅读 · 0 评论 -
关于栈的存储结构与运行原理分析
由于对于不同的处理器(ARM/X86)内部的寄存器的设计架构是不同的,Java 语言为了实现 “Write once Run everywhere” 的口号,内部的指令都是通过栈来实现的。栈是程序的运行时的单位,而对于堆更像是数据的存储单位。栈:程序运行时调用的各种功能性的方法处理解决数据问题堆:用于存放数据,比如创建的对象,静态的变量。原创 2023-01-10 10:41:17 · 158 阅读 · 0 评论 -
海康威视后台监控布防
由于公司业务的需要,前端时间一直在折腾海康摄像头的对接。在这期间踩过许多坑,做一记录分享。大致的业务场景,主要用到的是海康的 Ai 摄像头与高清摄像头,实现监控布防与实时画面在 web 页面展示预览。对于 Ai 摄像头内部已经上传了训练好的模型,直接调用海康提供 SDK 接口即可,对于高清摄像则是调用海康 SDK 提供的抓拍功能,保存图片到本地,调用训练好的 Python 模型进行本地图片的算法分析。原创 2022-12-28 10:22:30 · 2933 阅读 · 0 评论 -
等待线程执行终止的 join 方法
Java并发编程之美原创 2022-12-28 10:19:08 · 158 阅读 · 0 评论 -
HelloWorld字节码解析
Java字节码原创 2022-10-26 10:04:16 · 83 阅读 · 0 评论 -
HashSet与HashMap的那点事
而HashSet对象中 map 中的 key 值实际对应的是 HashSet 中添加进入的 Value 元素,而 map 中 Value 对应的是 HashSet 中的 Object 对象,由于该对象是一个静态的 Object 属于 HashSet 类本身,所以每一个元素在 HashSet 对象的 map 属性下每一个 key 元素对应的 Object 都是同一个。先谈谈 HashMap 的数据存储的底层原理吧,我们知道的一点就是,HashMap 的底层存储采用 红黑树+数组 的方式实现的。原创 2022-10-13 18:03:08 · 191 阅读 · 0 评论 -
ArrayList集合初探
当通过无参构造创建 ArrayList 对象的时候ArrayList 的底层会 默认一个已经在对象内部存在的空 Object 数组(该数组是为指定初始默认大小的),交给与当前对象的数组缓存区通过有参构造器创建 ArrayList 对象的时候ArrayList 的底层会 通过形参参数创建一个新的 Object 空数组,并初始化数组长度为形参参数,同时将该 Object 数组交给当前对象的数组缓存区无参直接使用内部已经存在的空数组,有参会重新创建新的空数组。原创 2022-10-13 14:02:22 · 92 阅读 · 0 评论 -
面向对象和面向过程的区别
这一切都是归功于 Java 语言的机制中 JVM 虚拟机的存在,Java 源程序在任意的平台上只要通过 JDK 进行编译生成可以有 JVM 识别并执行的 .class 字节码文件,并就可以将该字节码文件拿到随意的有 JRE 环境的平台上即可运行。但是, ⾯向过程没有⾯向对象易维护、易复⽤、易扩展。 C 语言的编译后的文件程序是不可以跨平台(Win平台编译后在Linux平台执行或x86系统编译在ARM平台执行)执行的也就是说,一个 C 源码可以在不同的平台使用指定的 GCC 编译器对源码编译,生成。原创 2022-10-10 22:58:31 · 182 阅读 · 0 评论 -
初探 ThreadLocal
在多线程下最容易出现的问题就是并发导致共享变量被修改时出现的数据同步问题,为了解决该问题,一般的处理方式就是添加一个锁,通过锁机制,既可使得在多线程的环境之下解决共享资源部同步的问题,如图所示。 由于锁的引入,也使得多线程编程有了一定的门槛,加重了程序员在设计程序的负担。那么有没有一种方式,当每个线程创建一个变量后,访问的变量是属于当前线程自己的私有变量呢?的存在就可以完成该件事,ThreadLocal 的出现其实并不是为了解决以上的问题, ThreadLoca 是 JDK 包自己所提供的。原创 2022-10-10 13:43:26 · 82 阅读 · 0 评论 -
Java面试题复习-基础篇
Java面试题之基础篇 (排序算法、集合、设计模式)原创 2022-08-31 18:53:43 · 220 阅读 · 0 评论 -
SpringBoot+MyBatis-plus 瑞吉外卖项目 Day05
可以参考博主我叫大魔王-多线程中的ThreadLocal 详解关于ThreadLocal方法的使用详解} // 用来获取ThreadLocal在当前线程中保存的变量副本 public void set(T value) {} //set()用来设置当前线程中变量的副本 public void remove() {} //remove()用来移除当前线程中变量的副本 protected T initialValue() {...原创 2022-08-26 20:02:36 · 368 阅读 · 0 评论 -
登录数据校验
前端——>ajax——>后端——>响应请求——>查询数据库,返回结果集——>前端——>判断处理结果——>返回处理信息。//判断结果集中的响应标志码。原创 2022-08-22 19:49:31 · 258 阅读 · 0 评论 -
瑞吉外卖项目 SpringBoot+MyBatis-Plus Day04
SpringBoot与MyBtais-Plus 进行前后端分离的黑马程序员瑞吉外卖点餐系统原创 2022-08-21 17:29:34 · 287 阅读 · 0 评论 -
瑞吉外卖项目 SpringBoot+MyBatis-Plus Day01-05
SpringBoot与MyBtais-Plus 进行前后端分离的黑马程序员瑞吉外卖点餐系统原创 2022-08-19 19:45:11 · 561 阅读 · 0 评论 -
SpringBoot的Web单体CRUD应用
至于后台的数据库,复制上述中的sql片段语句,执行构建即可啦。如果,我说如果哈,有人问,举手,,,亲我也想有一个这样酷酷哒私人网页界面,哈哈 你问对人赖。如果你没有问,那不行,那我也要告诉你,不要问原因。自己会的东西比较少哈,所以只完成了员工管理模块与登录数据拦截校验,目前测试没有问题,其他的模块需要用到其他的技术。整个项目只完成了一个增删改查,内部的代码,所以功能比较简单,后续滴完善就…......原创 2022-08-15 16:48:11 · 215 阅读 · 0 评论 -
Spring-IoC控制翻转的简单测试
spring-ioc原创 2022-08-01 10:09:56 · 83 阅读 · 0 评论 -
Spring MVC 学习记录
SpringMVC原创 2022-07-28 08:57:03 · 140 阅读 · 0 评论 -
JDBC连接数据库
jdbc连接数据库原创 2022-07-27 17:50:05 · 77 阅读 · 0 评论