一、进程与线程进程是操作系统的概念,是程序的一次执行过程,是系统运行程序的基本单位。我们运行的一个.exe就是一个进程。具体是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间),一个进程中可以启动多个线程。线程是依附于进程而存在的,是比进程更小的执行单元,可以理...
起因最近迁移了服务器,运维同学给导了数据库,数据库也跟着一起迁移到了新机房。今天,有用户发现自己创建的一条记录不见了,我去新库查询确实没有,去旧库查询到了这条记录,确定了是数据丢失。排查过程起初,怀疑迁移到新库已经有几天了,是否是这几天用户手动删除了这条记录?还好对用户的改动做了记录,经过查询发现,...
数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈。需要进行数据的处理,采用的手段是分区、分片、分库、分表。二、分片(类似分库)分片是把数据库横向扩展(Scale Out)到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。Sha...
类的加载过程JVM中的类加载过程分为三步:装载: Load链接: Link初始化: Initialize装载查找并加载类的二进制数据链接验证: 确保加载类的正确性准备: 为类的静态变量分配内存,将将这些静态变量初始化为默认值解析: 将类中的符号引用转换为直接引用之所以要有验证的步骤:首先如果由编译...
防抖定义:当一段时间内连续多次触发某事件时,只执行最后一次。如果在设置的间隔时间内又触发事件,则清除定时器重新计时。案例:持续触发 scroll 事件时,不立即执行 handle 函数,当 1s 内没有再触发 click 事件时才执行 handle代码:用 addEventListener 添加防抖...
注意:每道题前面出现的 (xx) 数字代表这道题出现的频次,此 JS 基础是基于 30+ 篇前端面经整理出的问题和对应的回答、参考链接等。文章内容为拿到 Offer 的本人整理。(2)问:0.1 + 0.2 === 0.3 嘛?为什么?JavaScript 使用 Number 类型来表示数字(整数或...
块级作用域的出现通过 var 声明的变量存在变量提升的特性:if (condition) { var value = 1;}console.log(value);复制代码初学者可能会觉得只有 condition 为 true 的时候,才会创建 value,如果 condition 为 fal...
前言大家在日常的工作中,备份数据其实是信息安全管理重要的工作之一。那么,我们在这篇文章中将介绍一下数据库的备份与恢复。MySQL 数据库的备份同时有多种方式。第一:直接打包数据库文件夹/etc/local/mysql/data,或者我们使用工具来进行备份。一、备份数据库通过mysqldump命令可以...
一、什么是 LAMP 架构?LAMP 架构是成熟的企业网站应用模式之一,能够协同工作的一套系统及相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,L:Linux操作系统,A:Apache网站服务器,M:MySQL数据库服务器,P:PHP、Python、Perl编程语...
Promise 对象有以下两个特点:1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意味着操作失败。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都...
最近公司的 APP 使用 ES 搜索功能时遇到一个需求 —— 需要搜索出来的数据中只包含某个商户下的商品,且这些商品的库存都不为 0。首先我们搜索得到的文档格式简化后如下:也就是说,此时,我的需求的搜索条件是:merchant_id=11,且 stock 不为 0。如果按照需求来说,上面截图里的这个...
题面给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数 twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于 index2.。注意:下标是从 1 开始的 假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 15...
索引是存储引擎用于快速找到记录的一种数据结构,索引对于良好的性能非常关键,特别是随着数据量的加大,索引对性能的影响越发重要,但是日常工作中索引经常被忽略,造成经常遇到糟糕索引导致的性能问题。索引优化是对查询性能优化最有效的手段,索引能够轻易将查询性能提高几个数量级,创建一个真正的最优索引,应该是研...
如果有使用 uni的小伙伴,一样可以使用,把 wx. 替换成 uni. 就可以了定义一个深度拷贝的方法,用来参数的合并 放在help模块文件中// JS对象深度合并export function deepMerge( target = {}, source = {} ) {target = dee...
对于微服务而言配置本地化是个很大的鸡肋,不可能每次需要改个配置都要重新把服务重新启动一遍,因此最终的解决方案都是将配置外部化,托管在一个平台上达到不用重启服务即可一次修改多处生效的目的。但是对于单体应用的Spring Boot项目而言,动态刷新显然是有点多余,反正就一个服务,改下重启不就行了?然而...
前言在canvas中实现图片移动、实现矩形移动,大家可能看的很多了。但是我为什么还要去写这样的一篇文章呢,因为笔者曾经做到3维图形下的移动。包括移动一个立方体上的一条边线、一个面、移动多边形的一个点。最近一直在写canvas的相关的文章,想着复习下,读完本篇文章你可以学到,通过移动矩形的一个点, ...
1. 什么是 Immutable ?Immutable Data 就是一旦创建,就不能再被更改的数据。对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对象。主要原理是采用了 Persistent Data Structure(持久化数据结构),就是当每次修...
JS运行机制复述首先js执行,会有一个函数执行栈(stack),一个任务队列(task queue),一个微任务队列(microtask queue),事件循环(event loop)。主线程:函数执行栈用来存放同步任务,按照后进先出的顺序执行;在任务队列中,存放的是宏任务。当函数执行栈为空时,会启...
工厂模式是用来创建对象的一种最常用的设计模式。根据抽象程度的不同可以分为:简单工厂模式,工厂方法模式 和 抽象工厂模式。简单工厂模式定义简单工厂模式,又称为静态工厂方法模式。由一个工厂对象决定创建出哪一种产品类的实例。类图我决定不干前端了,回家开了个星巴克咖啡厅,顾客到我的咖啡厅点一杯咖啡,告诉我需...
命名规范1 、 避免单字母的名字。用你的命名来描述功能(最好使用动词命名)。2 、在命名对象、函数和实例时使用驼峰命名法(camelCase)。3 、 只有在命名构造器或者类的时候才用帕斯卡拼命名法。(PascalCase 每个单词的第一个字母都大写)class User { constructo...