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

MySQL基础面试题(2021年六月面试记录)

文章目录

  • MySQL
    • 存储引擎
      • MyISAM和InnoDB区别
    • 索引
    • 事务的实现原理
    • 并发事务带来哪些问题?
    • 不可重复读和幻读区别
    • 事务的隔离级别
    • MyISAM和InnoDB存储引擎使用的锁
    • 表级锁和行级锁的对比
    • InnoDB存储引擎的锁的算法
    • MySQL中的varchar和char有什么区别
    • B+树索引、哈希索引、B树的区别
    • drop、delete、truncate的却别
    • MySQL执行查询的过程
    • 哪些情况需要创建索引
    • 哪些情况不需要创建索引
    • MySQL中有哪几种锁
      • 行级锁
      • 表级锁
      • 页级锁
    • 最左匹配原则

MySQL

存储引擎

MyISAM和InnoDB区别

    MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyISAM 崩溃恢复问题的话)。

    两者对比:

  1. InnoDB支持事务,MyISAM不支持。

  2. InnoDB支持外键,MyISAM不支持。

  3. InnoDB是聚簇索引,数据文件和索引是捆绑在一起的,必须有主键,通过主键索引效率高。MyISAM是非聚集索引,数据文件是分离的,索引保存的是数据文件的指针,主键索引和辅助索引是独立的。

  4. Innodb不支持全文索引,而MyISAM支持全文索引,查询效率上MyISAM要高。

  5. Innodb不保存表的具体行数1,MyISAM用一个变量保存了整个表的行数。

  6. InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁,MyISAM采用表级锁。

    索引

    MySQL索引使用的数据结构主要有BTree索引哈希索引 。对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快;其余大部分场景,建议选择BTree索引。

    MySQL的BTree索引使用的是B树中的B+Tree,但对于主要的两种存储引擎的实现方式是不同的。

  1. MyISAM:B+Tree叶节点的data域存放的是数据记录的地址。在检索索引的时候,首先按照B+Tree搜索算法搜索索引,如果指定的key存在,则取出其data域的值,然后以data域的值为地址读取响应的数据记录,这就是非聚簇索引
  2. InnoDB:其数据文件本身就是一个索引文件,相比MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是B+Tree组织的一个索引接口1,树的叶节点data域保存了完整的数据记录。这个索引的key是数据表主键,因此InnoDB表数据文件本身就是主索引。这就是聚簇索引聚集索引)。

事务的实现原理

    事务是基于重做日志文件和回滚日志实现的。

    每提交一个事务必须将该事务的所有日志写入重做日志文件进行持久化,数据库1可以通过重做日志文件来保证事务的原子性和持久性。

    每当有修改事务时,还会产生undo log,如果需要回滚,则根据1undo log的反向语句进行逻辑操作,比如insert一条记录就delete一条记录。undo log主要实现数据库的一致性。

并发事务带来哪些问题?

    在典型的应用程序中,多个事务并发执行1,经常会操作相同的数据来完成各自的任务,会导致几个1问题:

  1. 脏读(Dirty Read):当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,那么当另一个事务1也访问到了这个数据,然后使用了这个数据,因为这个数据是还没有提交的数据,那么另一个事务读到的这个数据是脏数据。依据脏数据所做的操作可能是不正确的。
  2. 丢失修改(Lost to modify):指在一个事务中读取一个数据时,另一个事务也访问了该数据,那么在第一个事务中修改了这个数据以后,第二个事务也修改了这个数据,这样第一个事务内修改的结果就被丢失,因此称为丢失修改。例如事务1读取某表中A=20,事务2也读取A=20,事务1修改A为1,事务二修改A为100,最终结果是A=100,事务1修改的数据丢失。
  3. 不可重复读(Unrepeatableread):指一个事务多次读取1同一个数据,在这个事务还没有结束时,另一个事务也访问了该数据,那么在第一个事务中两次读取数据之间,由于第二个事务的修改导致了第一个事务两次读取的数据的值可能不太一样,这样就发生了一个事务内两次读到的1数据时不一样的情况。
  4. 幻读(Phantom read):它发生在一个事务读取了几行数据,接着另一个并发事务插入了一些数据时,在随后的查询中,第一个事务会发现多了一些原本不存在的记录。

不可重复读和幻读区别

    不可重复读的重点是修改比如多次读取一条记录发现其中某些列的值被修改,幻读的重点在于新增或者删除比如多次读取一条记录发现记录增多或减少了。

事务的隔离级别

    SQL 标准定义了四个隔离级别:

  1. READ-UNCOMMITTED(读取未提交):最低的隔离级别,允许读取尚未提交的数据,可能会导致脏读、幻读、不可重复读。
  2. READ-COMMITTED)(读取已提交):允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍然可能发生。
  3. REPEATABLE-READ(可重复读):对同一字段多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但是幻读仍然可能发生。是MySQL默认的隔离级别
  4. SERIALIZABLE(可串行化):最高的隔离级别,完成服从ACID的隔离级别,所有事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说可以防止脏读、幻读和不可重复读。
隔离级别脏读不可重复读幻读
READ-UNCOMMITTED
READ-COMMITTED×
REPEATABLE-READ××
SERIALIZABLE×××

MyISAM和InnoDB存储引擎使用的锁

  • MyISAM采用表级锁(table-level locking)。
  • InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁。

表级锁和行级锁的对比

  • 表级锁:MySQL中锁定粒度最大的一种锁,对当前操作的整张表加锁,实现简单,消耗资源也少,加锁快,不会出现死锁,其锁定粒度最大,触发锁冲突的1概率最高,并发度最低。
  • 行级锁:MySQL锁定粒度最小的一种锁,只针对当前操作进行加锁。行级锁能大大减少数据库操作的冲突,其加锁粒度最小,并发度最高,但是加锁的开销也最大,加锁慢,会出现死锁。

InnoDB存储引擎的锁的算法

  1. Record lock:单个行记录上的锁
  2. Gap lock:间隙锁,锁定一个范围,不包括记录本身
  3. Next-key lock:record+gap 锁定一个范围,包含记录本身

MySQL中的varchar和char有什么区别

    char是一个定长字段,假如申请了char(10)的空间,那么无论实际存储多少内容,该字段都占用10个字符,而varchar是变长的,也就是说申请的只是最大长度,占用的空间为实际字符+1,最后一位字符存储了使用多少空间。

    在检索效率上来讲,char > varchar,因此在使用中,如果确定某个字段的值的长度,可以使用char,否则应该尽量使用varchar.例如存储用户MD5加密后的密码,则应该使用char。

B+树索引、哈希索引、B树的区别

  • B树:叶子节点和非叶子节点都存储数据,数据结构为有序数组+平衡多叉树。
  • B+树:只有在叶子节点存储数据,数据结构为有序数组链表+平衡多叉树。B+树索引的关键字索引效率比较平均,不像B树那样波动幅度大。在有大量重复键值的情况下,哈希索引效率也是极低的,因为存在哈希碰撞问题。B+树只要遍历叶子节点就可以实现整棵树的遍历。而且在数据库中基于范围的查询是非常频繁的,而B树不支持这样的操作(或者说效率太低)。
  • 哈希索引:Hash索引仅仅能满足=和<=>等值查询,不能使用范围查询。哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快,但是Hash索引在任何时候都不能避免表扫描。

drop、delete、truncate的却别

    速度上drop>truncate>delete

  • drop:直接删掉关于表的一切(数据、结构、约束),不会记录日志,为DDL操作。
  • truncate:删除表中所有数据(再插入时自增长id从1开始),该操作也不会记录日志。所以比较快,为DDL操作。只能删除table。
  • delete语句执行的过程时每次从表中删除一行,需要记录日志,比较慢。

MySQL执行查询的过程

  1. 客户端通过TCP连接发送请求到MySQL连接器,连接器会对该请求进行权限验证和连接资源分配。
  2. 查缓存,当判断缓存是否命中时,MySQL不会进行解析查询语句,而是直接使用SQL语句和客户端发送来1过来的其他原始信息,所以任何字符上的不同,例如空格、注释都会导致缓存的不命中。
  3. 语法分析,这一步判断SQL是否写错了,检查表和数据列是否存在,解析看别名是否存在歧义。
  4. 优化,查看是否使用索引以及生成执行计划。
  5. 交给执行器,将数据保存到结果集,同时会逐步将数据缓存到查询缓存中,最终将结果集返回给客户端。

img

哪些情况需要创建索引

  1. 主键自动建立唯一索引。
  2. 频繁作为查询条件的字段。
  3. 查询中与其他表关联的字段,外键关系建立索引。
  4. 单键/组合索引的选择问题,高并发下倾向创建组合索引。
  5. 查询中排序的字段,排序字段通过索引访问大幅度提高排序速度。

哪些情况不需要创建索引

  1. 表记录太少。
  2. 经常增删改的表。
  3. 数据重复且分布均匀的表字段,只应该为最经常查询和最经常排序的数据建立索引(如果某个数据类包含太多的重复数据,建立索引没有太大的意义)。
  4. 频繁更新的字段不适合创建索引(会加重IO负担)。
  5. where条件里用不到的字段不创建索引。

MySQL中有哪几种锁

    按照对数据锁定的划分,可以分为行级锁、表级锁、页级锁、间隙锁。

行级锁

    行级锁是MySQL中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突,其加锁粒度最小,但是加锁的开销也最大。行级锁分为共享锁和排他锁。

    InnoDB有三种行级(都是排他锁)锁算法:

  1. Record Lock(记录锁):即元数据锁,单个行记录上锁,也就是我们日常认为的行锁。
  2. Gap Lock(间隙锁):间隙锁是锁定一个范围,但是不包括记录本身,它的锁粒度比记录锁的锁整行更大一些,他是锁住了某个范围内的多个行,包括根本不存在的数据。间隙锁的目的是为了防止同一事务的两次当前读出现幻读的情况,同时也是为了让其他事务无法在间隙中新增数据。
  3. Next-Key Lock(临键锁):它是记录锁和间隙锁的结合,锁定一个范围,并且锁定记录本身,对于行的查询都是采用该方法,主要是为了解决幻读的问题,Next-Key Lock是InnoDB默认的锁。

表级锁

    表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分的MySQL引擎支持。最常使用的MyISAM与InnoDB都支持表级锁定,表级锁分为表共享读锁(共享锁)、表独占锁(排他锁)。

页级锁

    页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁,表级锁速度快,但是冲突多,行级锁冲突少,但是速度慢,页级锁是折中的策略,一次锁定相邻的一组记录。

    按照锁的共享策略划分分为:共享锁(读锁)、排他锁(写锁)、意向共享锁、意向排他锁。

  1. 读锁(共享锁、Shared Locks、S锁):针对同一份数据,多个读操作可以同时进行而不会互相1影响。
  2. 写锁(排他锁、Exclusive Locks、X锁):当前写操作没有完成之前,它会1阻断其他写锁和读锁。
  3. 意向共享锁(IS锁、Intention Shared Lock):当事务准备在1某条记录上加S锁时,需要先在表级别加一个IS锁。
  4. 意向排他锁(IX锁、Intention Exclusive Lock):当事务准备在某条记录上加X锁时,需要先在表级别加一个IX锁。

    从加锁策略上分分为乐观锁和悲观锁。

  1. 乐观锁:认为同一数据的并发操作时不会修改的,通过程序实现,一般使用版本号或者时间戳。

  2. 悲观锁:和乐观锁相反,悲观锁悲观的认为不加锁的并发操作一定会出现问题,哪怕没有修改,也会认为被修改了。因此对于同一个数据的并发操作,悲观锁采取加锁的形式,悲观锁又分为表级锁和行级锁。

最左匹配原则

    最左匹配原则指的是在MySQL建立联合索引时会遵循最左匹前缀匹配原则,即最左优先,在检索数据时会从联合索引的最左边开始匹配。索引的底层是一颗B+树,那么联合索引的底层也应该是一颗B+树,只不过联合索引1的B+树节点中存储的是逗号分隔的多个值。

    举个例子,我们有一张student表,我们根据学院编号+班级建立了一个联合索引index_major_class。这个索引由学院编号(major)和班级(class)这两个字段组成。他是先根据major(学院编号)进行排序,再根据class(班级)进行排序,如果索引后面还有字段,继续以此类推。

img

    我们查询的where条件如果只传入了班级,是走不到联合索引的,但是如果只传了学院编号,是有可能走到联合索引的(可能的原因是因为MySQL的执行计划和查询的实际实行过程并不是那么吻合,如果说你的数据量很小,那么完全可以全量遍历查询,这样速度更快,就不需要走索引了)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

【vue】vue3学习笔记(三)

接上篇 面包屑 安装path-to-regexpcomponent/breadcrumb/index <template><el-breadcrumb class"app-breadcrumb breadcrumb-container" separator"/"><el-breadcrumb-item v-for"(item, index) in levelList" :key"item…...

MVC三层架构

什么是MVC&#xff1a; Model view Controller 模型、视图、控制器 1.以前的架构模型 用户直接访问控制层&#xff0c;控制层就可以直接操作数据库&#xff1b; servlet--CRUD-->数据库 弊端&#xff1a;程序十分臃肿&#xff0c;不利于维护 servlet的代码中&#xff1a…...

zookeeper--一致性协议 ZAB

一、简介 ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;。 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面&#xff0c;Zookeeper 并没有使用 Paxos &#xff0c;而是采用了 ZAB 协议。 Z…...

Android面试回忆录:帮助程序员提高核心竞争力的30条建议,真香!

**新技术层出不穷&#xff0c;去年kotlin到如今Flutter&#xff0c;技术迭代&#xff0c;你是否会变得固步自封&#xff1f;**那么看本篇文章帮你解决问题&#xff0c;让你知道怎么样学习&#xff0c;学习那些技术点才能不被时代的迭代快速淘汰&#xff01; 首先&#xff0c;先…...

2021-05-30解决centos+宝塔面板,FTP传输421 Too many connections问题错误

解决centos宝塔面板&#xff0c;FTP传输421 Too many connections”问题错误 1、首先连入服务器 在/www/server/pure-ftpd/etc下&#xff0c;找到pure-ftpd.conf 2、vim pure-ftpd.conf 没有vim的&#xff0c;用其他编辑软件也可以 3、找到 #Maximum number of sim clients wit…...

RK3399 DDR频率修改

RK3399 DDR频率修改 一、DDR当前频率获取与可调节范围 1、获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/cur_freq2、查看DDR频率可调节的值 cat /sys/class/devfreq/dmc/available_frequencies3、获取DDR容量 cat /proc/meminfo二、DDR测试定频 1、因为RK3…...

javascript正则表达式常用合集

javascript正则表达式常用的合集 参考网址 {n}: n 是一个正整数&#xff0c;匹配了前面一个字符刚好出现了 n 次 {n,}: n是一个正整数&#xff0c;匹配前一个字符至少出现了n次 {n,m}: n 和 m 都是整数。匹配前面的字符至少n次&#xff0c;最多m次。如果 n 或者 m 的值是0&…...

qApp加载qss技巧

使用Qt加载qss样式&#xff0c;一般操作是读取文件&#xff0c;通过setStyleSheet设置 但是qApp只需如下&#xff1a; qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp...

发现一款好用到爆的数据库工具 - DataGrip(就是耗内存)

作者&#xff1a;Atzuge cnblogs.com/zuge/p/7397255.html 最近看到一款数据库客户端工具&#xff0c;DataGrip&#xff0c;是大名鼎鼎的JetBrains公司出品的&#xff0c;就是那个出品Intellij IDEA的公司。 - 就是耗内存 DataGrip是一款数据库管理客户端工具&#xff0c;方便…...

Java 类加载器(ClassLoader)的实际使用场景有哪些?

什么是classloader classloader顾名思义&#xff0c;即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存&#xff0c;并对数据进行检验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。了解java的类加…...

Bad owner or permissions on C:\\Users\\USER/.ssh/config on Windows

Bad owner or permissions on C:\Users\USER/.ssh/config 问题描述 由于使用vscode远程连接服务器突然新增了C:\Users\USER/.ssh/config &#xff0c;再powershell/cmd下面使用openssh&#xff08;windows自带&#xff09;连接服务器会出现Bad owner or permissions on C:\\U…...

React方向的前端面试题

1、React的生命周期&#xff1f; React中只有类组件有生命周期可言。 其中包含三个状态&#xff1a; Mounting&#xff1a;此时已经插入了真实的DOM&#xff1b; Updating&#xff1a;正在被重新渲染&#xff1b; Unmounting&#xff1a;已经移出真实的DOM。 生命周期的方…...

理解“same-site“ 和 “same-origin“

Understanding "same-site" and "same-origin" 作者&#xff1a;Eiji Kitamura 译者&#xff1a;weixsun 原文&#xff1a;Understanding "same-site" and "same-origin" "same-site" and "same-origin" are …...

ERC20智能合约安全评估

ERC20智能合约评估 常见漏洞: https://github.com/slowmist/Knowledge-Base/blob/master/solidity-security-comprehensive-list-of-known-attack-vectors-and-common-anti-patterns-chinese.md ERC20标准接口 //代币名字 function name() constant returns (string name) /…...

自己动手开发了一个 SpringMVC 框架,用起来太香了

一、介绍 在日常的 web 开发中&#xff0c;熟悉 java 的同学一定知道&#xff0c;Spring MVC 可以说是目前最流行的框架&#xff0c;之所以如此的流行&#xff0c;原因很简单&#xff1a;编程简洁、上手简单&#xff01; 我记得刚开始入行的时候&#xff0c;最先接触到的是Stru…...

一个由java.util.ConcurrentModificationException引起的血案

线上跑的一个flink任务突然报了异常&#xff0c;话不多&#xff0c;先把异常发出来 最近在做一个flink项目时遇到了一个线上报错&#xff0c;话不多说&#xff0c;先上代码&#xff0c;其中用到的第三方封装的flink sdk隐去了包前缀&#xff0c;不会影响分析。 Caused by: ja…...

程序员,请你不要在坑程序员了

大家好&#xff0c;hellohello-tom又来分享实战经验了。&#x1f923; 在一个风和日丽的下午&#xff0c;tom哥正在工位上打着瞌睡&#xff0c;突然QQ群运维同学全部开发人员说线上绿线环境大面积开始瘫痪&#xff0c;zuul网关大量接口返回service unavailable&#xff0c;并且…...

jvm 脑图笔记

...

Machine Learning —— Semi-supervised Learning

Machine Learning —— Semi-supervised Learning Introduction Supervised Learning&#xff1a;(xr,y^r)r1R(x^r,\hat{y}^r)^R_{r1}(xr,y^​r)r1R​ training data中&#xff0c;每一组data都有input 和对应的output Semi-supervised Learning&#xff1a;(xr,y^r)r1R(xu…...

2021中级Android开发面试解答,附赠课程+题库

Gradle是什么&#xff1f; Gradle是一种构建语言&#xff0c;目前是Android的默认构建工具&#xff0c;我们编写的编译脚本&#xff0c;其实就是玩Gradle的API&#xff0c;所以从它更底层的意义上看&#xff0c;是一个编程框架。 因为涉及的内容很多没法一两篇文章就介绍详细…...

MD5加密工具类

依赖 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.7.1</version></dependency>md5加密工具类 package com.fsx.shiro.utils;import org.apache.shiro.crypto.hash.Md5H…...

Appium安装及环境部署

依赖&#xff1a;JDK环境 Android SDK Node.js python环境 第一步&#xff1a;安装node.js 地址&#xff1a;https://nodejs.org/ 这里安装没有技巧&#xff0c;无脑下一步就行&#xff08; 注意安装路径是自己的预期就行&#xff09; 这边建议把你的安装路径放在系统变量…...

安装好的matlab如何添加额外的工具箱Toolbox

最最简单的办法&#xff1a;就是通过MATLAB自己的附加功能里面去找&#xff0c;然后安装。 可能你会说要正版才可以&#xff0c;我不知道自己是不是正版&#xff0c;反正我是破解的那种&#xff0c;然后在官网下载额外的toolbox其实不需要你是否有正版授权&#xff0c;只要有一…...

effective_transformer

对字节跳动 effective_transformermer的理解 transformer模型在self-attention的时候&#xff0c;需要用到统一输入batch的长度。但是其他模块不需要。因此&#xff0c;在其他模块&#xff08;FF模块&#xff09;可以移除pad token...

java初学者应该怎么学?

Java语言每年都在吸引更多同学前来入行&#xff0c;其中不乏存在很多初学者没有任何编程经验的人&#xff0c;那么我们作为初学者应该如何才能学好Java语言呢&#xff1f;小千给你几个建议。 1.切忌眼高手低 小千认为最重要的一点就是千万不要眼高手低&#xff0c;同学们无论是…...

Flask初体验

Flask初体验 flask框架是一个微型框架&#xff0c;但是微型框架不代表功能比其他框架少&#xff0c;并且flask的约束也比较少&#xff0c;使用更加方便。Flask安装 pip install flask 废话不多说直接上代码 from flask import Flaskapp Flask(__name__)app.route("/&qu…...

货物监控设备可配置哪些参数?如何配置?

货物监控设备可配置哪些参数&#xff1f;如何配置&#xff1f; 货物监控设备配有定位、温湿度监控、运动监控、光照监控等多种传感器&#xff0c;在实际运用中&#xff0c;可以在货物存储、运输的过程中&#xff0c;帮助实时定位货物位置&#xff0c;并且24小时进行温湿度、磕碰…...

实验一Ping 扫描实验

实验一Ping 扫描实验 预备知识: Ping是Windows和Linux都自带的一个扫描工具&#xff0c;用于校验与远程计算机或本机的连接。只有在安装TCP/IP协议之后才能使用该命令。Ping命令通过向计算机发送ICMP 回应报文并且监听回应验与远程计算机或本地计算机的连接。对Ping最多等待1秒…...

ASP 表单和用户输入

Request.QueryString 和 Request.Form 命令可用于从表单取回信息&#xff0c;比如用户的输入。 实例&#xff1a; 使用 method"get" 的表单 如何使用 Request.QueryString 命令与用户进行交互。 使用 method"post" 的表单 如何使用 Request.Form 命令与用…...

Vulkan学习(七): Swap Chain Recreation

目录Swap Chain RecreationRecreating the swap chainSuboptimal or out-of-date swap chainHandling resizes explicitlyHandling minimizationCodeSwap Chain Recreation Recreating the swap chain 当窗口的大小发生变化时&#xff0c;会导致swap chain与重置窗口不兼容&am…...

动态Web-JSP和tomcat

动态Web基础动态Web静态网站服务器中间件tomcattomcat目录结构JSPJSP的第一个例子——九九乘法表JSP中九大内置对象JSP的三大指令动态Web 静态网站 1.静态网站&#xff1a;静态网站是指全部由HTML&#xff08;标准通用标记语言的子集&#xff09;代码格式页面组成的网站&…...

Redis学习笔记②实战篇_黑马点评项目

若文章内容或图片失效&#xff0c;请留言反馈。部分素材来自网络&#xff0c;若不小心影响到您的利益&#xff0c;请联系博主删除。 资料链接&#xff1a;https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA&#xff08;提取码&#xff1a;eh11&#xff09;在线视频&#xff1a;…...

更新了CSDN blog个性域名!

这里 欢迎访问&#xff01;...

绝招:技术专家教你打造个性域名!

NCP为我们提供了个性化域名服务&#xff0c;可能有些站长朋友还是觉得不够个性化&#xff0c;因为手里可能还有一些自己的域名&#xff08;目前国内cn域名只要1块钱哦&#xff0c;谁个手里能没有一两个&#xff09;&#xff0c;希望可以利用起来&#xff0c;甚至有些站长朋友之…...

用户自定义个性域名范解析

记录下项目用的&#xff0c;用户自定义个性域名范解析 2009-12-08 10:08 RewriteEngine on RewriteCond %{HTTP_HOST} ^[a-z0-9A-Z/-]/.it1s.cn$ RewriteRule ^/?$ /%{HTTP_HOST} RewriteRule ^/([a-z0-9A-Z/-])/.it1s/.cn/?$ /blog.php?u$1 RewriteEngine on RewriteC…...

dot com过时了,个性域名“钱”景看好

曾几何时&#xff0c;.com域名因为寓意“商业”含义而备受追捧&#xff0c;几乎就是网站的标配&#xff0c;dot-com甚至成了互联网的代名词。而一些卓有远见的投资者通过囤积.com域名的方式获利颇丰&#xff0c;之后在相关媒体的报道和热潮下&#xff0c;投资.com域名的热潮也一…...

为你的掘金和 GitHub 设定个性域名

「博客搬家」 原地址: 简书 原发表时间: 2017-03-26 首先对比技术类博客网站&#xff1a; CSDN 的写作体验很好&#xff0c;但是发布的文章呈现效果很差&#xff0c;但是有个优点&#xff1a;用户名作为 CSDN 的子目录&#xff0c;即变相实现个性域名&#xff0c;比如我的CSDN域…...

为 Hexo 搭建的博客添加属于自己的个性域名

一般用 GitHub Hexo 搭建的博客访问域名都是 xxx.github.io &#xff0c;如何让博客有一个属于自己又好记的域名呢&#xff0c;下面分享一下方法。 1. 购买域名 我的域名是在 腾讯云 买的&#xff0c;因为 腾讯云 的便宜一点&#xff0c;也可以到 阿里云 的万网去买。 首先前往…...

github博客绑定个性域名

首先我们先买个域名,可以在阿里云购买域名&#xff0c;买完之后登陆阿里云的管理控制台,然后点击域名&#xff0c;再点击解析如下 接下来点击添加解析&#xff0c;并输入以下信息&#xff08;记录值不一样&#xff0c;第一个的记录值填你的github访问地址,如shenzekun.github.i…...

用户主页个性域名技术实现

【本文出处: http://blog.csdn.net/leytton/article/details/54144240】 我们在一些网站上看到&#xff0c;用户可以通过自定义个性域名访问自己的主页。比如说直接通过leytton.csdn.net访问我的博客或某个专栏——当然csdn并没有这个功能 :) 那么如何实现这个装逼的功能呢&…...

个性域名

互联网个性化域名的开放无异于打开喽拉魔 盒&#xff0c;从盒子里跳出来的究竟是天使&#xff0c;还是魔 ? 在我们用键盘敲击一个个.cn、.com、.net 名打开网页时&#xff0c;是否想过用一 种更便捷的网址输入方式&#xff0c;让我们避开 一连串繁琐的英文字母?近日&#…...

码云 注册 注册个性域名报错---已经解决

https://gitee.com/lushanyou0124/ —>还是报错 备注&#xff1a;个性域名位置不要写 https://gitee.com/lushanyou0124 直接写&#xff1a;lushanyou0124 没毛病666...

个性化域名邮箱

背景 已经在阿里买了域名&#xff0c;前几天用Cloudflare的时候瞥见有申请邮件转发功能&#xff0c;然后点了申请一直都没给批复。后来想了想干脆还是自己整吧。&#xff08;非常简单&#xff09; 前置工作 需要有自己实名认证的域名。不需要有服务器&#xff0c;更不用备案…...

IIS添加个性域名

IIS添加个性域名 拜读了Anytao的[开发故事]第五回&#xff0c;用想要的域名运行你的本地Web应用后&#xff0c;自己动手配置了一下&#xff0c;mark一下&#xff0c;自己的配置步骤。 1.配置本机的Host服务 这个比较简单&#xff0c;在%systemroot%\system32\drivers\etc\ 目录…...

为你的简书和 GitHub 设定个性域名

「博客搬家」 新地址: 简书 首先对比技术类博客网站&#xff1a; CSDN 的写作体验很好&#xff0c;但是发布的文章呈现效果很差&#xff0c;但是有个优点&#xff1a;用户名作为 CSDN 的子目录&#xff0c;即变相实现个性域名&#xff0c;比如我的CSDN域名是&#xff1a;http:…...

Linux内存管理(二十五):slub 分配器之kmem_cache_destroy

源码基于:Linux5.4 0. 前言 在博文《slub分配器之kmem_cache_create》中详细分析了使用对外接口申请slab cache 的过程,在博文《slub分配器之kmem_cache_alloc》中详细分析了通过slab cache 分配object 的分配过程,了解了slub 分配器分配内存的快速分配和慢速分配两种方式。…...

虚拟空间windows和linux,虚拟主机选windows还是linux

虚拟主机选windows还是linux&#xff1f;很多站长和中小企业在建站时&#xff0c;会选择虚拟主机。购买虚拟主机的时候&#xff0c;会遇到选择linux系统还是windows系统的问题。系统应该根据网站的源码情况来决定&#xff1a;1.静态、国产php程序&#xff0c;windows和linux都没…...

虚拟服务器怎么选操作系统,虚拟主机怎样选择合适的操作系统

很多站长在选择虚拟主机时不知道选择哪个操作系统好&#xff0c;本文主要介绍一下虚拟主机相关的操作系统。虚拟主机怎样选择合适的操作系统市场上虚拟主机的操作系统一般有两种&#xff0c;Linux和Windows操作系统。它们的主要区别如下&#xff1a;Windows虚拟主机是微软开发的…...

java jsp公共异常页面_JSP页面的异常处理

对于jsp页面错误处理这里大致有两种方式&#xff1a;一、在Web.xml中配置全局的错误异常处理即凡是该项目下(即虚拟路径下的所有文件)的任意一个文件错误或者异常&#xff0c;都会跳到指定的错误处理页面。全局的错误处理可以处理两种类型的错误&#xff1a;一种是HTTP代码的错…...

IbBBX24–IbTOE3–IbPRX17模块通过清除甘薯中的活性氧来增强甘薯对非生物胁迫耐受性

文章信息 题目&#xff1a;The IbBBX24–IbTOE3–IbPRX17 module enhances abiotic stress tolerance by scavenging reactive oxygen species in sweet potato 刊名&#xff1a;New Phytologist 作者&#xff1a;Huan Zhang&#xff0c;Shaozhen He et al. 单位&#xff1…...