技术总结大杂烩

mysql引擎


MySQL常用存储引擎:MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。

MyISAM:mysql默认存储引擎。MyISAM不支持事务,也不支持外键,但其访问速度快,对事务完整性没有要求。

InnoDB:提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

MEMORY:使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型的表访问速度非常快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中数据就会丢失掉。

MERGE:是一组MyISAM表的组合,这些MyISAM表必须结构完全相同。MERGE表本身没有数据,对MERGE类型的表进行查询、更新、删除的操作就是对内部的MyISAM表进行的。

shell中的一些变量


$?:表示上一个命令退出的状态

$$:表示当前进程编号

$0:表示当前脚本名称

$n:表示n位置的输入参数(n代表数字,n>=1)

$#:表示参数的个数,常用于循环

$*和$@都表示参数列表。

$*和$@都表示传递给函数或脚本的所有参数,不被双引号" "包含时,都以$1  $2  … $n 的形式输出所有参数;当它们被双引号" "包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

Kafka有序性讨论


1.一个partition的数据是否是有序的?

针对一个topic里面的数据,只能做到每个partition内部有序,不能做到全局有序。

2.特别加入消费者的场景后,如何保证消费者消费的数据全局有序的?

如果要全局有序,必须保证生产、存储、消费都有序。由于生产可以做集群,存储可以分片(partition),消费者可以设置为一个消费者组,要保证全局有序,就要保证每个环节都有序。要保证全局有序:只有一个partition。但这种场景和大数据应用场景相悖。

关于HashMap一些常见问题


1.get

非一致性哈希。基于hash方法,取key的hashcode值找到bucket,bucket定位到Entry

2.HashMap当两个对象的hashcode都相同会发生什么

HashMap底层是数组+链表结构,当hashcode值相同即发生了hash冲突时,会以链表的形式存储元素

3.两个键的hashcode相同,如何获取元素

hashcode相同,通过equals()方法获取元素

4.如果HashMap的大小超过了负载因子定义的容量怎么办

负载因子默认0.75,HashMap扩容标准。成倍扩容,扩容前HashMap存储的元素通过rehash重新映射添加到扩容后的HashMap中。

当数据量小时,进行rehash对性能影响不明显,当数据量大时,rehash时间长,效率低,超大容量不适合用HashMap。

5.可以用自定义对象当做key么

可以。但自定义对象必须重写hashCode()和equals()方法定义规则。否则可变,插入数据后再按照原来key的hashcode和equals方法查找会报空指针异常。

单向链表和双向链表


1.单向链表

包含两个域,一个信息域包含当前节点的信息、一个指针域包含下一个节点的地址。这个链接指向表中的下一个节点,而最后一个节点则指向一个空值null。

单向链表只可向一个方向遍历。

查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。也可以提前把一个节点的位置另外保存起来,然后直接访问。

2.双向链表

双向链表有两个指针,分别指向当前节点的上一个节点和下一个节点。第一个节点的"前链接"指向NULL,最后一个"后连接"指向null。

可以从任何一个节点访问前一个节点,也可以访问后一个节点,以至整个链表。一般是在需要大批量的另外储存数据在链表中的位置的时候用。另外储存了指向链表内容的指针,并且可能会修改相邻的节点,有的时候第一个节点可能会被删除或者在之前添加一个新的节点。这时候就要修改指向首个节点的指针。

Redis的List数据类型底层使用的就是双向链表。关于redis,请阅读《Redis从入门到精通》、《Redis中的哈希问题》

结构化数据、半结构化数据及非结构化数据


1.结构化数据

能够用数据或统一的结构来表示。传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示。一般特点是:数据以行为单位,一行数据表示一个实体的信息。

结构化数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是它的扩展性不好,比如新增一个字段

2.半结构化数据

介于结构化数据如关系型数据库,和非结构化数据如图像文件之间的数据。xml、html文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。

3.非结构化数据

字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它也可以处理结构化数据。

非结构化数据包括办公文档、文本、图片、图像和视频信息等。

代码块


1. 局部代码块

定义在方法内部。当我们使用一个变量之后,希望该变量的空间尽快释放,则可以使用局部代码块。

2. 构造代码块
定义在类的内部。每次创建该类的对象时都会被执行,如果该类有父类则会先执行父类的构造代码快。往往将一些公有的代码放在构造代码块中。

3.静态代码块

用来完成对类的初始化。静态代码块是在类第一次被加载的时候执行且只执行一次,静态代码块中只能访问静态成员,如果该类有父类,则先执行父类的静态代码块。

静态代码块和非静态代码块的对比:

相同点:都是JVM加载类时且在构造函数执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。

不同点:静态代码块在非静态代码块之前执行。静态代码块只在第一次new时执行一次,之后不再执行,而非静态代码块每new一次就执行一次。

类的初始化过程


1.实现父类的公共静态属性和静态代码块,按照出现顺序执行

2.实现自身的静态属性和静态代码块

3.实现父类的非静态属性和非静态代码块

4.执行父类的构造函数

5.实现自身的非静态属性和非静态代码块

6.执行自身的构造函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

py 打开多个页面

要在Python中打开多个网页,可以使用Python的网络爬虫库(如BeautifulSoup或Scrapy)或第三方库(如Selenium)来模拟浏览器操作。 使用BeautifulSoup或Scrapy等库,可以通过编写代码来抓取网页上的内容&#xf…

[每周一更]-(第71期):DevOps 是什么?

Wiki的解释: DevOps(Development和Operations的混成词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。 通过自动化“软件交付”和“架构变更”的…

day14-文件系统工作流程分析

1.内核启动文件系统后,文件系统的工作流程 1.参数的接收 2.参数的解析 3.参数的应用 问题: 1. UBOOT 传给 KERNEL 的参数是以tagglist进行的 KERNEL 传给 文件系统(busybox)的参数是以什么进行的? 2. 在整个文件系统中都需…

马尔可夫过程

马尔可夫决策过程 马尔可夫含义 马尔可夫性质 在给定历史状态 s 0 , … , s t s_0,\dots,s_t s0​,…,st​的情况下,某个状态的未来只与当前状态 s t s_t st​有关,与历史的状态无关。 ​ p ( s t 1 ∣ s t ) p ( s t 1 ∣ s 0 , s 1 , … , s t…

【python】单词接龙

题目: 这是一个关于“单词接龙”的算法题目。在这个游戏中,我们需要从给定的一组单词中,以特定的开头字母构造出一条最长的“龙”。每个单词在这条“龙”中最多出现两次。当两个单词相连时,它们的重合部分被合并成一个。例如&…

spring boot中使用Bean Validation做优雅的参数校验

一、Bean Validation简介 Bean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),目前最新稳定版2.0.2(201…

LMI相机配置步骤,使用Gocator2550相机

在此之前可以先浏览我编写的相机SDK通用类和LMISDK,进行配套观看 https://blog.csdn.net/m0_51559565/article/details/134404394 //LMI相机SDK https://blog.csdn.net/m0_51559565/article/details/134403745 //相机通用类1.启动LMI加速器 LMI加速器用于将相机…

什么是智能井盖?万宾科技的智能井盖传感器的效果

近年来为打造智慧城市政府一直在不懈努力。加速城市基础建设是一项重要的举措,它有助于推动城市综合治理城市生命线的建设工程。在改善市民生活质量的过程中,市政部门正积极进行井盖的改进和升级工作,特别是那些看似微不足道的井盖却蕴含着重…

Java基于itextPDF实现pdf动态导出

Java基于itextPDF实现pdf动态导出 1、制作PDF导出模板2 、集成itextpdf3 、编写实体4 、编写主要代码5、编写controller并测试补充:踩坑记录 现在的业务越来越复杂了,有些业务场景已经不能满足与EXCEL导出和WORD导出了,例如准考证打印&#x…

深度学习 植物识别算法系统 计算机竞赛

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核,池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…

深入理解JMeter中的JSON Extractor

Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中…

arf_1解题

arf_1解题 镜像环境 version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80新建yml文件将代码保存在当前位置 使用docker-compost up -d 拉取镜像 解题 访问该镜像映射端口为1520 可以看到页面只有一个holle但…

java Concurrent 线程安全的集合类

ConcurrentHashMap:是一个线程安全的哈希表实现,它支持高并发的读写操作。它采用了分段锁的机制,将整个哈希表分成多个段,每个段都有一个独立的锁,不同的线程可以同时访问不同的段,从而提高并发性能。 Con…

【Python】一文带你掌握数据容器之集合,字典

目录: 一、集合 思考:我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景为何又需要学习新的集合类型呢? 通过特性来分析: (1)列表可修改、支持重复元素且有序 (2)元组、字符…

DAY52 300.最长递增子序列 + 674. 最长连续递增序列 + 718. 最长重复子数组

300.最长递增子序列 题目要求:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 […

Home Assistant使用ios主题更换背景

Home Assistant使用ios主题、更换背景 lovelace-ios-dark-mode-theme 默认前置情况,1、已安转HACS插件2、搜索安装 IOS Dark Mode Theme1)第一、二步应该很容易实现,configuration.yaml文件很容易被找到2)而本人在进行第三步操作时…

python_定时任务自动匹配数据II

从配置文件读取配置参数,并每天定时执行日常任务、每周一定时执行周任务,匹配符合要求的org数据,文件查找-复制-合并-裁剪。 import os import re import shutil import threading import datetime import timeimport schedule# 全局变量&am…

php+vue3实现点选验证码

buildadmin 中的点选验证码实现 验证码类 <?phpnamespace ba;use Throwable; use think\facade\Db; use think\facade\Lang; use think\facade\Config;/*** 点选文字验证码类*/ class ClickCaptcha {/*** 验证码过期时间(s)* var int*/private int $expire 600;/*** 可以…

我记不住的那些命令(不断更新中)

fzf 一种进行模糊查找的命令行工具 主页&#xff1a;https://github.com/junegunn/fzf 我的主机是 Kali&#xff0c;通过apt进行安装fzf&#xff0c;并进行配置。 # apt install fzf # apt show fzf 通过参考/usr/share/doc/fzf/README.Debian来进行快速配置快捷键和自动补…