Java
EasyExcel文档
源自官方文档,仅供我个人使用,其他人请移步官方地址:https://easyexcel.opensource.alibaba.com/,官方文档更详细更好!! 新手必读 官方网站:https://easyexcel.opensource.alibaba.com/ github地址:https://github.com/alibaba/easyexcel gitee地址:https://gitee
java 面向对象4
1.java存在抽象类,不写函数的具体实现,需要再函数前边加上abstract修饰.这个和c++语法存在差别,但是同样抽象类不可以创建对象,可以用抽象类的引用指向子类创建的对象,这个用法在一定程度上使得接口一致.利于在开发中保持接口一致,避免接口混乱的问题.同时利用抽象类可以使得一些没有具体意义的类无法被创建. 2.接口,与抽象的作用很相似,首先要创建一个接口比如swim,speak,在jav
【质数判断】给定两个数,判断这两个数是否互质?
互质的定义 两个整数,如果它们除了1以外没有其他公因数,则称这两个整数互质。 输入描述 输入两个数字:n,m 输出描述 true: 表示为互质。 fasle: 表示不为互质。 代码实现
3.1 string(字符串)
4.1. string(字符串) SET/SETEX/MSET/MSETNX GET/MGET GETSET INCR/DECR DEL 1. 设置键值 set 设置的数据没有额外操作时,是不会过期的。 设置键为name值为yuan的数据 注意:redis中的所有数据操作,如果设置的键不存在则为添加,如果设置的键已经存在则修改。 设置一个键,当键不存在时才能设置成功,用于一个变量只能
[Java手撕]线程安全的转账
首先来看线程不安全的转账 线程安全的转账 竞争太激烈,所有线程都在抢同一把银行锁 线程安全的转账升级版 分散锁到各个账户上去,每个线程只要取得两个账户上的锁即可, 要注意按顺序获取锁,否则会死锁
为什么重写hashCode一定也要重写equals方法?
这是一个经典的问题,我们先从==开始看起 == "==" 是运算符 如果比较的对象是基本数据类型,则比较的是其存储的值是否相等; 如果比较的是引用数据类型,则比较的是所指向对象的地址值是否相等(是否是同一个对象)。 equals 作用是 用来判断两个对象是否相等。通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否相等。源码如下: equals 方法不能用于比较基本
解决哈希冲突的三种方法
为什么会哈希冲突 我们知道,在使用Map,Set这些集合时,都会重写hashcode方法,但Java中的hashCode方法会将对象映射到一个32位的整数范围(即从-2^31 到 2^31-1)。无论输入数据多么庞大,哈希函数生成的哈希值总是落在这个有限范围内。因此是会存在hash冲突的。 无论哈希函数设计得多么好,也无法避免所有冲突。一个好的哈希函数应尽可能地将输入数据均匀地分布到输出范围内,但
typescript: deserialize json to object
/* * _oo0oo_ * o8888888o * 88" . "88 * (| -_- |) * 0 = /0 *
压力测试Monkey命令参数和报告分析
在移动应用的开发过程中,确保APP在高负载下依然能够稳定运行,是保证用户体验的重要一环。为了测试应用的稳定性和性能,压力测试变得至关重要。而其中,Monkey工具以其随机生成事件的方式,成为了开发者进行压力测试的利器。 在使用Monkey进行压力测试时,我们应该如何设置合适的命令参数?测试完成后,又该如何高效地分析测试报告,从而找到潜在的问题呢? Monkey工具通过模拟用户的操作,随机生成各种事
【栈】表达式括号匹配
题目描述 (1+(2+3)*(3+(8+0))+1-2) 这是一个简单的数学表达式,今天不是计算它的值,而是比较它的括号匹配是否正确。 前面这个式子可以简化为(()(()))这样的括号我们认为它是匹配正确的, 而((())这样的我们就说他是错误的。注意括号里面的表达式可能是错的,也可能有多个空格,对于这些我们是不用去管的, 我们只关心括号是否使用正确。 输入描述 给出一行表达式(长度不超过 100
Springboot实战——黑马点评之缓存
Springboot黑马点评——缓存 1 缓存初识与简单实现 1.1 根据商铺id的缓存查询 基础缓存实现: 考虑到有数据会同时存在于数据库和缓存中,所以: Q:数据库和缓存的数据一致性问题? A:三种缓存更新策略用来解决一致性问题 1.2 缓存更新策略的选择 第一种:内存淘汰 第二种:超时剔除 第三种:主动更新(自行编码) 1.2.1 主动更新策略:三种写缓存 一般主动更新策略最通
深入理解 Java 中 ArrayList 的底层原理
在这篇博客中,我们将深入探讨ArrayList的底层实现原理,并通过逐步剖析ArrayList的源码来理解其内部工作机制。我们将重点关注ArrayList的创建、元素添加、扩容机制等关键点。 创建ArrayList集合对象 使用空参构造器创建ArrayList集合对象时,会调用其内部的默认构造方法: 深入解析 DEFAULTCAPACITY_EMPTY_ELEMENTDATA: 这是一个f
织梦DedeCMS服务器网站目录怎么进行安全设置
织梦DeDeCMS的安全设置非常重要,尤其是服务器网站目录的安全配置,可以有效防止恶意攻击和提高网站的安全性。以下是一些推荐的安全设置步骤: 1. 删除安装目录 删除install目录:安装完成后立即删除 install 目录,以防止攻击者利用安装程序的漏洞。 bash rm -rf ./install 2. 更改默认目录名称 更改后台目录:更
帝国cms如何隐藏前台信息数据
帝国CMS隐藏前台信息数据的方法 隐藏数据库信息 在 e/config/config.php 中找到 AllowShowData 参数并将其设置为 false。 登录后台,在 系统管理 → 系统配置 中,选择 栏目 选项卡,将 显示记录数 和 显示栏目索引 设置为 0。 隐藏后台登录页面 在 e/config/config.php 中找到 adminLoginkey 参数并修改其值。 修改
织梦dedecms简单吗
织梦DeDeCMS是一款简单且实用的开源网站管理系统,它非常适合个人站长、中小企业和学校等用户使用。以下是织梦DeDeCMS的一些特点,说明它的简单性: 简单安装 一键安装:织梦CMS提供了一键安装功能,只需要按照提示完成几步即可快速安装。 无需专业知识:安装过程简单直观,不需要深入的技术知识。 易用的后台管理 直观的界面:后台管理界面设计简洁,易于理解。 丰富的功能:提供了丰富的管理功能,
织梦dedecms二级菜单中判断子菜单标签怎么用
在织梦DeDeCMS中,实现二级菜单通常涉及到使用织梦特有的标签来动态生成菜单结构。下面是如何在二级菜单中使用织梦标签来判断子菜单的存在,并据此显示或隐藏子菜单的方法。 1. 准备工作 确定主菜单:首先确定您想要作为主菜单的栏目ID。 创建子菜单:在后台为相应的主菜单创建子栏目。 2. 编写模板代码 主菜单标签:使用 {dede:channel} 标签来获取主菜单。 子菜
织梦dedecms模板怎么改
织梦DeDeCMS模板修改是一项常见任务,可以帮助您定制网站的外观和功能。下面是一些基本的步骤和指导,帮助您了解如何修改织梦CMS的模板。 1. 准备工作 备份:在修改模板之前,一定要备份现有的模板文件,以免丢失原始数据。 熟悉模板结构:了解织梦CMS模板的基本结构和标签用法。 2. 修改模板文件 定位模板文件:织梦CMS的模板文件通常位于 templets 目录下。 编
织梦dedecms使用sql语句获取文章链接地址
在织梦DeDeCMS中,可以通过SQL语句结合织梦特有的标签来获取文章链接地址。以下是如何使用SQL语句获取文章链接地址的具体步骤和示例。 1. SQL语句 织梦CMS允许在模板中使用自定义SQL语句来获取数据。这可以通过 {dede:sql} 标签来实现。 2. 获取文章链接地址 SQL语句:编写SQL语句来查询需要的文章链接。 标签使用:使用 {dede:sql
JAVA IO流-小白版
I/O流原理 I/O 是 Input / Output 的缩写,I / O 流技术是非常实用的技术,用于处理数据传输。如读/写文件,网络通讯等; Java中对于数据的输入/输出操作以"流(stream)"的方式进行; Java.io 包下提供了各种"流"类和接口,用以获取不同种类的数据,并通过方法输入或输出数据; 输入input:读取外部数据(如磁盘数据)到程序(内存)中; 输出output:将
uni-app Vue3项目引入Tailwind CSS
前情 Tailwind CSS 是一个原子类 CSS 框架,它将基础的 CSS 全部拆分为原子级别,同时还补全各种浏览器模式前缀,兼容性也不错。它的工作原理是扫描所有 HTML 文件、JavaScript 组件以及任何模板中的 CSS 类名,然后生成相应的样式代码并写入到一个静态 CSS 文件中。Tailwind CSS 快速、灵活、可靠,没有运行时负担。自从接触了Tailwind CSS后,目前
织梦dedecms上传服务器后数据连接失败怎么办
当织梦DeDeCMS上传到服务器后出现数据连接失败的问题时,可以采取以下几个步骤来解决这个问题: 1. 检查数据库连接信息 打开common.inc.php文件:在织梦CMS的 data 文件夹中找到 common.inc.php 文件。 修改数据库连接信息: 数据库服务器地址:确认数据库服务器地址是否正确,例如使用IP地址而不是域名。 端口号:确认数据
织梦DEDECMS怎么实现鼠标移到标题显示完整的title
在织梦DeDeCMS中,实现鼠标移到标题时显示完整的title可以通过修改模板文件中的标签来完成。下面是一种简单的方法来实现这一功能: 步骤 1: 找到需要修改的模板文件 打开您需要修改的模板文件,通常这些文件位于 templets 文件夹中。 寻找包含文章标题的地方,例如在列表页模板 list_*.htm 或者内容页模板 article_*.htm 中。 步骤 2: 修改标题标签 在标题标签中
JavaScript 的 标签
标签 标签在JavaScript中不是一个常见的特性,但在某些情况下,它们可以用于改善循环的可读性或退出嵌套循环。 在这个例子中,loop1和loop2是标签,它们分别用于控制两个嵌套的for循环。当条件满足时(i和j都等于1),使用break loop1;语句来退出外层循环。 与break和continue一起使用 标签可以与break和continue语句一起使用,以控制循环的执行流程。
防抖:解决频繁操作的小技巧!
📝 使用场景 登录、发短信等按钮避免用户点击太快,以致于发送了多次请求,需要防抖 调整浏览器窗口大小时,resize次数过于频繁,造成计算过多,此时需要一次到位,就需要用到防抖 搜索框搜索输入,不需要每次输入一个字的时候就进行搜索,而且等待没有再次输入的时候就返回结果,需要防抖 📐 实现原理 一定时间内,只有最后一次操作,再过waitTime毫秒后才执行函数 🚄 实现 说明 考虑到后面这
JAVA 的介绍和安装
JAVA 的介绍和安装 Java的三大版本 JavaSE:标准版 (桌面程序,控制器开发) JavaME: 嵌入式开发(忽略) JavaEE:E企业级开发(web端,服务器开发……) 学习思路 SE → EE Java的组成 JDK、JRE、JVM JDK: java development kit(java开发者工具) JRE: Java runtime environment JVM: j
Linux安装JDK两种方式详细教程(附图)
Linux安装JDK详细教程(图文教程)这里介绍两种方式:yum安装方式和手动安装1、yum安装1.1 查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例1.2 安装JDK1.8出现Complete!安装完成。1.3 查看JDK版本默认安装到usr/lib/jvm目录下2、手动安装2.1 卸载OpenJDK以及相关的Java文件查看Java信息及相关的Java文件删除Java相
MySQL 亿级数据平滑迁移实战
作者:来自 vivo 互联网服务器团队- Li Gang 本文介绍了一次 MySQL 数据迁移的流程,通过方案选型、业务改造、双写迁移最终实现了亿级数据的迁移。 一、背景 预约业务是 vivo 游戏中心的重要业务之一。由于历史原因,预约业务数据表与其他业务数据表存储在同一个数据库中。当其他业务出现慢 SQL 等异常情况时,可能会直接影响到预约业务,从而降低系统整体的可靠性和稳定性。为了尽可能提