自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lmy

深造中。。。。

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Java】记一次服务内实现排队消费模式

主要是记录一下实现过程和实现的过程中遇到的坑。我的业务系统中有一个接口,是从大数据那边拉数据,之前的做法是,开个线程池,让SQL去执行,可是如果大量的慢SQL同时,请求数据库的话会适得其反。并且还有一个问题,就是数据库连接池的连接数是有限的,当慢查询把连接都占用了的话,其他的快查询就会获取不到连接而等待超时。解决方案方案一给慢查询一个单独的连接池,控制连接个数● 缺点:这样虽然解决了,慢查询阻塞快查询,但是,对于用户体验不好,可能某一个用户就将慢查询队列占满了,后续的其它用户根本查询不了。方案

2023-11-10 16:53:24 251

原创 [Docker Java 服务]Docker 容器中Java服务问题排查

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

2023-09-07 15:02:59 1195

原创 Arthas 的简单使用

请注意,火焰图仅提供性能问题的概览,并不能准确地定位问题。如需进行更深入的性能分析,请结合其他 Arthas 命令和相关工具,开展更详尽的性能调试。但请注意,火焰图主要适用于宏观层面的性能分析,而对于微观层面和详细调查,还需要结合其他 Arthas 功能来进行。执行完成后,Arthas 会告诉你火焰图的导出位置。要生成特定方法的火焰图,可以使用 Arthas 的 watch 命令与 profiler 命令结合。按照上述教程中的步骤,启动 Arthas 并连接到要分析的 Java 进程。

2023-06-02 17:50:46 859

原创 [Dolt 安装] Dolt的安装与数据导入导出

Dolt的安装

2023-04-20 19:22:58 556

原创 【Dolt】一个可以类Git的方式管理数据库数据

官网解释:Dolt 是一个 SQL 数据库,您可以像 Git 存储库一样进行分叉、克隆、分支、合并、推送和拉取。就像连接任何 MySQL 数据库一样连接到 Dolt,以使用 SQL 命令运行查询或更新数据。使用命令行界面导入 CSV 文件、提交您的更改、将它们推送到远程或合并您队友的更改。个人理解:就是一个机遇MySQL 和Git管理开发的数据库,兼容了两者的特性,对MySQL底层也做了许多修改,包括存储结构。安装详见API文档。使用Dolt服务启动及客户端连接。

2023-03-30 16:16:21 1033

原创 【Git】Git 相关知识,以及常见问题解决

很实用的一个Git笔记,内容都是本人在工作中记录的

2022-11-08 10:22:32 190

原创 【记录】SpringBoot + Mybatis Plus + Druid 配置多数据源

SpringBoot + Mybatis Plus + Druid 配置多数据源环境说明我这里使用mysql 和clickhouse两种数据库来举例导包<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <versio

2020-12-24 14:05:44 802

原创 【错误日志】Error creating bean with name ‘elasticsearchClient‘ defined in class path resource

错误日志:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2020-10-06 12:36:22.842 ERROR 11976 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedorg.sprin.

2020-10-06 12:44:58 3320

原创 【笔记】本周热议功能实现

本周热议功能实现实例环境准备SpringBootRedisMySQL思路**将前天内发表的文章的评论数量存入Redis,利用Redis中ZSet数据结构的特性,将七天内的博客的评论数存入Redis,然后求并集,通过score的大小顺序来确定热议**。测试:## 每天的评论数量存入数据库 格式: zdd day:时间 数量 post:文章ID127.0.0.1:6379> zadd day:18 10 post:1(integer) 1127.0.0.1:6379&gt

2020-10-03 01:10:44 329 2

原创 【笔记】SpringBoot + FreeMarker 将时间处理成几天前的格式

将时间处理成几天前的格式需求将时间转化成几天前、几个月前等等!我的项目环境主要框架:SpringBoot模版引擎:FreeMarker解决步骤首先引入FreeMarker的几个模版工具类DirectiveHandler:package com.lmy.eblog.templates.common;import freemarker.core.Environment;import freemarker.template.*;import org.springf

2020-10-02 10:51:18 522 1

原创 【面试题】MySQL常用的储存引擎MYISAM和InnoDB的区别

MySQL常用的储存引擎事务支持MyISAM不支持事务,而InnoDB支持,并且默认是自动提交,在spring中的事务操作其实也是在操作数据库的事务;文件储存结构MYISAM:role.frm:表结构文件role.MYD:数据文件(MyISAM Data)role.MYI:索引文件(MyISAM Index)InnoDB:user.frm:表结构文件user.ibd:索引和数据文件(InnoDB Data)底层结构底层都是用的B+Tree来存储

2020-09-21 17:27:58 176

原创 【面试题】MySQL的锁机制

MySQL的锁机制通常有行锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。有可能会出现死锁的情况。表锁表级锁是mysql锁中粒度最大的一种锁,表示当前的操作对整张表加锁,资源开销比行锁少,不会出现死锁的情况,但是发生锁冲突的概率很大。页锁页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁。常见的执行引擎对这两种锁的支持实现方式InnoDB行

2020-09-21 16:51:38 2226

原创 【面试题】Synchronized四种锁状态的升级简单理解

介绍加锁可以使一段代码在同一时间只有一个线程可以访问,在增加安全性的同时,牺牲掉的是程序的执行性能,所以为了在一定程度上减少获得锁和释放锁带来的性能消耗,在 jdk6 之后便引入了“偏向锁”和“轻量级锁”,所以总共有4种锁状态,级别由低到高依次为:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态。这几个状态会随着竞争情况逐渐升级。锁升级流程图参考:https://www.jianshu.com/p/d61f294ac1a6...

2020-09-09 21:13:04 376

原创 【工具】Git分支相关命令

git分支相关命令声明:此博文参照了部分网络资源,有错请私信!创建分支git branch <分支名>git branch -v 查看分支切换分支git checkout <分支名>一部完成(创建+切换):git checkout -b <分支名>合并分支先切换到主干:git checkout mastergit merge <分支名>删除分支先切换到主干:git checkout mastergit bra

2020-09-09 10:29:36 174

原创 【面试题】 Java 8 之后接口和抽象类的比较

Java 8 之后接口和抽象类的比较声明:此博文是因为我在百度上找了很多抽象类与接口的区别,发现都没有把Java 8的新特性描述好,所以自己百度总结了一下,如有遗漏,请私信!相同点都不能实例化都包含为实现方法子类都必须实现为实现方法区别抽象类用abstract定义,接口用interface定义抽象类只能单继承,但可以多重继承,接口不仅可以多继承接口,还可以被多实现抽象类可以包含任意多个有方法体的方法,但接口在Java 7之前是不允许的,Java 8允许有多个默认方法抽象

2020-09-09 09:25:26 359 1

原创 【整合】监听器、拦截器、过滤器实例

监听器、拦截器、过滤器实例监听器实现拦截器实例过滤器实例监听器、拦截器、过滤器三者的区别监听器实现SpringMC自定义监听器需要实现ServletContextListener接口package com.my.dm.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import org.apache.logging.log4j.LogMana

2020-09-08 10:15:08 340

原创 【源码分析】DEBUG Mybatis部分源码

Mybatis 源码声明:此过程仅记录本人DEBUG过程,如有错误请指出!JDBC示例: public class JDBCTest { 12 13 public static void jdbcDemoSelect(String driver,String url,String user,String password) throws Exception { 14 15 //1.加载类驱动 16 Class.forN

2020-08-28 16:11:25 198

原创 【面试题】 Java 实现多级菜单查询

Java实现多级递归声明: 此答案是百度的,纯属记录今天面试的时候遇到的问题,和面试官磕了半天,当然实际题目没有这么简单!实体类public class Menu { // 菜单id private String id; // 菜单名称 private String name; // 父菜单id private String parentId; // 菜单url private String url; // 菜单图标 private String icon

2020-08-26 21:20:00 1941 1

原创 【源码分析】 DEBUG SpringBoot自动装配源码

SpringBoot自动自动装配SpringBoot启动流程注意:此博文只为记录自己DEBUG 源码核心过程,大家可能看不太明白,还请谅解!####启动准备启动类为入口进入run方法创建了一个SpringBoot程序SpringApplication构造器进入getSpringFactoriesInstances方法进入loadFactoryNames方法进入loadSpringFactories这里加载的资源路径正是spring.factor

2020-08-18 22:01:36 624 1

原创 【源码分析】 DEBUG Spring IOC源码

SpringIOC声明: 此博客仅记录本人DUBUG源码步骤大致图解:加载xml文件​ setConfigLocations方法调用Refresh方法Refresh方法prepare*方法都是准备工作!@Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { //

2020-08-17 16:51:41 260

原创 【环境配置】Nacos集群搭建

声明: 这篇博客用来记录自己初学Nacos集群配置的过程,踩过一些坑,希望对大家有所帮助!软件环境:Linux 虚拟机:CentOS 6.5JDK1.8安装包、mysql 5.7安装包、nginx安装包、nacos 1.1.4安装包(这里都是linux的安装包)安装过程通过工具,将安装包上传到linux中我这里用的:WinSCP工具JDK 1.8 安装JDK安装,我这里就不详细说了,太简单,百度一大堆!大致步骤:解压将解压后的文件移动到自己想放的目录在 /etc/pr

2020-08-02 23:28:25 416

原创 【安装教程】 MySQL完全卸载以及安装教程

MySQL完全卸载以及安装教程卸载安装卸载1.在任务管理器中停止mysql服务在控制面板中卸载MySQL应用删除Mysql相关文件这里面的mysql文件夹都删除4.删除注册表删除一下内容:删除HKEY_LOCAL_MACHIN->ControlSet001->SYSTEM-> service->MySQL;删除HKEY_LOCAL_MACHINE->ControlSet002-> SYSTEM-> serv

2020-08-02 12:18:36 347

原创 【Java 复习之路】三人行-Java复习

三人行-Java基础复习第四天0. 今日目标任务一:重点掌握HashMap的底层实现原理区分JDK 1.8前后的不同点掌握HashMap底层中数组索引值的算法掌握HashMap底层如何解决哈希冲突掌握HashMap的扩容机制掌握put()方法源码的执行流程任务二:了解阻塞队列了解Queue下BlockingQueue接口的七个阻塞队列的异同点...

2020-07-06 22:41:33 792

原创 【错误日志】使用Security的BCryptPasswordEncoder加密后,修改密码逻辑出现问题

这个错误发生在我做一个权限管理项目当中错误代码 @Override public Results<Void> changePassword(String username, String oldPassword, String newPassword) { // 根据用户名查询 SysUser user = sysUserMapper.selcetUserByUsername(username); // 判断用户是否为空

2020-07-02 19:18:52 1035

原创 【项目复习篇】EGO电商项目技术总结与学习笔记

EGO电商复习一、电商项目介绍​电商行业的几种模式.1.1 B2B: 企业到企业, 商家到商家。 代表: 阿里巴巴、 慧聪网。1.2 B2C: 商家到客户。 代表: 京东、 淘宝商城(B2B2C)。1.3 C2C: 客户到客户。 淘宝集市。1.4 O2O: 线上到线下。技术选型2.1 Spring、 SpringMVC、 Mybatis2.2 JSP、 JSTL、 jQ...

2020-04-23 10:32:13 2998 2

原创 【框架篇】SpringMVC的基本使用

SpringMVC文章目录SpringMVC一.SpringMVC 简介二.SpringMVC 环境搭建三. JSP 九大内置对象和四大作用域复习四. SpringMVC 作用域传值的几种方式五. 文件下载六. 文件上传七. 自定义拦截器八. 拦截器栈三.SpringMVC 运行原理四.SpringMVC 对 Date 类型转换.一.SpringMVC 简介SpringMVC 中重要组件...

2020-04-20 11:13:45 171

原创 【框架篇】Spring 的基本使用(整合Mybatis)

Spring Review文章目录Spring Review一.Spring 框架简介及官方压缩包目录介绍二. IoC三.Spring 环境搭建四.Spring 创建对象的三种方式五.如何给 Bean 的属性赋值(注入)六. DI七.使用 Spring 简化 MyBatis八.AOP一. Schema-based 实现步骤二. 配置异常通知的步骤(AspectJ 方式)三. 异常通知(Schem...

2020-04-19 14:25:08 173

原创 【框架篇】Mybatis的基本使用

Mybatis复习一、java命名规范1.项目名:没有要求,不起中文2.包:公司域名倒写 com.bjsxt3.数据访问层:dao, persist, mapper4.实体:entity, model, bean,javabean, pojo5.业务逻辑: service ,biz6.控制器: controller, servlet,action,web7.过滤器: filter...

2020-04-18 13:54:50 258

原创 【设计模式】常见的23种设计模式

设计模式七大原则:1.单一职责原则​ 对类来说的,即一个类应该只负责一项职责。如类 A 负责两个不同职责:职责 1,职责 2。当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要将类 A 的粒度分解为 A1,A22.接口隔离原则​​ 1) 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上​ 2)图解3. 依赖倒转原则...

2020-04-17 12:08:22 2023

原创 【数据结构与算法】 常用的十大算法

常用的十大算法:1.二分查找算法(非递归):代码:package com.data.alg;/** * @Project data_structures * @Package com.data.alg * @author lmy * @date 2020/3/21 15:13 * @version V1.0 *//** * @author lmy * @ClassNam...

2020-04-16 10:58:40 2084

原创 【数据结构与算法】常见的几种排序和查找算法

一、排序常见的时间复杂度:1.冒泡排序:图解:代码:package com.data.sort;/** * @Project data_structures * @Package com.data.sort * @author lmy * @date 2020/2/8 18:30 * @version V1.0 */import java.util.Arrays...

2020-04-15 12:09:40 928

原创 【计算机网络】转菜鸟教程计算机网络知识总结

转自菜鸟教程:https://www.runoob.com/w3cnote/summary-of-network.html#_label0声明:此博文纯属方便个人学习,如有侵权,请告知!

2020-04-14 16:49:25 1008

原创 【XML】简单了解XML基本使用及解析

简单了解XML1. XML 1. 概念 2. 语法 3. 解析XML:1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义...

2020-04-14 16:31:50 257

原创 【JDBC】JDBC基本实现

JDBC详解JDBC概念:​ JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。常用接口:1.Driver接口Driver接口由数据库厂家...

2020-04-13 16:29:09 156

原创 【数据库】SQL语句测试实例

MySql语句测试实例:## 显示数据库show databases;## 创建数据库# utf-8 CREATE DATABASE database_name DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREATE DATABASE database_name DEFAULT CHARACTER SET gb...

2020-04-13 14:05:51 738

原创 【数据库】MySQL基本语法

Mysql基础数据库和表的创建显示数据库 SHOW DATABASES;创建数据库# utf-8 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gb...

2020-04-13 13:58:32 120

原创 【Java】Java Web基础知识

Java Web基础知识总结-------------------------------------在Java中,动态web资源开发技术统称为Javaweb1. web服务器与Http协议1. web服务器Internet上供外界访问的Web资源分为:• 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。• 动态web资源:指web页面中供人们浏览的数据是...

2020-04-12 20:43:07 3274

原创 【Java】JVM及垃圾回收

JVMJVM结构:类装载器ClassLoader:用来装载.class文件执行引擎:执行字节码,或者执行本地方法运行时数据区:方法区、堆、Java栈、程序计数器、本地方法栈**JVM原理:**Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。JVM执行程序过程:1、加载.class文件2、管理并分配内存3、执行垃圾收集四步完成...

2020-04-12 13:36:23 96

原创 【Java】java中的类加载和对象创建

JAVA类的加载机制Java类加载分为5个过程,分别为:加载,连接(验证,准备,解析),初始化,使用,卸载。加载加载主要是将.class文件(也可以是zip包)通过二进制字节流读入到JVM中。 在加载阶段,JVM需要完成3件事:1)通过classloader在classpath中获取XXX.class文件,将其以二进制流的形式读入内存。2)将字节流所代表的静态存储结构转化为方法区的运行...

2020-04-08 21:27:52 516

原创 【Java】java中的反射机制

java中的反射机制作用:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;.这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制具体操作:实例:package test; public class Student { public Student(){ } publi...

2020-04-08 20:05:35 128

usersmenu.zip

这是一个整合spring + mybatis + springMVC的一个简单实例,仅供个人学习记录

2020-04-20

空空如也

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

TA关注的人

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