Java
synchronized和ReentrantLock有什么区别
`synchronized`和`ReentrantLock`都是Java中用于实现同步的机制,但它们之间有一些区别:1. **可重入性**: - `synchronized`是Java语言内置的关键字,具有可重入性,同一个线程可以多次获取同一个锁而不会造成死锁。 - `ReentrantLock`是`java.util.concurrent.lock
mysql 一主一从 读写分离
schema.xml配置 主从balance 策略 读写分离 首先需要配置 主从复制 ,主从复制 请查看 主库 备库 需要创建 itcast 数据库 目前读写分离是使用的mycat 需要配置 /usr/local/mycat/conf/schema.xml (注意
IDEA 2024.1:Spring支持增强、GitHub Action支持增强、更新HTTP Client等
有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。 Spring、Quarkus等主流框架的支持增强 Search Everywhere功能中增加Endpoints选项卡 具体如下图所示: 开发者可以在
并发编程防御装-锁(基础版)
并发编程防御装-锁(基础版) 大家好,我是小高先生。在Java并发编程的世界中,锁的地位至关重要。它就像是一道坚固的防线,确保了并发编程运行结果的正确性。你可以不准备攻击装备,但是锁这个防御装备是必不可少的。相信大家在之前都对锁或多或少有些了解,本文将带领大家学习锁的基础知识。 乐观锁和悲观锁 synchronized案例 synchronized字节码分析 synchronized锁的是什么
从零开始搭若依微服务版
1.打开文档 https://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html 按照这个清单安装环境 2.JDK 需要上oracle官网下载,很不方便,我这里直接提供网盘链接。安装建议全部默认,不要修改路径,会造成运行异常。安装之后,记得配置java环境变量。 链接: https://pan.baidu.com/s/1-AoxxXC3urmgC61Odvh
【常见问题】Java 8 date time type `java.time.LocalDateTime` not supported by default 日期序列化问题
问题描述 将一个包含LocalDateTime对象的集合进行序列化和反序列化时,可能会遇到以下异常: 这是因为Jackson库在默认情况下不支持LocalDateTime类型的序列化和反序列化。为了解决这个问题,我们需要自定义序列化和反序列化的行为。 解决方案一 1. 引入依赖 2. 设定时间模块 解决方案二 1. 自定义序列化器 首先,我们需要创建一个自定义的序列化器,用于处理LocalD
VSCode+Nodejs+Typescript前端开发环境
1.安装Node.js 下载地址:https://nodejs.org/en lts版本: 长久稳定版本 安装:默认安装就可以了 验证:node 2.VSCode 下载地址:https://code.visualstudio.com/Download 安装:默认安装 语言切换: 安装中文插件,重启 2.1 修改终端cmd模式: 1.点击设置图标,选择Command Palette
软件架构模式之第四章:微内核架构
第四章:微内核架构 微内核架构风格是一种高度灵活且可扩展的架构,允许开发人员或最终用户以插件形式轻松地为现有应用程序添加额外功能和特性,而不会对系统的核心功能产生任何影响。因此,微内核架构常被称为“插件化架构”(这也是其另一个常见名称)。该架构风格非常适合产品型应用程序(即以典型第三方产品版本形式打包并提供下载),同时也广泛应用于定制化企业内部业务应用程序。实际上,许多操作系统
JDK下载介绍及其选择
1.JDK简介 基本情况 JDK 是 Java 语言的软件开发工具包。JDK 是整个 Java 开发的核心,它包括 Java 运行环境、Java 基础类库和 Java 工具。 版本情况 按照维护情况分为 non-LTS(短期) 和 LTS(长期)两种 ;对于短期支持版本(non-LTS)而言,Oracle只会提供6个月的支持维护;而对于长期支持版本(LTS),则提供8年的支持维护。 版本
【Java 并发】【应用】经典的生产者、消费者
1 前言 闲来无事,复习复习并发中常用到的一些协调多线程的工具哈。 2 基于Java队列的实现 生产者跟消费者之间要协调,他俩会出现碰撞的地方就是存放东西的容器,所以我们可以直接拿一个线程安全的队列来做容器即可,比如我这里用的 ArrayBlockingQueue: 3 基于Java内置锁的实现 那么我们不用安全队列的情况下,基于最原始的 Jav
我的世界-新年做福字
我的世界中没有自带福字,如果过年你想给自己的小房子贴个福字,就需要自己造一下,下面是制造福字的流程: 1. 首先你要有张空地图 2. 在一片空的区域,把地图放在左右,右键生成该地块地图 3. 通过图上白点,确定地图的边缘位置,并放置方块作为记号,找出四个角 4. 如何确定福字对应的方块,可以通过(https://www.zhetao.com/fontarray.html)这个网址,取子模。初
JAVA笔记(复习)(新)
概述 重要特点 Java语言是面向对象的 Java语言是健壮的。Java的强类型机制,异常处理,垃圾的自动收集等是Java程序健壮性的重要保证 Java语言是跨平台性的。 Java语言是解释型的 JDK,JRE和JVM的包含关系 JDK=JRE+开发工具集 JRE=JVM+Java SE标准类库(java核心类库) 如果只想运行开发好的.class文件,只需要JRE 变量注意事项 变量表
Java集合篇之深入解析ArrayList,这六问你答的上来吗?
写在开头 开年第一篇,先祝各位新的一年身体健康,学业有成,事业有成哈,春节期间就是咔咔乱吃,咔咔乱玩,把学习都抛一边子去了,已经9天没有学习了,深深的懊悔,从今天开始,2024年的学习正式开启,一起给我猛冲!!! 书接上回,我们开启了Java集合部分的学习,今天我们就来看一下List,其中它的核心有两个,一个ArrayList,一个LinkedList,而ArrayList的使用频率在集合中至少排
svg半小时全方位入门
1 - svg 应用场景和优势 canvas 快速入门 canvas 是 HTML5 的新特性,它允许我们使用 canvas 元素在网页上通过 JavaScript 绘制图像。 入门案例:绘制矩形、线段、圆、点 canvas绘图流程 编写 canvas 标签(注意指定宽高) 获取 cancas DOM 对象 获取 canvas 对象 设置绘图属性 调用绘图 API SVG 快速入门
NSSM使用说明中文版
NSSM -the Non-Sucking Service Manager 适用于Windows 10、Server 2016及更新版本 2017-04-26: Windows 10创作者更新或更新版本的用户应使用预发布版本2.24-101或任何更新版本,以避免服务启动失败的问题。如果由于某种原因无法使用该版本,您可以在注册表中设置AppNoConsole=1,但请注意,期望有控制台窗口的应用程序
ant 引入cdn 和解决首页访问出现很多预加载文件的问题
vue.config.js module.exports = { // 解决首页访问出现很多预加载文件的问题 chainWebpack: config => { // 移除 prefetch 插件 config.plugins.delete('prefetch') // 或者 // 修改它的选项: // config.plugin('pre
Server & Application Monitor
快速可定制的 Windows 服务器监控工具获取全面信息,控制 Windows IT 环境 优化资源使用率和容量预测SolarWinds® Server & Application Monitor () Windows 服务器管理工具提供内置功能预测图表和指标,可在服务器资源将达到警告和临界阈值时轻松识别出这一情况。 检测高 CPU 使用率、物理和虚拟内存不足以及存储卷中的可用磁盘容量确定
程序是怎样跑起来的 第七章
程序的运行环境 = 操作系统 + 具体硬件 硬件核心考虑参数为CPU,不同的CPU指令集不同,能解释的机器语言种类也不同,其只能解释自身的机器语言,也就是常说的cpu指令集 常见的有: x86、MIPS、SPARC、PowerPC 本地代码: 通过将源代码进行编译后生成的机器语言的程序成为本地代码(机器直接运行的代码) 源代码: 通过文本编辑工具书写的各类语言代码(高级代码,人更容易理解编写) w
Java中正则表达式(regex)匹配多行(Pattern.MULTILINE和Pattern.DOTALL模式)
Java中,正则表达式(regex)的处理是通过Pattern类实现的。Pattern类提供了多种标志(flags)来修改正则表达式的行为。其中,Pattern.MULTILINE和Pattern.DOTALL是两个常用的模式,它们分别用于处理多行文本和让.匹配包括行终止符在内的任意字符。 参考文档:Java中正则表达式(regex)匹配多行(Pattern.MULT
17、博客图标更改效果 - 博客界面改造文章(202402)
上次逛博客园,有一个园友的博客吸引了我,它那个也自己更改了博客效果,看到他的博客图标已经改成自定义的了。然后我就找了它的JS代码,不过他那个是一个类,挺大,于是我就百度了一下,将个人博客图标更改的方法发布如下:
沿SVG路径的颜色渐变
原生的渐变方法 在SVG中提供的原生渐变方法有两种,分别为线性渐变linearGradient和径向渐变radialGradient。我们以一个稍微复杂的路径来作为模板,为其添加两种渐变效果: 展示效果如下: 虽然这两种渐变类型还有许多其他的属性可以设置,但它们的渐变颜色始终是只能沿着某一方向直线分布的,无法满足我们希望颜色可以沿着任意路径作渐变的需求。 对于某些特殊的路径如<circl
Qt6.0开发 第三章 Qt框架功能概述
第三章 Qt框架功能概述 Qt全局定义 头文件<QtGlobal>包含一系列Qt框架中的全局定义.包括基本数据类型,函数与宏. 函数 qt中常用的函数包括: 函数原型 功能 T qAbs(const T&value) 返回变量value的绝对值 const T& qBound(const T& min,const T& value,
糟糕,接口被刷了,怎么办?
前言 在面试时,经常会被问一个问题:如何防止别人恶意刷接口? 这是一个非常有意思的问题,防范措施挺多的。今天这篇文章专门跟大家一起聊聊,希望对你会有所帮助。 1 防火墙 防火墙是网络安全中最基本的安全设备之一,主要用于防止未经授权的网络访问和攻击。 防火墙可以防止的攻击行为包括: 无效数据包:防火墙可以识别和过滤掉无效的数据包,如错误的 IP 地址、伪造的数据包和无法识别的协议等。 DOS 和
出现8080端口占用问题解决
查到占用端口号并关闭 出现: TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 23296 TCP [::]:8000 [::]:0 LISTENING 23296 出现: java.exe
启动vue-element-admin遇到问题解决方案
概述 从https://github.com/PanJiaChen/vue-element-admin下载代码,按照文档执行,期间遇到一些列问题。 问题 npm ERR! syscall spawn git 我是直接下载的压缩包,并不是使用git, 事先并没有安装Git, 所以报“npm ERR! syscall spawn git”错。 下载Git安装,设置Git环境变量
## AndroidStudio安装和环境配置
利用网盘资源,下载所需的sdk和AndroidStudio 链接:https://pan.baidu.com/s/1d-7jRWhHwBU8DaustdJvVA 提取码:8xec 第一步:新建一个androidstudio,在这个文件夹下新建sdk, studio, work, 第二步,运行安装包,在资料里面。 点击next 默认全选,点击next 点击I Agree 下一步直到安装到你新建的
Android家庭记账本开发第一天:Android studio与gradle安装
首先记录一下Android studio与gradle的安装,工具相较于IDEA和pycharm安装过程很麻烦。 官网地址:https://developer.android.google.cn/studio?hl=zh-cn 本次安装示例在虚拟机中运行 首先在官网中点击下载,得到安装程序,双击打开 这里会选择安装位置,自己选择一个安装位置即可,我这里是虚拟机只有一个盘,不推荐安装在c盘