Java
SpringBoot-start机制
start机制 传统的Spring项目开发,需要导入大量的依赖,同时还需要对各种XML配置文件进行配置,过程十分繁琐。而Spring Boot项目创建完成后,即使不编写任何代码,不用进行任何配置也能运行。这些都要归功于Spring Boot的Start机制。 在没有 starter 之前,假如我想要在 Spring 中使用 jpa,那我可能需要做以下操作: 在 Maven 中引入使用的数据库的依
SpringBoot自动配置原理
一、什么是Spring Boot的自动配置? Spring Boot的最大的特点就是简化了各种xml配置内容,还记得曾经使用SSM框架时我们在spring-mybatis.xml配置了多少内容吗?数据源、连接池、会话工厂、事务管理···,而现在Spring Boot告诉你这些都不需要了,一切交给它的自动配置吧! 所以现在能大概明白什么是Spring Boot的自动配置了吗?简单来说就是用注解来对一
MySQL双写缓冲区(Doublewrite Buffer)
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录摘要为什么需要Doublewrite BufferDoublewrite Buffer原理Doublewrite Buffer相关参数总结 摘要 InnoDB是MySQL中一种常用的事务性存储引擎,它具有很多优秀的特性。其中,Doublewrite Buffer是InnoDB的一个重要特性之一,本文将介绍Dou
MySQL中的Join 的算法(NLJ、BNL、BKA)
本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录摘要什么是JoinIndex Nested-Loop JoinBlock Nested-Loop JoinMRR & BKA总结 摘要 Join是MySQL中最常见的查询操作之一,用于从多个表中获取数据并将它们组合在一起。Join算法通常使用两种基本方法:Index Nested-Loop Join(N
SpringBoot运行流程
一、准备阶段 我们先看一下这个SpringApplication的构造方法中做了什么事情,为run方法准备了那些事情 通常在一个spring boot的应用中,会看到下面一段代码作为应用的入口 那么这段代码究竟做了什么呢,让我们深入来分析它背后的原理。当我们点击run来查看源代码时,会看到下面这段代码,这段注释说明这是一个助手方法,可以通过指定一个primarySource的source源来启动
上周热点回顾(5.1-5.7)
热点随笔: · 园子的现代化建设-复活:沉睡2年多的新闻评论功能重新开放 (博客园团队)· 消息推送平台终于要发布啦! (Java3y)· 是时候,升级你的 Windows 了「GitHub 热点速览」 (削微寒)· 可以,很6!微信这波改造,一刀斩断了一条“灰色”业务线。 (why技术)· C#处理医学影像
JDBC阶段项目--满汉楼
技术概括 满汉楼界面 去除界面设计,使用控制台界面 项目介绍 各个界面演示 满汉楼分层设计 项目框架图 由DAO层和数据库进行交互 界面层会调用service层(业务层)(根据实际情况来增加业务层相应的类),业务层调用DAO层 为什么要分层? 各司其职 对于软件分层的理解 1.软件分层是逻辑概念 2.可以用不同包来存放对应的类 3.体现了一个调用的关系,可以
【动态规划】 392. 判断子序列
8 392. 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种
js中class的构造函数的this指向问题
场景 定义了一个类的构造函数需要的参数是一个对象,而该对象的属性对class实例的属性进行了调用或修改,也就是在对象中使用了this 问题 示例 这时p1.setName('小明')就会报错,说setName里的this是undefined 解决 这就需要在class的构造函数中改变参数的this指向,指向自己
elSelect点击空白处无法收起下拉框(失去焦点并隐藏)
学习记录,为了以后有同样的问题,省得再百度了,方便自己也方便你们element 中多选的select 有个问题,就是点击空白或者关闭弹窗,下拉还会一直展示出来百度了好一会,觉得下面两位大佬说的最合理,然后就搬运了下由于我这边业务很简单,然后就不想全局折腾参考大佬链接地址https://www.jb51.cc/vue/4044674.htmlhttps://blog.csdn.net/Scott_z
JavaScript原生兼容大全-持续更新
JavaScript兼容-持续更新 1.css非行内样式操作 2.事件添加删除 3.事件对象 4.阻止冒泡 5.键盘keyCode 6.取消默认行为
vite项目编译时, vsCode警告: "[vite:css] grid-gap only works if grid-template(-areas) is being used",强迫症啊有没有
在postcss.config.js文件中修改配置 autoprefixer:{ grid:false } 然后重新运行一下就OK了 很干净!
vue+element输入框校验输入汉字再输入数字看似正常,实则有大问题,保存时数据不对
在vue+element UI 项目中经常会使用到输入框限制为整数或者小数的需求,一般采用如下oninput="value=value.replace(/[^0-9.]/g,'')"解决, <el-input :placeholder="请输入整数或者小数" v-model="inp
Netty_Redis_Zookeeper高并发实战-读书笔记
第1章 高并发时代的必备技能 1.netty Netty是JBOSS提供的一个Java开源框架,基于NIO的客户端/服务器编程框架,能够快速开发高并发、高可用、高可靠的网络服务器程序,也能开发高可用、高可靠的客户端程序。 NIO是指:非阻塞输入输出(Non-Blocking IO)。 优点: API使用简单,开发门槛低 功能强大,预置了多种编解
java.io.FileNotFoundException: class path resource [bean.xml] cannot be opened because it does not exist
出现这个报错 原因:测试类书写时,ClassPathXmlApplicationContext的文件名不匹配 调整一下就好了
MAC系统下jmeter安装教程
一、安装jmeter 前提:在本地安装jdk 1.jmeter下载:https://jmeter.apache.org/download_jmeter.cgi 下载后,在终端中使用cd命令进入下载文件夹中,在终端中输入 使用cd命令,进入apache-jmeter-5.5文件夹->bin文件夹->sh jmeter(启动jmeter) 2、配置jme
自动内存管理之垃圾回收-Java虚拟机(二)
1 哪些内存需要回收? 回顾Java虚拟机运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而死。 方法开始分配一个栈帧大小的内存,每个栈帧的大小基本上在类结构确定下来时就已知了。方法结束或者线程结束,内存自然就随着回收了。所以这些区域内存分配和回收都具备确定性。 而Java堆和方法区就有着显著的不确定性,只有处于运行期间,我们才能知道程序究竟会创建哪些对象,创建
Cookie和Session
Cookie和Session 一、会话 用户打开了一个浏览器,点击了很多个链接,访问很多个web资源,然后关闭浏览器,这个过程称之为会话 思考问题:在这个会话的过程中,服务端是如何知道客户端是否曾经访问过呢?(就好比超市是如何区分新顾客还是老顾客呢) 答案:第一种方式:超市给来过的每位客户发一个超市专属的购物卡,每次结账之后出示购物卡就可以了;【Cookie】 第二种方式:每位客户来到超市直接注册
手把手带你实现事务消息
1、本文2个目的 1、讨论一下消息投递的5种方式 2、带你手写代码,实现事务消息的投递 2、讨论一下消息投递的5种方式 2.1、业务场景 电商中有这样的一个场景:商品下单之后,需给用户送积分,订单表和积分表分别在不同的db中,涉及到分布式事务的问题。 我们通过可靠消息来解决这个问题: 商品下单成功之后送积分的操作,我们使用mq来实现 商品下单成功之后,投递一条消息到mq,积分系统消费消息,给用户
I/O模型:BIO、NIO、AIO
Java共支持3种网络编程的I/O模型:BIO、NIO、AIO BIO: 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销 NIO: 同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求就进行处理 AI
RocketMQ源码(一):源码环境搭建
一、源码地址下载 RocketMQ官网下载地址:https://github.com/apache/rocketmq/tags。 当前搭建的是4.8.0版本的rocketmq,下载zip压缩包至本地,并解压。 当解压后的RocketMQ源码导入IDEA。 二、源码环境搭建 1、启动NameServer 1、NameServer
30基于java的酒店管理系统设计与实现
本章节给给大家介绍一个简单的基于java的酒店管理系统设计与实现。 系统概要 以往的酒店管理系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,如今计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。本系统充分利用网络的便捷,在工作效率上,得到极大地提高,延伸至服务水平也会有好的
java: 错误: 无效的源发行版:17
最近想在本地新建maven项目写写demo的,但是运行时提示 java: 错误: 无效的源发行版:17 错误。在这里记录一下,方便后面查看。 1、修改 IDEA 设置 JDK 版本 File --> Settings --> Build,Execution,Deployment --> Compiler --> Java Compiler Project Stru