- 博客(84)
- 资源 (2)
- 收藏
- 关注
原创 Python入门学习笔记
第一天print(r"D:/three/two/one/now.")temp = """adsda\naasas"""import randomrandom.randint(1,10) #1到10之间的伪随机数import decimala = decimal.Decimal('0.1')b = -3//2 #地板除是向下取整,这里的结果是2c = divmod(2,3) // 返回(x//y, x%y)d = pow(2,3) // 返回2的3次方e = 2**3 // 返回2的3次
2022-04-26 17:34:34
418
原创 Vue下载后端返回的Excel文件
1、设置请求参数// 导出订单Excelexport const getOrderExcel = param => { return request({ url: '/order/excel/', method: 'get', params: param, responseType: 'blob', headers: { 'Content-Type': 'application/x-do
2022-04-18 12:46:47
1982
原创 Spring面试题整理
1、浅谈Spring IOCIOC,也就是控制反转。控制反转是一种设计思想,而不是具体的技术实现。拆开来理解,控制指的是创建和管理对象的权利,反转指的是将这种控制权交给外部环境管理。所以,Spring IOC指的是将创建和管理对象的权利交给Spring。在 Spring 中, IoC容器是 Spring 用来实现控制反转的载体, IoC容器实际上就是个 Map,Map 中存放的是各种对象。我们只需要配置好我们需要的对象,Spring会帮我们管理,当我们需要对象时,Spring会自动帮我们注入。2、浅
2022-02-20 20:42:55
202
原创 Java运行时数据区域
文章目录一、总览二、堆Heap三、方法区Method Area一、总览二、堆Heap除G1,ZGC等新一代垃圾回收器外,使用传统的垃圾回收器时,堆区分为新生代和老年代,默认情况下,新生代占用1/3,老年代占用2/3。其中,新生代又分为一个Eden区和两个Survivor区,默认情况下,Eden区占8/10,两个Survivor区各占1/10。三、方法区Method Area方法区是《JAVA虚拟机规范》中的一个抽象概念,JDK1.8之前,HotSpot虚拟机对方法区的实现是永久代(Per
2022-02-20 10:21:10
597
原创 Java中常量池、运行时常量池和字符串常量池的区别
一、字符串常量池字符串常量池是比较容易理解的,程序中出现的所有字符串都会被放到字符串常量池中。二、常量池与运行时常量池public class T01_ConstantPool { public static void main(String[] args) { }}运行上面的程序后,可在项目目录下找到T01_ConstatntPool.class文件,我们将目录切换到class文件所在目录,运行命令javap -v T01_ConstantPool.class,在运
2022-02-20 10:04:34
1764
2
原创 详解Java内存模型
文章目录一、简介二、处理器、高速缓冲、主内存间的交互关系三、Java线程、工作内存和主内存的交互关系四、8大原子操作五、8大Happens-Before原则一、简介Java内存模型(JMM)是线程间通信的控制机制,JMM定义了主内存和线程工作内存之间的抽象关系。用来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。线程之间的共享变量存储在主内存中,每个线程都有一个私有的工作内存,存储了共享变量的副本。本地内存是JMM的一个抽象概念,并不是真实存在的,其涵
2022-02-19 16:55:04
690
原创 MySQL中执行SQL的BufferPool缓存机制
文章目录一、MySQL底层结构图二、MySQL日志及缓存机制一、MySQL底层结构图二、MySQL日志及缓存机制看完MySQL的底层结构图,很多人可能会有这样的疑问:为什么MySQL不能直接更新磁盘上的数据而且设置这么一套复杂的机制来执行SQL呢?因为如果每一个请求直接对MySQL数据文件进行读写,是随机IO,对于每次读写,机械硬盘都有寻道时间和旋转延迟,因此直接更新数据磁盘文件性能是比较低的,对于固态硬盘,也需要通过地址转换机制确定读写位置,所以直接更新磁盘文件是不能让数据库抗住很高并发的。
2022-02-14 12:27:44
597
原创 MySQL使用explain工具查看执行计划
文章目录一、Explain工具介绍二、Explain中的字段信息2.1、id2.2、 select_type2.3、table2.4、type2.5、possible_keys2.6、key列2.7、key_len列2.8、ref列2.9、rows2.10、extra一、Explain工具介绍EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句的预估执行情况。在SELECT语句之前增加explain关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这
2022-02-14 10:56:10
295
原创 LeetCode热题100道
文章目录1、两数之和2、两数相加3、无重复字符的最长子串1、两数之和通往【LeetCode - 两数之和】的任意门解法一:暴力解采用两层for循环,第一次层循环选取第一个数,第二次循环选取第二个数,第二层循环找到符合的数则直接返回结果。时间复杂度:O(n^2)空间复杂度:O(1)vector<int> twoSum(vector<int>& nums, int target) { vector<int> res;
2022-02-11 18:21:26
4876
原创 MySQL使用trace工具查看执行计划
文章目录一、什么是trace工具二、trace工具的使用三、结构分析3.1、SQL准备阶段3.2、SQL分析、优化阶段四、重要信息分析一、什么是trace工具MySQL5.6版本开始,推出了对SQL的跟踪工具trace,通过使用trace,用户可以查看MySQL优化器对SQL语句的分析结果,以及生成了怎样的执行计划。二、trace工具的使用1、开启/关闭trace工具开启:set session optimizer_trace="enabled=on",end_markers_in_json
2022-02-11 10:36:58
2706
原创 MySQL索引实战
文章目录一、准备测试环境1.1、创建数据表1.2、创建生成数据的函数1.3、执行过程生成测试数据二、索引实战测试一、准备测试环境1.1、创建数据表/* 员工表 */CREATE TABLE `emp` ( `id` int(8) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', `job` varchar(9) NOT NU
2022-02-11 09:02:29
792
原创 MySQL索引下推
文章目录一、概念二、示例三、实践一、概念索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于提高查询效率。在MySQL5.6之前的版本,使用非主键索引进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL Server 层,由其查询主键索引(聚簇索引),判断数据是否符合查询条件。Mysql5.6推出索引下推后,使用非主键索引进行查询时,存储引擎通过索引检索到数据,并根据索引包含的字段对数据再进行一次筛选,再返回给MySQL Serve
2022-02-10 22:00:46
706
原创 算法专栏之递归算法那些事
1、利用Master公式求递归算法的时间复杂度1、Master公式2、适用范围Master公式只适用于子问题规模相同的递归算法。什么是子问题规模相同呢?假定需要从数组中找出最大的数,并且用递归算法实现。一种比较容易想到的实现如下:参数含义:Master只适用于子问题规模相同的递归算法a表示被划分成a个相同规模的子问题b表示每个子问题处理的数据规模O(n^d)表示合并子问题解所要花费的时间复杂度复杂度的计算:①当d<logb a时,时间复杂度为O(n^(log
2022-02-09 09:30:18
292
原创 MySQL常见面试题
为什么InnoDB表必须要建主键,且推荐使用整型自增主键InnoDB表数据是使用B+ Tree进行存储,需要一个具有唯一性的字段组织形成B+ Tree。如果没有建主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引;如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引。为避免Mysql为我们维护隐性的索引,故而InnoDB表要建主键。为什么推荐使用整型索引呢?在定位某一个索引时,需要进行多次的数据比较,才能确定索引我位置,在比较速度上来说
2022-02-08 22:39:49
2654
2
原创 MySQL中SQL语句的执行过程
文章目录一、MySQL内部组件结构1.1、服务层Server1.1.1 连接器1.1.2 查询缓存1.1.3 分析器1.1.4 优化器1.2、引擎层Store二、SQL的执行过程一、MySQL内部组件结构1.1、服务层Server主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。1.1.1 连接器每个客户端与MySQL服务器通过T
2022-02-08 18:11:55
169
原创 算法专栏之位运算专题
文章目录一、位运算必备结论1、任何数与零异或结果为自身。2、任何数与自身异或结果为零。3、不使用额外变量交换两个变量的值4、提取整型变量中最右侧的`1`二、经典题目及详解2.1、只出现一次的数字1、题意2、思路3、题解2.2 只出现一次的数字II1、题意2、思路3、题解4、推广2.3 只出现一次的数字III1、题意4、推广一、位运算必备结论1、任何数与零异或结果为自身。2、任何数与自身异或结果为零。3、不使用额外变量交换两个变量的值int a = 1, b = 3;a = a^b;b = a^
2022-02-07 20:13:42
388
原创 算法专栏之贪心算法专题
文章目录一、对贪心算法的理解二、贪心算法的常见套路三、经典题目及详解3.1 分发饼干题意题解一、对贪心算法的理解贪心算法是最接近人类智慧的算法,贪心算法的思想是每次都贪图局部最优,从而得到一个全局最优解。作为一个新时代中国青年,我们懂得,如果总是贪图眼前最优,最后并不一定能够得到全局最优。所以,贪心算法也具有其局限性,部分问题通过贪心算法得到的并不是最优解。既然不是所有的问题都可以通过贪心算法来解决,那么我们又如何判断贪心算法是否适用于某一道算法题呢?其实,我们很难在算法笔试有限的时间内,通过数学证
2022-02-07 13:04:00
518
原创 面试资料准备
一、第一次面试:1月23日1.1 JAVA基础1、JAVA容器 => HashMap => 红黑树 => B+树和B树 => 数据库索引 => 索引使用B+树有什么优点 => 什么情况下索引失效2、JAVA中函数参数是值传递还是引用传递3、说一下JAVA中的浅拷贝与浅拷贝1.2 计算机基础1、 如果TCP连接已建立,而客户端发生了错误怎么办?如果客户端出现了错误,服务端不应该一直无限等待下去,从而导致服务端资源的浪费。所以,TCP设置了一个保活计时器,
2022-01-23 23:20:15
985
原创 关于Vue3数据更新而Table视图不更新的问题
1、现象描述2、解决方法在<el-table>中添加:key = “updateKey”,当数组billDataList中的数据发生变化时,修改updateKey的值。向billDetailList中添加数据的同时更新updateKey,则<el-table>视图会重新渲染。...
2022-01-16 19:21:27
3083
原创 VS2017 编译C++报错:fatal error LNK1169: 找到一个或多个多重定义的符号
1、报错信息2、错误原因在SystemManager.h头文件中定义了全局变量,而又有多个文件引用该头文件,导致该全局变量多次定义。3、解决方法先用extern关键字在SystemManger.h头文件中声明该全局变量再在SystemManager.cpp源文件中定义该全局变量...
2022-01-10 16:45:45
594
原创 C++输入流ifstream指针重置问题
C++输入流ifstream读指针回到文件头的问题在C++中使用ifstream进行文本文件读取时,如果已经读取完一次,此时读指针位于文件末尾,我们无法直接通过调用seekg(0, ios::beg)回到文件开头,而是需要先调用clear()清除指针状态,再调用seekg(0, ios::beg)才能成功返回文件头。#include<iostream>#include<fstream>#include<string>using namespace std;i
2022-01-01 20:26:56
5349
原创 从0到1搭建Nacos2.0.2集群(centos7)
文章目录修改startup.sh文件配置cluster配置nginx修改startup.sh文件将nacos的运行端口修改为可配置项通过-p指定运行端口[root@izwz9es7z1rh1aum8d8sf4z bin]# ./startup.sh -port 3333/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/bin/java -server -Xms128m -Xmx128m -Xmn128m -XX:Me
2021-06-23 20:31:11
3598
7
原创 ActiveMQ(三):安全机制、消息持久化
文章目录一、安全机制1.1、修改`activemq.xml`文件1.2、配置用户名密码二、消息持久化2.1、KahaDB存储2.1.1、文件说明2.1.2、特性2.2、JDBC存储(Mysql8)2.2.1、配置文件2.2.2、添加Jar包2.2.3、数据库与数据表一、安全机制1.1、修改activemq.xml文件在<broker></broker>标签下配置<plugins>标签。<beans xmlns="http://www.springfram
2021-06-13 18:42:46
347
原创 ActiveMQ(二):ActiveMQ的基本使用
文章目录一、生产者程序二、消费者程序三、ActiveMQ运行情况一、生产者程序import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/** * @author IT00ZYQ * @date 2021/6/12 22:34 **/public class Producer { public static void main(String[] args) throws JMSException
2021-06-12 23:17:59
185
1
原创 ActiveMQ(一):ActiveMQ的下载安装(win10)
文章目录一、下载压缩包二、解压压缩包三、运行四、访问一、下载压缩包ActiveMQ官方下载地址备用下载地址二、解压压缩包三、运行bin -> win64 -> activemq.bat点击activemq.bat运行即可。四、访问访问地址:http://127.0.0.1:8161/新版ActiveMQ需要用户名和密码,默认都为admin。...
2021-06-12 23:10:28
620
原创 数据库设计经验之(订单)状态
设计场景上图是一个网约车订单的状态流转图,数字代表对应订单状态在数据库中对应的值。从图中可以看到,已取消状态可由新订单 0、待派单 1、已接单 2、已出发 3四个状态变更而来,如果我们将已取消对应的值设计为数12,那么我们无法知道这个已取消状态是由哪个状态变更而来的。因此,我们定义9开头的数字都表示已取消,90表示该已取消订单是在新订单状态下取消的、91表示该已取消订单是在待派单状态下取消的、以此类推。不适用场景如果订单状态是可回退的,这种方法可能不适用,具体情况根据业务而定。...
2021-06-12 15:51:33
1799
原创 计算机网络之二:物理层
文章目录一、物理层基本概念二、数据通信2.1、三种通信方式2.2、串行传输&并行传输2.3、同步传输&异步传输2.4、码元一、物理层基本概念物理层解决如何在连接各种计算机的传输媒体上传输比特流,而不是指传输媒体。主要任务:确定与传输媒体接口相关的机械特性、电气特性、功能特性与规程特性。二、数据通信2.1、三种通信方式单工通信:只有一个方向的通信而没有反方向的交互,仅需要一条信道。如广播等。半双工/双向交替通讯:通信双方都可以发送或接收消息,但同一时刻只有有一方进行发送(接
2021-06-08 22:34:44
515
5
原创 剑指Offer:剪绳子(五)
题目描述给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。注:2 <= n <= 58示例1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1来源:力扣Leetcode解题方法/** * @
2021-06-07 14:27:40
74
原创 剑指Offer:二进制中1的个数(四)
题目描述请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00001011输出:3解释:输入的二进制串 00001011 中,共有三位为 '1'。来源:力扣Leetcode解法/** * @author IT00ZYQ * @date 2021/6/6 22:37 **/public class 二进制中1的个数 { /**
2021-06-06 22:49:36
51
原创 两个线程交替打印数字和字母,输出1A2B3C4D...
文章目录一、问题描述二、3种解决方法2.1、synchronized与wait/notify2.2、LockSupport与park/unpark2.3、ReentrantLock与await/singal一、问题描述实现一个程序,两个线程交替打印数字和字母,输出1A2B3C4D…,必须先打印数字。正确输出结果:1A2B3C4D5E6F7G8H二、3种解决方法2.1、synchronized与wait/notifyimport java.util.concurrent.atomic.Atomi
2021-05-31 21:57:53
935
原创 剑指Offer:只出现一次的数(三)
题目描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31来源:力扣Leetcode两种解题方法...
2021-05-31 19:33:24
59
1
搭建nacos集群所需文件.zip
2021-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人