Java
java线程异步方法
异步的八种实现方式: 线程异步 Thread/Runnable Future + Callable 异步框架 CompletableFuture Spring 注解 @Async Spring ApplicationEvent 事件 第三方异步框架,比如 Hutool 的 ThreadUtil Guava 异步 消息队列 1、线程异步 public class ThreadTest impl
软件架构风格之MVC架构
一、前言 在序章中已经介绍了MVC架构,MVC即模型-视图-控制器模式,该架构的核心组件是模型(Model)、视图(View)、控制器(Controller),各个部件之间职责明确,以实现搞内聚低耦合的系统。Model层的作用和职责①表示应用程序的数据结构和业务逻辑;②包含用于访问、更改和保存数据的方法;③负责与数据库、文件系统和其它数据源的交互,获取所需数据。View层的定义和作用①用户界面
我在大厂做 CR——如何体系化防控空指针异常gj
合集 - 卓越工程(4)1.为什么需要依赖注入10-072.我在大厂做 CR——为什么建议使用枚举来替换布尔值10-163.我在大厂做 CR——如何体系化防控空指针异常10-214.我在大厂做 CR——再谈如何优雅修改代码10-07收起阅读目录 什么是空指针异常 CR 我们要做什么 再谈空指针防控手段 写在最后:veee加速器 大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空
解除网页文本禁止复制限制的六种方法
# 方法一:浏览器扩展 最简单也是最省事的方法,直接安装解除复制限制的扩展完事儿。 下面推荐两款扩展: Simple Allow Copy:Chrome & Edge(Chromium 系的应该都可以) Absolute Enable Right Click & Copy:Chrome & Edge & Firefox 使用方法也很简单,在有复制限制或者右键限
Nuxt.js 应用中的 build:done 事件钩子详解
title: Nuxt.js 应用中的 build:done 事件钩子详解 date: 2024/10/21 updated: 2024/10/21 author: cmdragon excerpt: build:done 是 Nuxt.js 的一个生命周期钩子,它在 Nuxt 应用的打包构建器完成运行后被调用。这个钩子为开发者提供了一个在构建过程结束后执行特定逻辑的机会,可以用于处理构建完
SpringBoot 2.7.18 集成 Mybatis Plus + Druid
目录Pom 依赖yml 配置Config 配置Mapper扫描EntityMapper.xmlMapper - SysMenuMapperServiceController条件构造器 mybatis-plus在mybatis的基础上只做增强不做改变,因此只需把mybatis的依赖换成mybatis-plus的依赖 一并附上 Mybatis 和 Mybatis Plus 的使用区别 使用mybat
count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题Jv
合集 - 面渣逆袭(10)1.阿里面试:Java开发中,应如何避免OOM02-212.美团面试:Kafka如何处理百万级消息队列?02-203.Java异常处理的20个最佳实践:告别系统崩溃02-224.揭秘一线大厂Redis面试高频考点(3万字长文、吐血整理)02-235.美团面试:说说OOM三大场景和解决方案? (绝对史上最全)02-246.面试必备:一线大厂Redis缓存设计规范与性能优化0
防重复下单与超卖问题
防止秒杀重复下单在Redis中记录一个hash值,用户每次秒杀,值加1,是否大于1作为判断 使用分布式锁解决超卖的问题 分布式锁为了保证一个方法 或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用java并发处理相关的API(ReentrantLock或Synchronized)进行互斥控制,在单击环境汇总,ja
windows 像Linux一样好用 msys2 环境配置教程
很多Linux的命令 诸如clear ls gcc zsd 在windows上都暂时不能用,这点很蛋疼,所以 msys2 横空出世。 先安装msys2 国内网络环境 推荐用国内的开源镜像站点来(国外网络可以半无视这一步): (https://mirrors.tuna.tsinghua.edu.cn/# "清华大学开源镜像站") 然后下载安装,配置国内源: (https://mirrors.tun
Java 当中使用 “google.zxing ”开源项目 和 “github 的 qrcode-plugin” 开源项目 生成二维码
Java 当中使用 “google.zxing ”开源项目 和 “github 的 qrcode-plugin” 开源项目 生成二维码 @目录Java 当中使用 “google.zxing ”开源项目 和 “github 的 qrcode-plugin” 开源项目 生成二维码1. Java当中使用 “google.zxing ” 开源项目生成二维码1.1 准备工作1.2 生成黑白二维码1.2.1
[Javascript] Write memoize function
class MemoizeMap { constructor() { this._map = new Map(); this._weakMap = new WeakMap(); } _isObject(v) { return typeof v === "object" && v !== null; } set(key, value)
基于Telegraf+Influxdb+Grafana的监控平台介绍
我们知道这种监控平台的数据特征一般都是时间序列数据(简称 时序数据),那么相应的这些数据最好是存储在时序数据库中,目前主流的时序数据库有InfluxDB、OpenTSDB、Graphite、TimescaleDB等。其中,InfluxDB是目前监控领域使用较多的时序数据库,并且基于InfluxDB有一套完善的开源解决方案 —— TICK Stack,如下图所示: TICK Stack 是
Angular和React有什么本质区别
ANGULAR与REACT的本质区别在于:1、基础架构 Angular是一个成熟的全功能前端框架,而React则是一个灵活的前端库;2、数据绑定 Angular提供双向数据绑定,React采用单向数据流;3、依赖注入 Angular支持依赖注入,React则没有这一机制;4、语法 Angular使用TypeScript编写,引入了类和接口,而React使用JSX,将视图与逻辑相结合。以上只是基本差
oom排查与jvm部分知识
1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory
Springboot整合Mqtt,并且使用GBK格式收发数据
MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为远程连接设备提过实时可靠的消息服务,作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小
SpringBoot 2.3 升级到 SpringBoot 2.7 爬坑-- Cors 跨域
SpringBoot 2.3 升级到 SpringBoot 2.7 爬坑-- SpringDoc & Swagger When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-
鸿蒙Flutter实战:01-搭建开发环境
鸿蒙Flutter实战:01-搭建开发环境 准备工作 1.安装 DevEco Studio NEXT IDE, 注意版本应该是 Next,当前最新的是 Beta3 2.安装Git, 如果要同时适配安卓,需要安装Android Studio; 如果要适配ios,需要安装Xcode Mac 安装(推荐) 环境变量配置 Windows 安装 配置用户变量 配置环境变量 编辑 PATH,添加以下路径
代码随想录算法训练营 | 739. 每日温度,496.下一个更大元素 I ,503.下一个更大元素II
739. 每日温度 题目链接:739. 每日温度 文档讲解︰代码随想录(programmercarl.com) 视频讲解︰每日温度 日期:2024-10-20 想法:遍历一遍数组,用栈来存数组下标做记录,因为要找更高得温度,当当前遍历的温度大于栈头存储(存的下标)的温度时,就可以知道栈头要过多少天遇到高温,低的时候直接入栈。 Java代码如下: 496.下一个更大元素 I 题目链接:496.下一
一,Object(Java中所有类的父类)
Java编程基础:深入理解Object类及其常用方法 在Java中,Object类是所有类的父类,它提供了一些基本的方法,这些方法对所有对象都可用。本文将详细探讨Object类的常用方法,包括hashCode()、toString()、equals()、clone()和finalize(),以及它们的使用和示例代码。 Object类概述 Object类是Java中所有类的父类,它提供了一些基本方法
我在大厂做 CR——如何体系化防控空指针异常
大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际上是访问一个“无效”的内存区域,从而导致系统抛出异常。 我们在 Java 编程时,空指针异常是一个常见的运行时错误,严
Windows服务器的创建
对服务器的个人简单理解 简单理解为后端服务器是建立给App可以通过客户端的界面操作,服务器端执行相应的代码反馈给客户端 IIS方式 网站添加 默认目录(直接IP访问) 在网络设置中添加多个IP不同IP绑定不同网站创建多个网站 虚拟目录(IP后加/虚拟目录名称) 可添加多个虚拟目录添加多个网站 ASP动态网站(添加网站不能使用虚拟目录了) web服务器下载ASP 网站默认文
vue(vue.js)—内置指令v-cloak、v-once、v-pre
原文链接:vue(vue.js)—内置指令v-cloak、v-once、v-pre – 每天进步一点点 1.v-cloak 情景:请求服务器资源的时候,服务器资源有可能延时响应,这时候,vue无法加载一些数据,比如下面这种情况, <div id="root"> <div>你好,{{name}}<div> </div> 如果平常情况,这
重构案例:将纯HTML/JS项目迁移到Webpack
我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于 GitHub 上,非常感谢该项目的贡献者。 重构案例选择了两个页面:首页 index.html 和购物车页面 cart.html。 项目目录结构清晰
五,StringBuffer
Java 中的 StringBuffer 类详解 StringBuffer 类是 Java 中用于创建可变字符串的类。与 String 类不同,StringBuffer 对象允许在原有字符串上进行修改,而不需要创建新的字符串对象。这种特性使得 StringBuffer 在需要频繁修改字符串的场景下更加高效。此外,StringBuffer 是线程安全的,这意味着它的方法是同步的,可以在多线程环境中安