众所周知,函数节流(throttle)是 JS 中一个非常常见的优化手段,可以有效的避免函数过于频繁的执行。举个例子:一个保存按钮,为了避免重复提交或者服务器考虑,往往需要对点击行为做一定的限制,比如只允许每300ms提交一次,这时候我想大部分同学都会到网上直接拷贝一段throttle函数,或者直接引用lodash工具库btn.addEventListener('click', _
2022-12-12 michael007js 151
前言我们都知道 Activity 与 Fragment 都是有生命周期的,例如:onCreate()、onStop() 这些回调方法就代表着其生命周期状态。我们开发者所做的一些操作都应该合理的控制在生命周期内,比如:当我们在某个 Activity 中注册了广播接收器,那么在其 onDestory() 前要记得注销掉,避免出现内存泄漏。生命周期的存在,帮助我们更加方便地管理这些任务。但是,在日常开发
2022-12-20 michael007js 139
synchronized作为java语言中的并发关键词,其在代码中出现的频率相当高频,大多数开发者在涉及到并发场景时,一般都会下意识得选取synchronized。synchronized在代码中主要有三类用法,根据其用法不同,所获取的锁对象也不同,如下所示:修饰代码块:这种用法通常叫做同步代码块,获取的锁对象是在synchronized中显式指定的修饰实例方法:这种用法通常叫做同步方法,获取的锁
2022-12-13 michael007js 134
linux添加开放端口后重启防火墙却却无法访问开放端口,重新输入开放端口命令却提示 Warning: ALREADY_ENABLED: 9004:tcp,先删除端口再重新添加解决删除指定端口firewall-cmd --zone=public --remove-port=9004/tcp --permanent开启指定端口firewall-cmd --zone=public --add-port=
2024-10-11 michael007js 128
Hibernate生成的DDL中的语法错误错误“ type = MyISAM”问题是该方言org.hibernate.dialect.MySQLDialect适用于MySQL 4.x或更早版本。TYPE=MYISAM由该方言生成的片段在MySQL 4.0中已弃用,在5.5中已删除。鉴于您使用了MariaDB,因此需要使用以下一种方法(取决于MariaDB的版本,可能还取决于Hibernate的版本
2023-09-27 michael007js 120
execute和submit的区别execute和submit都属于线程池的方法,execute只能提交Runnable类型的任务,无返回值。而submit既能提交Runable类型的任务,返回值为null,也能提交Callable类型的任务,返回值为Future。execute会直接抛出任务执行时异常,submit则不会抛出异常,但可以通过Future的get方法将任务执行时的异常重新抛出。
2024-10-26 michael007js 106
一、服务器运行一点时间后各种的项目文件,日志文件,数据库备份登,会越来越多,在linux下可以使用 du 和 df 命令查看。1、df -h 命令查看整体磁盘使用情况2、 使用 du -ah --max-depth=1 /可以查看根目录下各个文件占用情况 使用命令du -h –max-depth=1 /var/log/* 查看/var/log路径下文件的大小du -sh /* 查看哪个目录最大,一
2025-09-18 michael007js 36