Java
挑战前端基础120题--垃圾回收机制?
1. 什么是垃圾回收机制? 简称GC,内存管理自动运行,找到不被使用的变量,进行垃圾回收 释放内存; 补充点:JS变量分为:全局变量 & 局部变量; 全局变量的生命周期是一直存在直到页面被销毁。局部变量一般定义在函数内部,他的生命周期从函数被调用开始,直到函数运行结束。等到局部变量不被使用,就会被释放从而被垃圾回收; 2.为什么要进行垃圾回收? 为了防止内存泄漏,造成程序卡顿和奔溃;一般分
mysql 货币类型 选择
结论:我们的选择是int 和 bigint ,以分为单位来存; 一个外国人的视频 讲解了,我直接按重点截图了,连接地址:【在MySQL中存储货币的正确方式:不要使用 float 或 double ,要用 decimal 或 integer/bigint !】https://www.bilibili.com/video/BV15N4y147YE?vd_source=025a1c967fa95b3dc
数组处理,去重&合并相同key的值
背景: 上游返回的 skuIdList 存在相同的Id,skuCount数组与skuID一一对应 处理结果:skuIdList 去重,对应的count总和要加起来,对应的 originalPriceList 和 subtotalPriceList 不变代码: import groovy.json.JsonSlurper def skuIdList = new JsonSlurper().parse
SpringMVC学习总结 + 【手写SpringMVC底层机制核心】
SpringMVC笔记 SpringMVC介绍 基本介绍 SpringMVC 是WEB 层框架, 接管了Web 层组件, 支持MVC 的开发模式/开发架构 SpringMVC 通过注解,让POJO 成为控制器,不需要继承类或者实现接口 SpringMVC 采用低耦合的组件设计方式,具有更好扩展和灵活性. 支持REST 格式的URL 请求. Spring MVC和Spring之间的关系 Spr
dbt is_incremental macro 简单说明
is_incremental macro 实际上就是一个判断,以下是实现的简单说明,官方文档也有说明 参考处理 逻辑 模型必须存在(数据库中),目的表也存在(数据库中),full-refresh 没有传递,模型配置了materialized='incremental' macro 实现 结合上边的逻辑发现是可以对应上的 {% macro is_incremental
MyBatis源码之前言—JDBC编码存在的问题和Mybatis的介绍
MyBatis源码之前言—JDBC编码存在的问题和Mybatis的介绍 为了方便操作,我们在sjdwz_test数据库下建立一张表: 数据如下: 实体类如下: JDBC操作数据库 我们先来回顾一下JDBC操作数据库的代码: 运行截图如下: 这段代码主要有如下四点问题: 结果集解析复杂,列名硬编码,sql变化导致解析代码变化,系统不易维护; sql语句硬编码,数据库配置硬编码,难以维护;
深入理解高级加密标准(Advanced Encryption Standard)
title: 深入理解高级加密标准(Advanced Encryption Standard) date: 2024/4/23 20:04:36 updated: 2024/4/23 20:04:36 tags: AES概述 加密原理 优势特点 算法详解 安全性 应用实践 案例分析 第一章:AES概述 AES的历史和背景 历史: 高级加密标准(Advanced Encryp
Flink生产问题记录
1.集群有2个flink版本,用application方式启动报错 Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.commons.collections.map.LinkedMap to field org.apache.flink.streaming.connectors.kafka.F
挑战前端基础120题--JavaScript 中如何实现链式调用的函数?
一. 何为链式调用? 链式调用是一种简化过程的编码方式,使代码看起来更加简洁~它允许你通过在方法调用之间返回对象本身,从而连续地调用多个方法;比较常见的链式调用:jQuery, Promise等,通过多次书写.或()操作来调用。 二. 实现的原理? 每次执行完成后返回自己/新的自己,这样可以确保后续的方法仍然在当前环境下执行; 三. 如何实现? let p = { then() {
151. 反转字符串中的单词
题目链接:151. 反转字符串中的单词 这题主要是熟悉java一些库的调用,先放代码: 里面涉及到的三个方法,下边介绍。 1. trim() 方法用于删除字符串的头尾空白符 语法 返回值 删除头尾空白符的字符串。 实例 执行结果为: 原始值 : www.runoob.com 删除头尾空白 :w
子类拥有父类对象所有的属性和方法,但无法访问
原链接 前言 JavaGuide中关于继承有如下描述: 子类拥有父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问,只是拥有。 尝试验证这一观点。 对象初始化 首先从对象初始化开始思考,一般继承某个父类的子类对象初始化时是按照以下顺序: 父类的静态变量和常量以及父类的静态代码块 子类的静态变量和常量以及子类的静态代码块 父类的变量赋默认值和父类代码块
@ComponentScan注解的实现,Spring扫描包的过程
相信接触过spring做开发的小伙伴们一定使用过@ComponentScan注解 @ComponentScan指定basePackage,将包下的类按照一定规则注册成Bean。 但是这个注解的其他参数,比如excludeFilters、includeFilters以及底层扫描的实现你有没有了解过? 1. 默认的扫描规则 当我们使用@ComponentScan没有指定excludeFilters、
JTCR-输入/输出:探究 java.io-19
I/O 流是一个逻辑实体,要么产生信息,要么消耗信息。 File File 类直接处理文件和文件系统,它描述文件自身的性质,获得、处理关联的磁盘文件。 Java 中,目录也作为 File 看待,只不过有一个额外的 list() 方法。构造器如下 dirPath 表示文件路径名,fileName 表示文件名或子目录名,dirObj 是一个表示目录的 File 对象,uriObj 是用于描述文件的
72. 编辑距离(leetcode)
https://leetcode.cn/problems/edit-distance/description/?envType=study-plan-v2&envId=top-100-liked 这是一个难题,关于序列DP的,官方的题解较为难懂,这里有一位前辈解释的很好 这里的状态定义是: dp[i][j]表示word1的前i个字母,转换成 word2的前j个字母的最小步数 clas
异常机制(Exception)-(未完待续)
什么是异常 认识异常 实际生活中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据集库的数据,数据可能是空的等等。我们的程序在跑着,内存或硬盘可能满了等等…… 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception。意思是例外,或者叫异常。我们要做的是
MyBatis所有的jdbcType类型对应的javaType类型
来源:https://www.jb51.net/program/287517rew.htmMyBatis处理MySQL字段类型date与datetime1) DATETIME显示格式:yyyy-MM-dd HH:mm:ss时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59'] 2) DATE显示格式:yyyy-MM-dd时间范围:['1000-01-
并发编程(CountdownLatch)
CountDownLatch 是多线程控制的一种工具,它被称为 门阀、计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信 CountDownLatch 能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。它相当于是一个计数器,这个计数器的初始值就是线程的数量,每当一个任务完成后,计数器的值就会减一,当计数器的值为 0 时,表示所有的线程都已经任务了,然
24-自定义持久层框架
1. JDBC 的使用问题 代码示例: 下面剖开代码,逐个分析其中问题: (1)加载驱动,获取连接 存在问题1:数据库配置信息存在硬编码问题。 优化思路:使用配置文件! 存在问题2:频繁创建、释放数据库连接问题。 优化思路:使用数据连接池! (2)定义sql、设置参数、执行查询 存在问题3:SQL语句、设置参数、获取结果集参数均存在硬编码问题 。 优化思路:使用配置文件! (3)遍
Blob数据转String
import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Test { &nbs
Dynamics 365(三)WEB资源使用
在Dynamics 365 可以通过WEB资源 来对按钮/表单进行自定义控制 一、添加图片/网页/脚本 通过解决方案->Web资源->新增 进行 二、网页的使用 选择需要的实体窗体,插入Web资源 三、按钮配置 通过此页面>自定义->导入解决方案 可以看到有Home, Form和SubGri不同的按钮显示,可以操作标红区域进行按钮的添加
springboot~mybatis-plus中使用TypeHandler做类型映射
mybatis-plus中,如果数据表字段类型与java实体字段类型不一样,这时就需要做类型映射与转换了,我们一般可以实现TypeHandler接口,或者继承抽象类BaseTypeHandler,我们下面举例来说明一下它的使用方法。 场景 数据表里字段是varchar,java里是List集合,例如:我的爱好标签 数据表里字段是varchar,java里是个Map对象,例如:我曾经居住过的地方
elementplus中标签页操作
操作包括关闭所有、关闭其他、向右关闭、向左关闭 页面代码 在标签页中添加删除和获取当前页面路径方法,删除在pinia获取数据,获取当前页面在tab-change会有回调参数获取值 在下拉菜单中判断标签是否可以进行不同类型删除 保持只有一个下拉菜单,在打开其他的页面将之前的删除掉 pinia中方法 全部方法
docker-compose 安装部署ElasticSearch 和 Kibana
项目需要搭建es环境,踩了一些坑,记录下 首选还是通过docker搭建,而通过docker最佳的部署方式就是docker compose 1.docker-compose.yml 经过权衡,我觉得es和kibana的配置文件都没必要映射出来,常用的参数在docker-compose.yml配置文件里指定即可,其他用默认的配置文件完全够用 这样做的好处就是不用操心配置文件的问题,以