高频面试题
MyISAM和InnoDB是MySQL两种常见的存储引擎,它们之间有以下几点区别:
事务支持:MyISAM不支持事务处理,而InnoDB支持事务处理。
行级锁:MyISAM只支持表级锁,而InnoDB支持行级锁,可以避免并发访问冲突的问题。
外键支持:MyISAM不支持外键约束,而InnoDB支持外键约束。
全文索引:MyISAM支持全文索引,而InnoDB只支持普通索引和前缀索引。
并发性能:在并发读写的场景下,InnoDB的性能比MyISAM更好,因为InnoDB可以支持更多的并发操作和更好的事务处理。
空间占用:在存储同样的数据时,MyISAM通常比InnoDB使用更少的磁盘空间。
总的来说,MyISAM适用于读写比例低的应用场景,例如新闻站点等,而InnoDB适用于读写比例高、需要事务处理和外键约束的应用场景,例如电商网站等。但需要注意的是,具体应该选择哪种存储引擎,还需要根据具体的业务场景和数据特征进行选择。
消息队列如何保证消息不丢失?
在消息队列中,为了保证消息不丢失,需要采取以下措施:
持久化:可以将消息存储在磁盘上,以防止在消息队列宕机或重启时丢失消息。消息队列一般提供两种持久化方式:将消息存储到磁盘中或者将消息存储到数据库中。
确认机制:在消息发送方发送消息后,需要等待接收方的确认,以确保消息已被正确处理。如果接收方没有确认,则可以将消息重新发送或者将消息存储在缓存中。
备份机制:消息队列的备份机制可以在消息队列宕机时恢复消息。可以将消息队列的副本存储在其他机器上,并在消息队列宕机时将副本恢复。
手动ACK机制:在一些消息队列中,可以采用手动ACK机制,即消费者消费完消息后手动发送确认消息,以保证消息已经被正确处理。
冗余机制:在某些高可用的消息队列中,采用了冗余机制,即将同一个消息存储在多个节点中,以保证在某个节点宕机时仍然可以正常处理消息。
需要注意的是,以上措施可以结合使用,以最大程度地保证消息不丢失。但需要根据具体的业务场景和消息队列的特性来选择合适的措施。
mysql分页,limit和游标的区别
LIMIT 和游标都可以用于进行分页查询,但是两者之间存在一些差异:
实现方式:LIMIT 是一种 SQL 语句,用于限制查询结果的数量和起始位置;游标是一种编程语言特性,用于逐行访问查询结果集。
性能:在查询结果集较大的情况下,使用游标进行分页查询可能会影响系统的性能,因为需要逐行访问查询结果集;而使用 LIMIT 进行分页查询可以利用索引优化查询,提高查询效率。
灵活性:使用游标进行分页查询可以对查询结果进行更加灵活的处理,例如对每行记录进行逐行处理或者跳过特定的记录;而使用 LIMIT 进行分页查询则需要在 SQL 查询语句中指定起始位置和返回的行数,无法灵活处理查询结果。
综上所述,使用 LIMIT 进行分页查询通常比使用游标更加高效,特别是在查询结果集较大的情况下。但是,如果需要对查询结果进行更加灵活的处理,可以考虑使用游标。
java接口和抽象类的区别
Java 中接口和抽象类都可以用于实现多态性和封装性,但它们之间也有一些差异,主要体现在以下几个方面:
定义:接口是一种完全抽象的类型,只包含方法的声明,没有方法的实现;抽象类是一种半抽象的类型,可以包含抽象方法和具体实现的方法。
继承:接口只能被其他接口继承,不支持类继承接口;抽象类可以被普通类和其他抽象类继承。
实现:类可以实现多个接口,但只能继承一个抽象类。
访问修饰符:接口中的方法默认是 public 的,而抽象类中的方法可以有不同的访问修饰符。
成员变量:接口中只能包含常量,即 public static final 类型的变量;抽象类可以包含实例变量和类变量。
构造方法:接口没有构造方法;抽象类可以有构造方法,但不能直接实例化。
使用场景:接口通常用于定义类的行为规范,强制实现某些方法;抽象类通常用于定义类的结构和公共的属性和方法,便于派生类继承和扩展。
总的来说,接口和抽象类都是用于实现多态性和封装性的重要工具,在设计类和接口时应根据实际需要选择合适的方式。如果只需要定义规范或者强制实现某些方法,可以选择使用接口;如果需要定义类的结构和公共的属性和方法,并且需要支持派生类的继承和扩展,可以选择使用抽象类。
session和cookie的区别
Session和Cookie都是Web应用中常用的用户身份认证和状态维护机制,它们的主要区别如下:
- 存储位置:Cookie是保存在客户端的浏览器上,而Session则是保存在服务端的内存或者数据库中。
- 存储内容:Cookie只能存储字符串类型的数据,而Session可以存储任意类型的数据,包括对象等复杂类型。
- 安全性:由于Cookie存储在客户端上,所以容易被窃取和篡改,而Session存储在服务端上,相对来说更加安全一些。
- 生命周期:Cookie可以设置过期时间,可以长期保存在客户端上,而Session默认情况下只在用户关闭浏览器或者一段时间不活动后失效。
- 大小限制:Cookie的大小通常限制为4KB左右,而Session的大小则可以根据服务器的内存和配置进行灵活调整。
综上所述,Cookie和Session各有优缺点,需要根据具体的需求和场景来选择合适的方式进行用户身份认证和状态维护。通常情况下,Cookie主要用于短期的状态维护和跨页面传递数据,而Session则主要用于长期的用户身份认证和状态维护。
springboot jar和war的区别
Spring Boot应用程序可以打包成JAR包或WAR包,两者之间的主要区别在于部署方式和运行环境。
JAR包:
JAR包是Java应用程序的一种打包方式,可以将应用程序及其依赖打包成一个可执行的JAR文件,方便在不同的环境中运行。
Spring Boot应用程序打包成JAR包后,可以通过java -jar命令直接运行,不需要依赖Web容器。
JAR包适合于独立运行的应用程序,通常用于开发环境和测试环境。
WAR包:
WAR包是Web应用程序的一种打包方式,可以将应用程序打包成一个WAR文件,包括Web页面、Java类、配置文件等资源。
Spring Boot应用程序打包成WAR包后,可以部署到Web容器中运行,如Tomcat、Jetty等。
WAR包适合于Web应用程序,通常用于生产环境。
综上所述,JAR包适合于独立运行的应用程序,WAR包适合于Web应用程序。选择何种打包方式,应根据实际需求来确定。
相关文章:
高频面试题
MyISAM和InnoDB是MySQL两种常见的存储引擎,它们之间有以下几点区别: 事务支持:MyISAM不支持事务处理,而InnoDB支持事务处理。 行级锁:MyISAM只支持表级锁,而InnoDB支持行级锁,可以避免并发访问…...
js 字节数组操作,TCP协议组装
js字节数组,进制转换js基础知识数组 Array扩展操作符三个点(...)ArrayBufferslice() 数组复制reduce 对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值splice 数组删除,添加,替换js 字节数组转数字以及…...
JavaScript的引入并执行-包含动态引入与静态引入
JavaScript的引入并执行-包含动态引入与静态引入 JavaScript引入方式 html文件需要引入JavaScript代码,才能在页面里使用JavaScript代码。 静态引入 行内式 直接在DOM标签上使用 <!DOCTYPE html> <html lang"en"> <head><meta ch…...

第四阶段01-酷鲨商城项目准备
1. 关于csmall-product项目 这是“酷鲨商城”大项目中的“商品管理”项目,是一个后台管理项目(给管理员,或运营人员使用的项目,并不是普通用户使用的),并且,只会涉及与发布商品可能相关的功能开…...

Uncaught ReferenceError: jQuery is not defined
今天在拉取项目部署到本地的时候遇到了一个问题特此记录一下 (以后闭坑) 我和同事同时拉取了一样的代码,结果同事的页面加载正常而我的页面像被狗啃了一样,知道是js的问题但是不知道问题出在哪里?后来还是同事帮我解决…...

面试阿里测开岗,被面试官针对,当场翻脸,把我的简历还给我,疑似被拉黑...
好家伙,金三银四一到,这奇葩事可真是多,前两天和粉丝聊天,他说前段时间面试阿里的测开岗,最后和面试官干起来了。 我问他为什么,他说没啥,就觉得面试官太装了,就爱问一些虚而不实的…...

2. 驱动开发--驱动开发环境搭建
文章目录前言一、Linux中配置编译环境1.1 linux下安装软件的方法1.2 交叉编译工具链的安装1.2.1 测试是否安装成功1.3 设置环境变量1.3.1 将工具链导出到环境变量1.4 为工具链创建arm-linux-xxx符号链接二、 搭建运行开发环境2.1 tftp网络方式加载内核和设备树文件2.2 nfs网络方…...

《数据库系统概论》学习笔记——第四章 数据库安全
教材为数据库系统概论第五版(王珊) 这一章简单记一下那几条sql的用法和两种存取控制和审计(今年期末考了)吧,不知道有啥好考的 数据库安全性 问题的提出 数据库的一大特点是数据可以共享数据共享必然带来数据库的安全…...

山洪径流过程模拟及洪水危险性评价
目录 1.洪水淹没危险性评价方法及技术讲解 2.GIS水文信息提取与分析(基于ArcGIS软件) 3.洪水淹没模拟水文分析:洪峰流量估算 4.洪水淹没模拟水力学分析:Hec-RAS实例操作 GIS水文分析(ArcHydro、Spatial Anlysist等模块)是流域…...

LeetCode HOT100 (23、32、33)
目录 23、合并K个升序链表 32、最长有效括号 33、搜索旋转排序数组 23、合并K个升序链表 思路:采用顺序合并的方法,用一个变量 ans 来维护以及合并的链表,第 i 次循i 个链表和 ans合并,答案保存到 ans中。 代码: …...
电力监控仪表主要分类
电力监控仪表是电工仪表行业的一个新兴、细分行业,类别属于安装式数字仪表,从模拟指针式仪表和电量变送器演变而来。随着计算机技术的发展,电力监控仪表已应用到电力系统的发、输、变、配、用的各个环节,实现对电网电参量的测量、…...
山野户外定位依赖GPS或者卫星电话就能完成么?
每当有驴友失联的新闻报道,很多的户外“老鸟”和“菜鸟”都在讲:为什么不带卫星电话,不带GPS……云云!提一个小小的问题:如果你拿着卫星电话、GPS或者其他即时通信的其他设备,你就能准定位你所处的位置么&a…...
SAP 应收应付重组配置
应收应付重组是为了使资产负债表真实的反映资产及负债的真实情况,需要对应收、应付账款的余额时行实际调整。即将“应收账款”的贷方余额和“应付账款”的借方余额分别调整至“预收账款”与“预付账款”账户中。 应收应付重组SAP系统是按照公司代码、客户/供应商、…...

算法练习(八)计数质数(素数)
1、问题描述: 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 2、示例如下: 3、代码如下: 第一种:比较暴力的算法 class Solution {public int countPrimes(int n) {int count1;if(n<2) return 0;for(in…...

用反射模拟IOC模拟getBean
IOC就是spring的核心思想之一:控制反转。这里不再赘述,看我的文章即可了解:spring基础思想IOC其次就是java的反射,反射机制是spring的重要实现核心,今天我看spring的三级缓存解决循坏引用的问题时,发现一个…...

【Ap AutoSAR入门与实战开发02】-【Ap_s2s模块01】: s2s的背景
总目录链接==>> AutoSAR入门和实战系列总目录 文章目录 1 s2s的背景?2 AUTOSAR 方法应支持车辆的无缝开发2.1 面向服务的ECU的解读2.2 面向信号的ECU的解读2.3 通过网关ECU实现转换1 s2s的背景? Cp AutoSAR基于传统的can,lin,flexray总线的通信,一般是面向信号设…...

C语言数据结构(3)----无头单向非循环链表
目录 1. 链表的概念及结构 2. 链表的分类 3. 无头单向非循环链表的实现(下面称为单链表) 3.1 SListNode* BuySListNode(SLTDateType x) 的实现 3.2 void SListPrint(SListNode* plist) 的实现 3.3 void SListPushBack(SListNode** pplist, SLTDateType x) 的实现 3.4 voi…...

Android 实现菜单拖拽排序
效果图简介本文主角是ItemTouchHelper。它是RecyclerView对于item交互处理的一个「辅助类」,主要用于拖拽以及滑动处理。以接口实现的方式,达到配置简单、逻辑解耦、职责分明的效果,并且支持所有的布局方式。功能拆解功能实现4.1、实现接口自…...
通过window.open打开新的页面并修改样式添加内容
const img new Image(); img.src res; //res是图片的路径地址 const newWin window.open(, _blank); newWin.document.write(img.outerHTML); // newWin.document.body.style.background #000; newWin.document.body.style.textAlign center; newWin.document.body.oncl…...
Java中 Synchronized 的用法
《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized. synchronized是Java中的关键字,…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
深度解析:etcd 在 Milvus 向量数据库中的关键作用
目录 🚀 深度解析:etcd 在 Milvus 向量数据库中的关键作用 💡 什么是 etcd? 🧠 Milvus 架构简介 📦 etcd 在 Milvus 中的核心作用 🔧 实际工作流程示意 ⚠️ 如果 etcd 出现问题会怎样&am…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...

基于django+vue的健身房管理系统-vue
开发语言:Python框架:djangoPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat12开发软件:PyCharm 系统展示 会员信息管理 员工信息管理 会员卡类型管理 健身项目管理 会员卡管理 摘要 健身房管理…...