1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码。如果对方写的代码混乱臃肿,维护成本必然很高,如果对方写的代码优雅清晰,那维护的人看起来必然心情愉悦。正所谓“前人栽树,后人乘凉;前人埋坑,后人骂娘”。 代码首先是给人看的,其次才是给机器看到,如何编写出任何人都看到懂的代码?答案是制定规范! 每个公司都会有自己的编码规范,但是往往的情况是赶项目进度或者懒惰或者个人水平习惯等原因,加上没有code review,最后代码就写的千奇百怪了。原因就在于规范是有了,但是没人遵守。所以,编码规范需要强…

2021年11月30日 0条评论 8点热度 阅读全文

新手菜鸟看完Java教学视频后总结的关于构造器的理解。 面向对象 构造器 从构造器的作用来理解 new的本质是在调用构造器 当我们new一个新的对象的时候,就已经是调用了一个新的构造器。 Person类中没有方法,但是当我们new了一个新的对象时,我们可以从class文件中看出来Person类中存在默认的构造器   所以new的本质就是调用构造器,new一个新对象的过程就是调用构造器。 另外,从上图中我们也可以总结出构造器的特点:①和类名相同②没有返回值 初始化对象的值 name的值为Daming pub…

2021年11月30日 0条评论 0点热度 阅读全文

垃圾回收的区域 堆:Java 中绝大多数的对象都存放在堆中,是垃圾回收的重点 方法区:此中的 GC 效率较低,不是重点 由于虚拟机栈的生命周期和线程一致,因此不需要 GC 对象判活 在垃圾收集器对堆进行回收之前,首先要做的就是判断对象是否还存活,哪些已经成为垃圾。判活算法主要有两种: 引用计数法 可达性分析算法 前者基本没有什么应用,不过 Python 还在使用。JVM 使用的都是可达性分析算法 引用计数法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可…

2021年11月29日 0条评论 23点热度 阅读全文

现在web开发变得更加美妙高效,在于开发工具设计得更好了,丰富性与易用性,都有所提高。丰富性带来了一个幸福的烦恼,就是针对实际应用场景,如何选择工具 ? 1. Vue Cli和Vite之间的选择 Vite的开发环境体验好,基于浏览器原生ES6 Modules提供的功能,不对ES高版本语法进行转译,省略掉耗时的打包流程, 可是考虑到: 1) 项目要用到真机调试功能,开发环境下调试代码时不能使用ES高版本的语法,用着不顺畅。 2) Vite的一些痛点: Vite最新版2.7.x版本自带的less-loader,&nbs…

2021年11月29日 0条评论 29点热度 阅读全文

官方网址:https://www.yuque.com/easyexcel/doc/easyexcel 应用场景 数据导入:减少录入工作量 数据导出:统计信息归档 数据传输:异构系统之间数据传输 EasyExcel特点 它是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大量减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘中一行行读取数据,逐个解析。 EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(Ana…

2021年11月29日 0条评论 8点热度 阅读全文

前言 直接储存器访问(Direct Memory Access,DMA),允许一些设备独立地访问数据,而不需要经过 CPU 介入处理。因此在访问大量数据时,使用 DMA 可以节约可观的 CPU 处理时间。在 STM32 中一般的 DMA 传输方向:内存->内存、外设->内存、内存->外设。这里的外设可以是 UART、SPI 等数据收发设备。 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART),在嵌入式开发中一般称为串口,通常用于中…

2021年11月29日 0条评论 9点热度 阅读全文

学了那么久Python,你的Python安装方式正确吗?今天给你看看什么才是Python正确的安装方式,教程放在下面了,喜欢的记得点赞。 Python安装 Python解答Q群:906715085#### 大家可以通过安装Anaconda来安装python Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。这样可以不用再自己单独安装很多库,节省了时间。   百度搜索 anaconda镜像,第一个就是 点进来是这样的: 然后点安装包文件夹,翻…

2021年11月29日 0条评论 14点热度 阅读全文

目录 1、手工建立一个5GB的分区 2、建立需要做限制的三个用户 3、在分区上开启磁盘配额功能 4、建立磁盘配额的配置文件 5、开始设置用户和组的配额限制 6、启动和关闭配额 7、磁盘配额的查询 8、对配置的磁盘配额进行测试 9、配额复制(扩展1) 10、非交互设定用户磁盘配额(扩展2) 11、修改宽限时间 上一篇文章已经做了磁盘配额实践的大概规划,下面我们就开始一步一步的来实践一下。 1、手工建立一个5GB的分区 手工建立一个5GB的分区/dev/sdb2,挂载到/disk目录下。 手工建立分区看之前使用fdis…

2021年11月28日 0条评论 79点热度 阅读全文

今天想用yay下载steam++加速github网页时发现yay下载一段时间后速度变为零,想到应该是aur源的问题,但是aur修改成国内源后发现没有用,于是想到可以手动修改PKGBUILD文件的source地址进行加速,而且网上也没有看到这种方法,所以来分享一下。 1.先上archwiki的aur界面搜索想要下载的软件 2.点击链接进入 3.通过git clone url 下载PKGBUILD文件 4.编辑下载下来的PKGBUILD文件,将其中的所有github.com改为hub.fastgit.xyz 5.使用m…

2021年11月28日 0条评论 6点热度 阅读全文

前言 VACUUM 是 PostgreSQL MVCC (Multiversion concurrency control) 实现的核心机制之一,是 PostgreSQL 正常运行的重要保证。本文将通过实例演示 PostgreSQL 为什么需要做 VACUUM,以及一步一步精准触发 AUTOVACUUM, 到 VACUUM 优化实战,深入浅出,一看就懂。 测试环境准备 以下测试是在 PostgreSQL 11 中进行。 通过以下 SQL 创建: 测试用户: alvin,普通用户,非 superuser 测试数据库:…

2021年11月28日 0条评论 8点热度 阅读全文