- 博客(96)
- 收藏
- 关注
原创 Java优雅实现判空方法
不要返回 null:用空集合、空对象或 Optional 代替。防御式编程:公共方法的参数显式校验。文档化:在方法签名或注释中明确是否可能返回 null。静态分析:通过工具提前发现潜在的空指针问题。通过以上方法,可显著减少 if (obj!= null) 的显式判空,提升代码的安全性和可维护性。
2025-04-20 23:03:55
654
原创 Mysql insert一条数据的详细过程
以下是MySQL在接收到INSERT语句后存储数据的详细过程解析,结合存储引擎(以InnoDB为例)和物理存储机制分步说明。
2025-04-20 22:48:54
661
原创 SQL语句执行顺序
在实际的 SQL 查询中,执行计划的确是决定查询如何执行的关键依据,而不是按照 SQL 语句的书写顺序来执行。通常,SQL 优化器会根据表的大小、索引情况、筛选条件等多方面因素来生成最优的执行计划。例如,当存在合适的索引时,数据库可能直接通过索引来获取数据,而无需访问实际的表数据,这就是所谓的 “索引扫描”。另外,关于JOIN和WHERE的执行顺序,优化器会优先筛选出尽可能少的数据,以减少后续JOIN操作的工作量,所以可能会先执行WHERE条件过滤主表,再处理JOIN操作。
2025-04-20 22:38:51
585
原创 取类 Class 对象详解
在Java中,即使一个类还没有被显式地实例化(即没有创建该类的对象),你仍然可以通过类字面量来获取该类的 Class 对象。这是因为Java在类加载机制中,会在类被引用时(例如通过类字面量)加载该类,并初始化其相关的元数据。
2024-10-21 13:20:49
354
转载 el-table@selection-change受filter影响的问题(勾选不上)
过滤器会造成选择改变事件点击一次触发两次,第二次会清空回调参数selection中的所有的数据。elementUI中关于el-table的表格选择改变事件与过滤器的问题。使用一个中间变量存储过滤后的数据,:data=“这个中间变量”
2024-10-08 17:21:11
290
原创 设计模式之单例模式
自从秦始皇确立了皇帝这个位置以后,同一时期基本上就只有一个人孤零零地坐在这个位置。这种情况下臣民们也好处理,大家叩拜、谈论的时候只要提及皇帝,每个人都知道指的是谁,而不用在皇帝前面加上特定的称呼,如张皇帝、李皇帝。这一个过程反应到设计领域就是,要求一个类只能生成一个对象(皇帝),所有对象对它的依赖都是相同的,因为只有一个对象,大家对它的脾气和习性都非常了解,建立健壮稳固的关系,我们把皇帝这种特殊职业通过程序来实现。
2024-09-29 20:18:52
1041
转载 设计模式之原型模式
在学习原型模式之前,首先要理解对象克隆的概念。在Java中,对象克隆是指创建一个现有对象的副本,对象克隆通常用于在不影响原始对象的情况下创建一个相同状态的新对象。Java中的对象克隆可以通过实现 Cloneable 接口和重写 clone() 方法来实现。在使用克隆时,可以使用clone()方法创建对象的副本,该方法返回一个新的对象,该对象具有与原始对象相同的属性值。
2024-09-29 20:11:31
66
转载 2 - concurrent-守护线程
JAVA中的线程主要分为两类:用户线程(User Thread)和守护线程(Daemon Thread)。JAVA语言中无论是线程还是线程池,默认都是用户线程,因此用户线程也被称为普通线程。守护线程也被称之为后台线程、服务线程或精灵线程,守护线程是为用户线程服务的,守护线程在用户线程结束后自动结束(同时会杀死进程中的所有守护线程),守护线程也会跟随结束(也就是说只要存在一个用户线程在允许,守护线程就不会结束)。常用于后台任务和资源管理,但需谨慎设计以防止影响程序正常终止。
2024-09-23 23:49:51
131
转载 Java——内存模型
Java内存模型(JMM, Java Memory Model)是一个规范,是 Java语言设计者提供给 Java 开发者的理论支持以及正确的线程同步策略。
2024-08-19 00:02:54
141
原创 MYSQL-逻辑架构
比如:优化器是在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联 (join) 的时候,决定各个表的连接顺序,还有表达式简化、子查询转为连接、外连接转为内连接等。
2024-08-11 17:01:02
1059
原创 1 - concurrent-synchronized同步锁及作用范围
Java 中的 synchronized 关键字可以在多线程环境下用来作为线程安全的同步锁。synchronized 主要分为对象锁和类锁。对象锁和类锁在锁的概念上基本上和内置锁是一致的,但是,两个锁实际是有很大的区别的,对象锁是用于对象实例方法,或者一个对象实例上的,类锁是用于类的静态方法或者一个类的class对象上的。类的对象实例可以有很多个,但是每个类只有一个class对象,所以不同对象实例的对象锁是互不干扰的,但是每个类只有一个类锁。
2024-07-17 20:10:37
588
原创 elementui的table的@selection-change阻止事件改变
说明:最近有个不想说的(xxx)业务,在表格勾选每一行的时候要触发一系列查询功能,查询失败还要把那个勾勾回退。真实蛋疼!表格勾选的默认@selection-change是change事件,一般change事件是在完成之后才触发,不能在触发之前进行阻止操作。想了想,查了查,各种神仙操作,算了不看了脑瓜疼!就想通el-checkbox来代替表格原生的@selection-change事件咯,反正都是多选!安排!
2024-07-08 20:41:45
970
转载 springboot设置输出有颜色日志(Logback)
原文链接:blog.youkuaiyun.com/chy555chy/article/details/121167737。
2024-05-07 17:33:05
564
1
转载 elementui的table复选框(含多选框)禁用例子
原文链接:https://www.cnblogs.com/heisetianshi/p/17663286.html。需要全部禁用时,全选按钮隐藏;不需要全部禁用时,全选按钮展示;
2024-04-16 15:39:13
1284
转载 Vue项目中使用防抖和节流
之前有接触过闭包这个概念,但是这个直译让人摸不着头脑,而且各种解释又比较繁杂,现在自己实现了一遍才了解到什么是闭包。用java来举个不严谨的栗子,闭包就是:一个private变量,我们可以通过一个公开的方法去访问它。
2023-11-27 19:35:05
2477
原创 人人开源启动错误—找不到符号
大概查了一下,主要是lombok版本太低,springboot等环境过高,maven缓存问题,idea缓存问题。添加:-Djps.track.ap.dependencies=false。有人想说这是啥玩意,俺也不知道,反正试一下没错就行了。但几个问题我都处理过,都行不通。可能我的问题不在这吧。
2023-07-07 10:37:16
366
转载 springcloud整合nacos报错 No spring.config.import set
在SpringBoot 2.4.x的版本之后,对于bootstrap.properties/bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持,需要导入如下的依赖。由于SpringCloud 2020.*以后的版本默认禁用了bootstrap,导致读取配置文件时读取不到该属性。Spring Cloud 新版本默认将 Bootstrap 禁用,需要将 spring-cloud-[starter]依赖引入到工程中。
2023-07-05 15:02:55
7750
转载 vue 子组件调用父组件方法的几种方式
在父组件中通过 props 的方式传入子组件中,在子组件中直接调用这个方法。在嵌套层级很深的子组件中不建议使用 props 的方式传递父组件的方法,因为层层传递会导致代码变得难以维护。在子组件中通过 this.$parent.event 的方式来调用父组件的方法。在嵌套层级很深的子组件中不建议使用该方式。在子组件中使用 $emit 向父组件触发一个事件,然后在父组件中监听该事件。在嵌套层级很深的子组件中不建议使用该方式。provide 向子孙组件提供父组件的方法或属性。
2023-06-07 16:51:01
3121
转载 使用element-ui的弹出框(dialog),页面会抖动一下
在使用Element UI点击按钮,弹出dialog对话框,会出现页面抖动的现象,发现弹出dialog时,样式发生了以下变化:body的style会添加一个padding和hidden按照以下修改即可:<style>body{ padding-right: 0px !important; overflow: hidden;}</style>可以在全局定义,那么其他组件可以共用参考原文:https://blog.youkuaiyun.com/zhengyue1314/a
2022-05-30 17:23:44
1436
3
转载 SpringBoot内置工具类
说明:今天无意间看到springboot的一些工具类,平常不怎么注意,所以特此记录一下其实用hutool也还是挺好的一 断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行// 参数 message 参数用于定制异常信息。void
2022-05-19 23:10:23
258
转载 解决element-ui进行校验后控制台提示async-validator验证警告
1、在node_modules文件夹中找到async-validator文件夹中的es下的util.js文件,整个的路径:node_modules > async-validator > es > util.js2、注释util.js中的输出日志,注释掉即可原文链接:https://blog.youkuaiyun.com/u014678583/article/details/113930356...
2022-05-16 10:51:22
6629
1
原创 JAVA通用版日期区间
说明:最近写了一些求时间段的数据,发现若是在mysql写的话有点冗余不通用。然后,参考其他博主和自己改造一下生成一篇通用的日期区间工具类。注意,针对于跨年的问题。大家使用的时候注意一下是不是符合你们的需求。代码:package com.crm.untils;import java.text.SimpleDateFormat;import java.util.*;import static com.jdlims.util.DateUtil.getNowMonth;import static
2022-04-18 11:34:34
1347
原创 mysql 查询,天,周,月等写法
1、查询当天的数据select * from 表名 where TO_DAYS(时间字段)=TO_DAYS(NOW());2、查询当周的数据select * from 表名 where YEARWEEK(DATE_FORMAT(时间字段,'%Y-%m-%d'))=YEARWEEK(NOW());3、查询当月的数据select * from 表名 where DATE_FORMAT(时间字段,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m');4、查询昨天的数据se
2022-04-15 11:48:54
563
原创 Vue引入Echart初始化错误
1、现象2、解决在main文件中将导入方式 import echarts from 'echarts’改为 import * as echarts from 'echarts’
2022-04-14 17:32:18
1061
转载 vsode中查看webpack -v 报错
说明:安装完webpack后,在vscode中查看webpack的版本报错,以下是解决方法1、现象2、解决方法解决方法为:1.关闭vscode,并以管理员身份重启vscode2.在终端中输入:get-ExecutionPolicy 显示Restricted,表示状态是禁止的3.再次输入:set-ExecutionPolicy RemoteSigned 执行后不显示内容;4.最后再输入:get-ExecutionPolicy,显示RemoteSigned;原文链接:https:
2022-04-10 14:38:07
578
转载 创建vue脚手架完整版
说明:最近打算练习一些vue相关的项目,平常创建不多容易忘记。所以,打算参考其他博主的一些文章记录一下完整创建vue脚手架的流程一、安装nodewin+r输入cmd打开控制台窗口,输入:node -v检查是否安装node。如果没有安装先去官网安装,安装地址:https://nodejs.org/en/二、安装cnpm(非必要),但是国内的话安装了会快很多。输入命令安装:npm install -g cnpm -registry=https://registry.npm.taobao.org
2022-04-10 14:22:18
384
原创 elementui Table的表头内容过长改为......并提示
一、效果图二、代码我的el-table-column是通过遍历出来的,设置默认width,然后回调render-header<!-- 测试过滤字段 --> <el-table-column v-for="item in clientTranslate" :prop="item.fileterFieldName" :label='item.fileterEnName' :key="item.filet
2022-03-31 15:40:19
3356
3
转载 element中表格列要遍历时如何加插槽(template)
一、问题详情在项目中遇到这个问题就是要在element中的el-table标签中的el-table-column标签中使用插槽来自定义表格列的内容,由于el-table-column要用v-for遍历出来,所以操作起来就比较麻烦,于是有了一下代码:<el-table :data="tableData" style="width: 100%"> <el-table-column :label="v.name" :key="k"
2022-03-30 17:34:02
8443
1
转载 Vue 拖拽组件(实现上下拖拽) vuedraggable
引入依赖npm i -S vuedraggable这样可以实现一列按钮之间 可以进行上下拖拽 重新排版<template> <vuedraggable v-model="list"> <transition-group> <div v-for="item in list" :key="item" class="item"> <van-button>{{item}}</van-button>
2022-03-28 16:33:56
1587
转载 elementui table 固定列_Vue动态控制表格列的显示和隐藏
1.效果如图v-if=“lists[0].ispass” 来判断表格列的状态每一列是否显示或隐藏 勾选则展示、取消勾选隐藏、默认勾选2.代码<el-dropdown :hide-on-click="false"> <i class="iconfont icon-shaixuan" ></i> <el-dropdown-menu slot="dropdown" > <el-
2022-03-28 16:31:26
1826
转载 Cookie、session和localStorage、以及sessionStorage之间的关系
一、Cookie、session和localStorage的区别cookie的内容主要包括:名字、值、过期时间、路径和域。路径与域一起构成cookie的作用范围。若不设置时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍然有效直到超
2022-03-18 22:53:00
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人