2021
04-27
04-27
c++ vector模拟实现的全过程
一、vector是什么?vector是表示可变大小数组的序列容器,它也采用连续存储空间来存储元素,因此可以采用下标对vector的元素进行访问,它的大小是动态改变的,vector使用动态分配数组来存储它的元素;二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素;2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针进行该操作。操供了在序列末尾相对快速地添加/删...
继续阅读 >
- 前言 -首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的实现方法有以下几种:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库。主库的职能是负责写,从库主要是负责读,可以建立读库集群,通过读写职能在数据源上的隔离达到减少读写冲突、 释压数据库负载、保护数据库的目的。在...
最近了解了下websocket和socket这个东西,说不得不来说下为何要使用WebSocket,和为何不用http。为何需要WebSocket?HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP协议无法实现服务器主动向客户端发起消息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数Web应...
背景:在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试,而在实际测试工作中,测试工具中实现不同数据输入的过程称为参数化设置。jmeter提供多种参数化设置的方式,常用的有:1、使用用户定义的变量元件实现2、使用用户参数元件实现3、使用函数助手实现4、使用CSV数据文件设置元件实现5、其它方式(数据库数据、beanshell等...
写完js倒计时,突然想用java实现倒计时,写了三种实现方式一:设置时长的倒计时;二:设置时间戳的倒计时;三:使用java.util.Timer类实现的时间戳倒计时代码如下:packagetimer;importjava.util.Calendar;importjava.util.Date;importjava.util.Timer;importjava.util.TimerTask;/***java演示倒计时**/publicclassTimeTest{publicstaticinttime=60*60*60;publicstaticCalendarc;publicstaticlong...
最近做浏览器界面倒计时,用js就实现,两种方式:一:设置时长,进行倒计时。比如考试时间等等代码如下:<html><head><metacharset="UTF-8"><title>简单时长倒计时</title><SCRIPTtype="text/javascript">varmaxtime=60*60;//一个小时,按秒计算,自己调整!functionCountDown(){if(maxtime>=0){minutes=Math.floor(maxtime/60);seconds=Math.floor(maxtime%60);...
分布式锁三种实现方式:一,基于数据库实现分布式锁1.悲观锁利用select…where…forupdate排他锁注意:其他附加功能与实现一基本一致,这里需要注意的是“wherename=lock”,name字段必须要走索引,否则会锁表。有些情况下,比如表不大,mysql优化器会不走这个索引,导致锁表问题。2.乐观锁所谓乐观锁与前边最大区别在于基于CAS思想,是不具有互斥性,不会产生锁等待而消耗资源,操作过程中认为不存在并发冲突,只有upd...
堆堆(heap)是计算机科学中一类特殊的数据结构的统称,通常是一个可以被看做一棵树的数组对象。堆{k1,k2,ki,…,kn}(ki<=k2i,ki<=k2i+1)|(ki>=k2i,ki>=k2i+1),(i=1,2,3,4...n/2)关于堆:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树(下面)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。完全二叉树说到堆排序,就不能不提完全二叉树,这些基本概念在网上...
1、Mybatis自定义配置的分析在我们自定义starter之前我们写了解一下Mybatis是如何实现starter在SpringBoot引入的依赖如下:<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.2</version></dependency>mybatis的maven依赖,主要涉及到的内容,spring.factories、MybatisAutoConfiguration、MybatisProperties我们来看一下META-INF/s...