当前位置: 首页 > news >正文

某小公司面试记录

记录一次面试过程,还有一些笔试题,挺简单的,排序,去重,this指向,深浅拷贝,微任务的执行顺序,变量提升等。

ES6数组新增的方法

Array.from: 将两类对象转为真正的数组:

  1. 类似数组的对象
  2. 可遍历的对象
  3. 包括es6新增的数据结构 Set 和Map
let arrayLike = {"0":"a","1":"b","2":"c",length:3
}
let arr2 = Array.form(arrayLike); //["a","b","c"]//还可以将arguments的对象转化成数组
function foo (){let args = Array.from(arguments)
}
// 只要是部署了 Iterator 接口的数据结构,Array.from都能将其转为数组,字符串和 Set 结构都具有 Iterator 接口
Array.from("hello");
//["h","e","l","l","o"]let namesSet = new Set(["a","b"]);
Array.from(namesSet) //["a","b"]

扩展运算符:(…) 将一个数组转为用逗号分隔的参数序列

console.log(...[1,2,3])
// 123 

Array.of:将一组值来转化成数组。

Array.of(3,11,8)//[3,11,8]

copyWithin():将指定位置的元素复制到目标位置(会覆盖掉原有的值)。

Array.prototype.copyWithin(target,start = 0,end = this.length);
//它接受三个参数
1.target (必需要):从该位置开始替换数据,如果为负值,表示倒数。
2.start(可选): 从该位置开始读取数据,默认为0。如果表示负值,则表示从末尾开始计算。
3.end(可选): 到该位置前停止读取数据,默认等于等于数组的长度,如果为负值,表示从末尾开始计算。

find():用来找出第一个符合条件的数组元素,它的参数是一个回调函数,所有的数组元素依次执行该回调函数,直到找到符合要求的元素

[1, 4, -5, 10].find((n) => n < 0) // -5

findIndex():用来寻找符合条件的元素的下标

[1,2,5,10,11].findIndex(function(value,index,arr){return value > 9;
}) //2

fill 方法使用给定值,填充一个数组

["a","b","c"].fill(7);
//[7,7,7]//方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置。
["a","b","c"].fill(7);
//['a', 7, 'c']
  1. `entries()``

  2. ``keys()`

  3. values():这三个数组用来遍历数组,它们都返回一个遍历器对象,可以用for … of 循环进行遍历。

    for (let index of ["a","b"].keys()){console.log(index)
    }
    //0
    //1for(let elem of ["a","b"].values()){console.log(elem)
    }
    // "a"
    // "b"for(let [index,elem] of ["a","b"].entries()){console.log(index,elem)
    }
    //0 "a"
    // 1 "b"   
    // for...of循环,可以手动调用遍历器对象的next方法,进行遍历。
    

    includes():返回一个布尔值,表示某个数组是否包含给定的值,与字符串includes

    [1,2,3].includes(2) // true
    [1,2,3].includes(4) //false
    

    flat( ) 用于将嵌套的数组,打平,变成一维的数组,该方法返回一个数组,对原数据没有影响。

    // [1, [2, [3]]].flat(Infinity) // 参数代表要嵌套的次数。 
    // [1, 2, 3] 
    

    flatMap() 方法对原数组的每个成员执行一个函数,然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。

    [2,3,4].flatMap((x)=>[x,x*2])
    // 2,3,4, 6,4,8//然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。
    [1, 2, 3, 4].flatMap(x => [[x * 2]])
    // [[2], [4], [6], [8]]
    

    sort 利用原地算法对数组顺序进行排序

    默认排序顺序是在将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的

    const array1 = [1, 30, 4, 21, 100000];
    array1.sort();  //1, 100000, 21, 30, 4
    

reduce 如何使用?

reduce如何使用

遍历对象的方法!

  1. for … in 循环:

for … in 循环可以遍历一个对象的所有可以枚举的属性,包括自身属性,和原型链上的属性。

语法:

let obj = {name:"Li",age:18}
for (let key in obj){if(obj.hasOwnProperty(key)){console.log(obj[key])}
}

其中,obj为要遍历的对象,key为当前属性的名称。

注意事项:在使用for… in 遍历对象的时候,应该使用hasOwnProperty 方法来判断属性是否为对象本身的属性,而非原型链上的属性。

  1. Object.keys方法()

Object.keys()方法:可以返回一个对象所有自身的可枚举属性的名称组成的数组。

代码:

let obj = {name:"Li",age:18}
let keys = Object.keys(obj);
console.log(keys) //[name, age]

obj为要遍历的对象,keys 为返回的属性名称数组。

  1. Object.values()方法

Object.values()方法可以返回一个对象所有自身的可枚举属性的值组成的数组。

代码:

let obj = {name:"Li",age:18};
let values = Object.values(obj);
console.log(values)  //['Li', 18]
  1. Object.entries()方法可以返回一个对象所有自身的可枚举的属性的名称和值组成的数组。

代码:

let obj = {name:"Li",age:18};
let values = Object.values(obj);
console.log(values)  // ['Li', 18]

for of 可以遍历数组么?

for...of循环可以用于遍历数组。在for...of循环中,每次迭代会返回数组的一个元素值,循环将继续直到所有的元素都被迭代。

const arr = [1, 2, 3];for (const item of arr) {console.log(item); // 1 2 3
}

for...of循环只能遍历可迭代对象,而数组是一种可迭代对象,有迭代器的属性。

for of 如何遍历一个对象?

答: for … of本身 不可以遍历对象只可以遍历可迭代对象,如果非要迭代可以这样来模拟。

const obj = {a: 1, b: 2, c: 3};for (const [key, value] of Object.entries(obj)) {console.log(`${key}: ${value}`); //a:1,b:2,c:3
}

对象转换成 类数组的方法有哪些?

object.values

object.keys

object.entirys

2x undefined = NAN;

宏任务,微任务,主线程

主线程是:js从上向下执行的顺序叫做主线程。

宏任务:异步任务如,定时器是宏任务。

微任务:promise,async,await,nexttick 这些都是微任务

vue2的生命周期。

vue2的生命周期分为8个阶段,按顺序依次是:

  1. beforeCreate :实例被创建之前调用,此时数据和初始化都没有开始。
  2. created:实例已经完成数据加载,属性和方法的运算也已经结束,这个阶段可以对数据进行预处理操作。
  3. beforeMount:在挂载之前被调用,相关render函数首次被调用。
  4. mounted:实例被挂在到DOM上后调用,可以在这里访问到DOM节点。
  5. beforeUpdate:数据更新时调用,但是此时虚拟DOM还没有重新渲染,所以这里不能操作DOM。
  6. updated:虚拟DOM重新渲染和打补丁之后调用,所以这里可以进行DOM操作。
  7. beforeDestory:实例销毁之前调用,在这里可以进行一些清理工作,比如取消定时器、解绑时间等。
  8. destroyed:实例销毁之后调用,这个时候实例上的所有绑定和事件监听已经被解除,子实例也被销毁。

有一个 父组件 一个子组件,他们两个的加载顺序是什么样子的?

在vue2中,父组件和子组件的加载顺序是先父后子,就是父组件会在子组件之前被创建和加载,因为vue 会先解析父组件的模板,因此父组件的生命周期钩子函数会在子组件之前被调用。

具体的加载顺序如下

  1. Vue首先创建父组件实例,并执行父组件的生命周期钩子函数,beforeCreate和created。
  2. 接着Vue解析父组件模板,包括解析子组件标签,并创建子组件实例。
  3. Vue会递归执行子组件的生命周期钩子函数包括beforeCreate,和created
  4. 父组件和子组件的数据响应式绑定完成以后,vue会执行父组件的mounted钩子函数
  5. 最后,vue会递归的执行子组件的mounted钩子函数。

销毁的话呢?

vue中,当父组件销毁时,子组件也会随之销毁。销毁的执行顺序是先子组件再父组件。

具体来说,vue会在销毁父组件之前,先递归销毁其所有子组件,这个过程Vue会按照有深入浅的顺序进行销毁,

也就是先销毁最深层级的子组件,然后逐步向上层级进行销毁,最后才会销毁父组件。

vue-router ,跳转方法区别,路由首位等。

  1. 编程式导航

    1. this.$router.push("/path") :会在浏览器留下历史记录,浏览器的后退按钮会返回到上一个页面。可以触发路由守卫。
    2. this.$router.replace("/path"):不会在浏览器留下历史记录,点击后退按钮不会返回到上个页面
  2. this.$router.push两种传参方式

    1. params对象传参 :仅仅可以传基本类型数据,不能传对象,必须要用name来引入路由。

      this.$router.push({name:'Detail',params:{id:id}})
      
      1. query传参:使用query传参的时候,参数会被编码成url的查询字符串,参数表现在地址栏上,query可以传递对象等复杂的数据类型,刷新页面不会丢失数据。

        this.$router.push({path:'/detail/:id',query:{id:id}})
        

vuex ?命名空间

Vuex 中,命名空间可以将 store 模块化,避免命名冲突和对全局状态的过度依赖。在命名空间下,可以使用相对命名访问模块的 action、mutation 和 getter。

const store = new Vuex.Store({modules: {user: {namespaced: true, // 开启命名空间state: { ... },mutations: { ... },actions: { ... },getters: { ... }}}
})//在开启命名空间之后,就可以使用 namespaced 属性值作为前缀访问模块的 action、mutation 和 getter。例如:// 访问模块的 state
store.state.user.xxx// 访问模块的 getter
store.getters['user/xxx']// 调用模块的 action
store.dispatch('user/xxx', payload)// 调用模块的 mutation
store.commit('user/xxx', payload)

mixin 的理解

  1. mixin可以将组件相同的属性和方法抽离出来形成一个单独的mixin对象,混入到需要用的组件中去,减少代码的重复操作。
  2. mixin会将mixin的属性和方法与组建的属性方法合并,mixin的优先级更高。
export const myMixin = {data() {return {message: 'Hello, World!'}},methods: {greet() {console.log(this.message);}}
}
//组件中引入
import { myMixin } from './myMixin.js'export default {mixins: [myMixin],mounted() {this.greet(); // 输出:Hello, World!}
}

为什么data是一个函数,

如果data的选项是一个对象,不同的组件实例共享同一个对象就会造成交叉感染。

而使用函数就可以保证每个组件实例都有自己独立的数据对象。

为什么自定义表单校验可以写在data函数 里面呢。

data是一个函数,用来动态生成组件实例中的初始数据,当组件实例化时,vuejs会调用data函数,将返回的对象作为组件的初始数据,全部可以return 出去,renturn 出去的数据才是一个响应式的数据。

echartsvue那个生命周期初始化。

通常在mounted生命周期中初始化Echarts实例,因为在mounted生命周期中,Vue已经成功地将组件挂载到DOM上,这时我们可以获取到组件对应的DOM元素。

keep-alive 里面如何用的

权限如何做的,菜单栏如何配置的。

  1. 在路由配置文件中定义每个菜单的路由信息,并且为每个路由信息添加一个meta属性用来标记路由的权限。
  2. 然后用路由的生命周期判读特定的角色才可以访问。

如何动态路由 addRouters

  1. 在实现动态路由之前,首先需要在路由中定义一个占位符,用于动态路由的替换。
  2. 然后可以在代码中根据条件生成路由。

柱状图如何调整样式。

Echarts大屏如何适配呢。

  1. 宽高比例适配:在echarts的容器元素中设置宽高比例,让他与设计稿相同。
  2. 图表样式适配,在echarts中的options中设置图表样式。适应不同的分辨率。
  3. 响应式布局

自定义指令。

Vue.js 中的自定义指令(Custom Directive)是一种扩展 HTML 标签的能力,它可以在标签渲染时通过指令来操作 DOM 元素.

使用场景

  • 实现拖拽功能
  • 绑定一些复杂的事件监听器
  • 实现自定义表单验证规则
  • 等等
<template><div v-my-directive></div>
</template><script>
export default {directives: {'my-directive': {// 指令选项bind: function (el, binding) {// 绑定时的处理逻辑},inserted: function (el, binding) {// 插入到 DOM 中时的处理逻辑},update: function (el, binding) {// 更新 DOM 中的节点时的处理逻辑},componentUpdated: function (el, binding) {// 更新组件 VNode 时的处理逻辑},unbind: function (el, binding) {// 解绑时的处理逻辑}}}
}
</script>

我们定义了一个名为 my-directive 的自定义指令,并在组件模板中使用它。在组件定义的 directives 属性中,我们可以为自定义指令指定一系列钩子函数来处理不同的操作。

  • bind:只调用一次,在指令第一次绑定到元素上时调用,可以在这里进行一些初始化设置。
  • inserted:在指令所在的元素插入到 DOM 中时调用。
  • update:当指令所在的元素更新时调用,但是可能在其子元素更新前调用。
  • componentUpdated:当指令所在的组件的 VNode 更新后调用。
  • unbind:只调用一次,在指令与元素解绑时调用,可以在这里进行一些清理工作。

在每个钩子函数中,我们都可以获取到绑定指令的元素 el 和指令绑定时的参数 binding。通过 binding 参数,我们可以获取到指令的名称、绑定的值、修饰符等信息。

通过自定义指令,我们可以轻松地扩展 Vue.js 的功能,实现一些强大的交互效果和业务逻辑。

一个完整的git提交流程。

image-20230303173707929

相关文章:

某小公司面试记录

记录一次面试过程&#xff0c;还有一些笔试题&#xff0c;挺简单的&#xff0c;排序&#xff0c;去重&#xff0c;this指向&#xff0c;深浅拷贝&#xff0c;微任务的执行顺序&#xff0c;变量提升等。 ES6数组新增的方法 Array.from&#xff1a; 将两类对象转为真正的数组&am…...

SPI读写SD卡速度有多快?

SD卡是一个嵌入式中非常常用的外设&#xff0c;可以用于存储一些大容量的数据。但用单片机读写SD卡速度一般都有限&#xff08;对于高速SD卡&#xff0c;主要是受限于单片机本身的接口速度&#xff09;&#xff0c;在高速、实时数据存储时可能会有影响。但具体速度可以达到多少…...

MySQL:索引与事物

目录 简单了解索引的底层数据结构 索引的概念&#xff1a; 索引存在的意义&#xff1a; 索引的使用&#xff1a; 索引实现的数据结构 B树 B 树 B 树的特点 B 树的优势 事物 事物的概念 事物的使用 事物的四大特性 并发可能引起的问题 脏读问题 不可重复读 幻读…...

mybatis实战

目录配置自动下划线驼峰MyBatis解析的SQL和实际传参不符的问题传参是整型&#xff0c;结果是false日期比较入参是字符串入参是Date父子递归查询上下级查询方法一方法二传参数组inmapper中接口注解映射配置 自动下划线驼峰 使用mybatis的自动下划线驼峰转换 mybatis有一个选项…...

【UEFI实战】BIOS与IPMI

KCS KCS全称是Keyboard Controller Style&#xff0c;关于这个名称不用过多的追究&#xff0c;只需要知道它是系统&#xff08;BIOS和OS&#xff09;和BMC通信的一种基本方式即可。本文将介绍BIOS下的KCS接口&#xff0c;包括接口使用方式和数据。内容参考自《ipmi-second-gen…...

90%的人都不算会网络安全,这才是真正的白帽子技术【红队】

我敢说&#xff0c;现在网上90%的文章都没有把网络安全该学的东西讲清楚。 为什么&#xff1f;因为全网更多的都是在讲如何去渗透和公鸡&#xff0c;却没有把网安最注重的防御讲明白。 老话说得好&#xff1a;“攻击&#xff0c;是为了更好的防御。”如果连初衷都忘了&#x…...

关于vuex的使用

1.首先安装vuex npm install vuex --save 这时如果直接安装vuex&#xff0c;不指定版本的话&#xff0c;就会直接安装最新的vuex的版本。所以会出现报错。 报错就安装这个 npm install --save vuex3 2.创建文件夹&#xff0c; 有的时候安装好会自动创建vuex的文件夹 &#xf…...

第53篇-某商城sign参数分析-webpack【2023-03-07】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析三、完整代码一、前言 今天再来试一个webpack的例子吧,网址: aHR0cHM6Ly9tLnlxYi5jb20vYmFuay9…...

探秘MySQL——排查与调优

文章目录一、问题排查一&#xff1a;SQL执行出错二、问题排查二&#xff1a;慢查询0.几个重要参数1.配置慢查询日志命令行配置&#xff08;重启失效&#xff09;修改配置文件&#xff08;永久生效&#xff09;2.查看慢查询日志3.问题排查1&#xff1a;Look_time耗时4.问题排查2…...

【9.数据页结构】

概述 InnoDB 的数据是按「数据页」为单位来读写的&#xff0c;也就是说&#xff0c;当需要读一条记录的时候&#xff0c;并不是将这个记录本身从磁盘读出来&#xff0c;而是以页为单位&#xff0c;将其整体读入内存。数据库的 I/O 操作的最小单位是页&#xff0c;InnoDB 数据页…...

演唱会总是抢不到票?教你用Python制作一个自动抢票脚本

人生苦短 我用python 这个大家应该都知道吧&#xff1f; 是中国综合类现场娱乐票务营销平台&#xff0c; 业务覆盖演唱会、 话剧、音乐剧、体育赛事等领域。 如何快速抢票&#xff1f; 那么&#xff0c; 今天带大家用Python来制作一个自动抢票的脚本小程序 本文源码python安…...

【系统开发】WebSocket + SpringBoot + Vue 搭建简易网页聊天室

文章目录一、数据库搭建二、后端搭建2.1 引入关键依赖2.2 WebSocket配置类2.3 配置跨域2.4 发送消息的控制类三、前端搭建3.1 自定义文件websocket.js3.2 main.js中全局引入websocket3.3 App.vue中声明websocket对象3.4 聊天室界面.vue3.5 最终效果一、数据库搭建 很简单的一个…...

Learning C++ No.14【STL No.4】

引言&#xff1a; 北京时间&#xff1a;2023/3/9/12:58&#xff0c;下午两点有课&#xff0c;现在先把引言给搞定&#xff0c;这样就能激励我更早的把这篇博客给写完了&#xff0c;万事开头难这句话还是很有道理的&#xff0c;刚好利用现在昏昏欲睡的时候&#xff0c;把这个没…...

高速PCB设计指南(八)

七、产品内部的电磁兼容性设计 1 印刷电路板设计中的电磁兼容性 1.1 印刷线路板中的公共阻抗耦合问题 数字地与模拟地分开&#xff0c;地线加宽。 1.2 印刷线路板的布局 ※对高速、中速和低速混用时&#xff0c;注意不同的布局区域。 ※对低模拟电路和数字逻辑要分离。…...

什么是腾讯云关系型数据库(MySQL/SQL Server/MariaDB/PostgreSQL详解)

什么是腾讯云关系型数据库&#xff1f;腾讯云关系型数据库提供 MySQL、SQL Server、MariaDB、PostgreSQL详细介绍。腾讯云关系型数据库让您在云中轻松部署、管理和扩展的关系型数据库&#xff0c;提供安全可靠、伸缩灵活的按需云数据库服务。腾讯云关系型数据库提供 MySQL、SQL…...

进程通信相关概念

一、概念 1.1 通信方式有哪些 管道&#xff1a;水管&#xff0c;男纸条放入水管&#xff0c;女看了拿走不回复 消息队列&#xff1a;大盒子&#xff0c;男放入纸条&#xff0c;女看了不拿走&#xff0c;男女都可放 共享内存&#xff1a;直接桌子&#xff0c;男放桌上&#…...

05.Java的运算符

1.运算符计算机的最基本的用途之一就是执行数学运算&#xff0c;比如&#xff1a;int a 10;int b 20;a b;a < b;上述 和 < 等就是运算符&#xff0c;即&#xff1a;对操作数进行操作时的符号&#xff0c;不同运算符操作的含义不同。作为一门计算机语言&#xff0c;Ja…...

轮转数组(力扣189)

轮转数组 题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例1&#xff1a; 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7…...

主流的“对象转换工具”使用示例大全以及性能的对比

目录 前言 源码地址 代码示例 引入依赖 先定两个实体用于转换 定义一个接口让所有转换器都集成 Apache BeanUtils BeanCopier bean-mapping bean-mapping-asm Dozer 自己写get/set JMapper json2json MapStruct&#xff08;推荐&#xff09; ModelMapper OriK…...

分享10个不错的C语言开源项目

今天跟大家分享10个重量级的C语言开源项目&#xff0c;C语言确实经得住考验&#xff1a; Redis&#xff1a;Redis是一个开源的高性能的键值对数据库。它以C语言编写&#xff0c;具有极高的性能和可靠性。 Nginx&#xff1a;Nginx是一个高性能的HTTP和反向代理服务器&#xff0…...

【阅读笔记】JavaScript设计模式与开发实践2--闭包与单例、策略模式

目录闭包与高阶函数Function 扩展函数柯里化函数单例模式透明的单例模式惰性单例策略模式策略模式发展策略模式实现闭包与高阶函数 Array.prototype.sort 接受一个函数当作参数&#xff0c;用户可以自行在该函数内指定排序方式 // 由小到大排序 let res [1, 4, 2].sort((a, …...

设计模式(二十)----行为型模式之责任链模式

1、概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同…...

数据持久化层--冷热分离

业务场景 有一个系统的主要功能是这样的:它会对接客户的邮件服务器,自动收取发到几个特定客服邮箱的邮件,每收到一封客服邮件,就自动生成一个工单。之后系统就会根据一些规则将工单分派给不同的客服专员处理。 这家媒体集团客户两年多产生了近2000万的工单,工单的操作记…...

Ubuntu16.04系统 VSCode中python开发插件的安装

VSCode中python开发插件的安装 1. python python插件提供了代码分析&#xff0c;高亮&#xff0c;规范化等很多基本功能 2. Python for vscode 3. Python Preview 实时可视化你的代码结果。如果你Leedcode等题时&#xff0c;可以安装这个插件。能为VSCode切换各种主题皮肤…...

buuctf-pwn write-ups (12)

文章目录buu093-wustctf2020_easyfastbuu094-ciscn_2019_es_1buu095-wdb2018_guessbuu096-gyctf_2020_some_thing_excetingbuu097-axb_2019_heapbuu098-oneshot_tjctf_2016buu099-护网杯_2018_gettingstartbuu100-wustctf2020_number_gamebuu101-zctf2016_note2buu093-wustctf2…...

Linux- 系统随你玩之--网络上的黑客帝国

文章目录1、前言2、TCPDump介绍2.1、问题来了&#xff1a; 所有用户都可以采用该命令吗&#xff1f;2.2、抓包原理2.3、特点2.3.1、参数化支持2.2.2、 TCP功能3、 服务器安装Tcpdump3.1、安装3.2、检查安装是否正常。4、tcpdump 命令4.1、常用功能选项4.2、输出内容5、实操5.1、…...

Python每日一练(20230312)

目录 1. 提示用户输入的简单菜单 ★ 2. 字母异位词分组 ★★ 3. 俄罗斯套娃信封问题 ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. 提示用户输入的简单菜单 如果用户选择菜单选项1&#xff0c;提示用户输入1到10之间的整数&a…...

人生又有几个四年

机缘 不知不觉&#xff0c;已经来 csdn 创作四周年啦~ 我是在刚工作不到一年的时候接触 csdn 的&#xff0c;当时在学习 node&#xff0c;对 node 的文件相关的几个 api 总是搞混&#xff0c;本来还想着在传统的纸质笔记本上记一下&#xff0c;但是想想我大学记了好久的笔记本…...

第九章:Java集合

第九章&#xff1a;Java集合 9.1&#xff1a;Java集合框架概述 数组、集合都是对多个数据进行存储(内存层面&#xff0c;不涉及持久化)操作的结构&#xff0c;简称Java容器。 数组存储多个数据方面的特点 一旦初始化以后&#xff0c;其长度就确定了。数组一旦定义好&#xff…...

嵌入式学习笔记——STM32的USART通信概述

文章目录前言常用通信协议分类及其特征介绍通信协议通信协议分类1.同步异步通信2.全双工/半双工/单工3.现场总线/板级总线4. 串行/并行通信5. 有线通信、无线通信STM32通信协议的配置方式使用通信协议控制器实现使用IO口模拟的方式实现STM32串口通信概述什么是串口通信STM32F40…...

芜湖市建设办网站/今日头条热点新闻

我的朋友开了家屁小公司&#xff0c;纯粹的三五个人十来条枪。每年还不死&#xff0c;但活的也很辛苦。平时做的也就是两三万的单子&#xff0c;运气好能做8-10万的单子。那天&#xff0c;突然给我打了电话&#xff0c;说要请我吃饭。 饭肯定是不能白吃的。朋友告诉我&#xf…...

施工企业施工生产计划/网页关键词排名优化

数码管 多位数码管&#xff0c;即是两个或两个以上单个数码管并列集中在一起形成一体的数码管。当多位一体时&#xff0c;它们内部的公共端是独立的&#xff0c;而负责显示什么数字的段线全部是连接在一起的&#xff0c;独立的公共端可以控制多位一体中的哪一位数码管点亮&…...

沈阳网站建设优秀公司/单页关键词优化费用

一般情况下&#xff0c;Linux系统管理员通过SSH服务来管理操作系统&#xff0c;但Docker的很多镜像不带SSH服务的。 基于commit命令创建 准备工作 首先&#xff0c;使用ubuntu镜像来创建一个容器&#xff1a; $ sudo docker run -it ubuntu /bin/bash root3c6ed6207883:/# 这…...

做网站首页ps分辨率多少/sem竞价培训班

艺术风格转换是一种图像的合成问题&#xff0c;其中图像的内容是以另一种风格再现的。 Artistic style transfer is an image synthesis problem where the contentof an image is reproduced with the style of another. 近年来的研究表明&#xff0c;利用预训练卷积神经网络…...

如何做网站推广方案/宜兴网站建设

感谢百度上各位IT界朋友的帮助&#xff0c;由于某个软件安装失败&#xff0c;导致ubuntu软件中心软件消失的解决办法&#xff1a; 找百度&#xff0c;有人说&#xff0c; 使用命令:sudo apt-get install software-center输入命令后&#xff0c;提示&#xff1a;software-center…...

模板网站修改教程视频/黑龙江头条今日新闻

volatile这个关键字&#xff0c;不仅仅在Java语言中有&#xff0c;在很多语言中都有的&#xff0c;而且其用法和语义也都是不尽相同的。尤其在C语言、C以及Java中&#xff0c;都有volatile关键字。都可以用来声明变量或者对象。 volatile 译为不稳定的,在Java中我们可以理解成…...