自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小神仙的博客

wish you happy everyday

  • 博客(142)
  • 收藏
  • 关注

原创 侯捷C++视频资源全集 | 百度网盘下载

之前给群里的小伙伴推荐了侯捷老师, 结果他学着学着发现b站侯捷老师的视频都被下掉了。让我想起了我当年学c++的时候在b站看候捷老师视频的那些日子,每多看一点,就会多一点恍然大悟的感觉哈哈。辛亏我的百度云盘有一份资源。基本都比较全了 :侯捷C++ 标准 11 -14侯捷STL 和 泛型编程侯捷C++ 内存管理侯捷C++面向对象高级开发侯捷STL与泛型编程在这里分享给大家,为...

2021-01-25 09:37:34 5388 3

原创 异步任务&定时任务

SpringBoot 学习异步任务核心注解在需要设置异步任务的方法上面添加注解@Async在SpringBoot的启动类上面增加注解 @EnableAsync代码demo异步服务提供类/** * @author echoqian * @date 2020/4/13 11:07 下午 */@Componentpublic class CaculateHandl...

2020-04-13 23:35:32 1010 1

原创 JUC

JUC 并发编程 + 底层原理文章目录JUC 并发编程 + 底层原理1、什么是JUC(重要)2、进程和线程回顾3、Lock锁4、生产者和消费者(高频)注意,一定要是JDK1.8、IDE 一定要设置1、什么是JUC(重要)java.util.concurrent在并发编程中使用的工具类2、进程和线程回顾进程 / 线程是什么?进程:是并发执行的程序在执行过程中分配和管理资源的...

2020-03-04 00:50:40 894 1

原创 虚函数指针 虚函数表

虚函数指针和虚函数表1.虚函数的含义只有用virtual声明类的成员函数,称之为虚函数。2.虚函数的作用就是一句话:实现多态的基石实现多态的三大步:1.存在继承关系 子类继承父类2.子类重写父类的virtual function3.子类以父类的指针或者是引用的身份出现3.虚函数的实现原理 多态的实现原理相信很多人都能说出来其中实现关键原理,就是两点:虚函数表指针(vptr),虚...

2020-02-04 14:02:42 3730 1

原创 函数重载的原理

函数重载是什么?在相同作用域中的多个函数,具有相同的名字而形参表不同。。编译器会根据调用参数的不一样来选择函数。这个也叫做编译时的多态。重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。先看一个demo#include<iostream&...

2020-01-17 23:33:25 1515

原创 jvm原理 jvm构成 gc垃圾回收

JVM文章目录JVMJVM是什么?JVM怎么实现跨平台的?浅谈JRE JDKJVM的位置JVM的构成运行时数据区栈堆方法区程序计数器本地方法栈类加载机制什么是类加载机制?类加载器双亲委派机制JVM调优JVM的生命周期GC垃圾回收机制垃圾回收的原因GC常见算法可达性分析算法标记清除算法复制算法标记整理算法终极算法 ( 分代收集算法 )JVM是什么?​ JVM是Java Virtual Ma...

2020-01-11 13:46:50 405

原创 VSCode配置C/C++环境

把VSCode配置成C/C++开发IDE一. MinGW安装安装下载地址https://sourceforge.net/projects/mingw/files/latest/download1 下载一个名为mingw-get-setup.exe的安装文件 下载成功之后 打开安装2 install 之后选择安装路径 默认安装路径为C:\MinGW,我习惯安装在D盘下3 点击co...

2020-01-09 23:26:25 33640 67

原创 Spring

Spring什么是SpringSpring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给...

2019-10-17 21:03:23 208

原创 数据库之联合查询

数据库之联合查询联合查询: 将多次查询(多条select语句),在记录上进行拼接(字段不会增加)基本语法多条select语句构成: 每一条select语句获取的字段数必须严格一致(但是字段类型无关)select 语句1unionselect 语句2Union选项 : 与select选项一样有两个All:保留全部(不管重复)Distinct:去重(整个重复):默认的mysq...

2019-10-17 11:15:26 1795

原创 数据库之连接查询

数据库之连接查询什么是连接查询?连接查询: 将多张表(可以大于两张)进行记录的连接(按照某个指定的条件进行数据的拼接);最终的结果是:记录数有可能变化,字段数 一定会增加(至少是两张表的合并)为什么需要连接查询?在用户查看数据的时候,数据来源于多张表而不是一张表。连接查询分类sql将连接查询分为四类:内连接,外连接,自然连接和交叉连接。交叉连接交叉连接 cross join,从一...

2019-10-17 11:13:48 691

转载 数据库实体关系

原文链接https://blog.csdn.net/u012234452/article/details/78324727数据库实体关系数据库实体间有三种关联关系:一对一,一对多,多对多。一对一实例:一个学生只有个身份证编号。一对多实例:一个班级有多个学生。多对多实例:多对多就是双向一对多,一个学生可以选择多门课,一门课也有多名学生。一对一关系处理我们需要建立学生表来存放学生的...

2019-10-16 10:21:42 2832

原创 索引

索引索引是什么​ 索引是一种为了加快数据库查询的一种数据结构,是由一系列的存储在电脑磁盘上面的索引项构成的。索引做什么用海量数据为什么查询慢?我们知道数据查询耗时是因为海量数据存储在磁盘当中,如果我们遍历查找,那么相当于要进行很多次的io操作,而io操作是非常浪费时间的。基于内存的查找实际上是比较快的。​ 在数据量十分庞大的时候,为了提高数据的查询速度,对于海量的数据查询,我...

2019-10-10 21:51:07 293

原创 Mybatis

MybatisMyBatis是什么?MyBatis用来做什么?​ 使用mybatis当然是取代JDBC来操作数据库啦。​ 因为mybatis是基于JDBC实现的,所以mybatis的销量是低于JDBC的。QUICKSTART环境搭建 数据库建表创建数据库:CREATE DATABASE echotest;创建表:DROP TABLE IF EXISTS tb_u...

2019-09-29 19:47:35 4897 2

原创 虚函数揭秘

虚函数揭秘虚函数是什么?​ 虚函数就是在类中定义的加了关键字virtual的函数,我们知道在类中定义普通函数,四大函数并不会影响类的大小。​ 那么我们来看下在空类中定义一个虚函数会不会影响类的大小? #include<iostream> using namespace std; class Base{ // 虚函数就是加了关键字的函数 ...

2019-09-20 19:57:08 237

原创 c++对象揭秘

c++对象对象的大小常规​ 初学c++的时候,我们经常对类实际的大小感到困惑,当类中即有成员和函数的时候,这个类的大小到底是多大呢?我们可以使用sizeof来查看​ 类对象的大小。 #include<iostream> #include<stdio.h> using namespace std; class B{ priva...

2019-09-19 17:15:55 242

原创 Jsp

Jsp简介Jsp用来干什么?​ 用来写动态web页面,返回给用户资源Jsp是什么?​ Jsp的本质是Servlet对象,用于写web的动态页面,访问jsp页面的时候实际上是在访问一个Servlet,Tomcat会把jsp文件编译成员一个xxx_jsp.java我们打开这个文件看下会发现这个文件的本质是一个Servlet,是由Tomcat生成的,而页面的返回内容是通过write方法返回给...

2019-09-19 11:07:52 391

原创 Session&Cookie

Session&Cookie会话一次会话中存在多次请求和响应浏览器第一次给服务器发送资源,回话建立,可以访问多次资源,服务器或者浏览器关闭,会话结束。目前存在两种会话技术客户端会话技术 cocokie服务器端会话技术 SessionCookie简介将数据保存在客户端客户端再次请求服务器的时候携带上信息原理基于响应头set-cookie和请求头cook...

2019-09-17 16:50:54 151

原创 JDBC

JDBC什么是JDBC?​ jdbc意思就是java连接数据库,Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。”常用的接口driver接口/...

2019-09-16 16:29:21 185

原创 ServletContext

ServletContext概念代表整个web应用,可以和程序的容器(服务器)来通信,一个web应用对应一个ServletContext功能可以实现和容器通信可以让各个Servlet互相通信,共享数据获取MIME类型MIME类型:在互联网通信过程中的定义的文件数据类型格式 大文件/小文件 例如 text/html image/jpeg获取文件的真实路径(服务器路...

2019-09-11 00:01:16 149

原创 注解

注解注解用来完整的表述程序所需要的信息,无法用Java来表达的。注解的使用方式和修饰符的使用方式差不多Java内置的三种标准注解Override重写Deprecated被弃用的SuppressWarnings关闭当前不当的编译器警告带参数四种元注解​ 元注解的作用就是用来注解其他的注解Target 常用用来定义你的注解可以应用在什么地方(...

2019-09-10 15:57:44 135

原创 JavaWeb学习

JavaWebweb相关概念web容器所有的程序运行都需要有一个必要的运行环境。这个环境可以是软件,也可以是硬件,或者是软件和硬件的结合。比如说Windows操作系统需要运行在硬件基础上;Office软件需要运行在操作系统上。并且程序与运行环境之间会有一定的数据交换,比如操作系统会将运行指令传递给硬件,硬件也会将指令运行结果传递给操作系统。Java Web程序也需要一个运行环境才能够执行。...

2019-09-09 17:58:28 162

原创 docker网络模式

Docker的网络模式docker主要有四种网络模式host模式container模式brige模式none模式在介绍四种网络模式之前,先介绍一下docker的隔离技术,docker是通过namespace来做隔离的,Docker容器是借助系统内核来进行安全性的隔离。即是通过namespace进行隔离、cgroup进行资源限制、capability进行权限限制。docker基于l...

2019-01-14 20:39:00 603

原创 go语言之goroute

goroute协程进程和线程进程是系统进行资源分配和调度的基本单位,线程是cpu调度和发派的基本单位,一个进程可以创建和撤销多个线程并发和并行多线程程序在一个核的cpu上面运行,是并发多线程程序在多个核的cpu上面运行,这是并行协程和线程协程 : 独立的栈空间,共享的堆内存,调度由用户自己控制,本质上有点类似于用户级的线程,这些用户级线程的调度是自己来实现的。线程:一个线程可以跑多...

2019-01-08 17:34:12 2923

原创 go语言学习之JSON数据

Json序列化和反序列化序列化 将数据转换成为json格式的包“encoding/json”结构体的序列化package mainimport ( "fmt" "encoding/json")type User struct{ Username string Nickname string Age int Birth string Sex int Email str...

2019-01-07 19:45:32 213

原创 go语言之文件读写

终端读写操作终端相关文件操作句柄终端名称os.Stdin标准输入os.Stdout标准输出os.Stderr标准错误如下面将在终端打印出hello worldpackage mainimport( &quot;fmt&quot; &quot;os&quot;)func main() { fmt.Fprintf(os.Stdout,&quo

2019-01-07 14:51:31 358 1

原创 go语言之反射

反射反射可以支持 不知道对象的类信息下访问类的方法和属性再举个常见例子,我和你编写同一个动物园软件,分开写不同模块,你负责写饲养员部分,我负责写动物模块,我会传给你一个动物对象,你负责调教好它,我们事先完全解耦,写作过程中也完全没有沟通,我传给你一个黑盒子对象你只能自己用反射摸索,比如你查询我传给你的对象有哪些方法:你发现有一个“飞”方法,那你可能在养一只鸟,这时你可以调用这个方法让它飞一飞,...

2019-01-04 14:28:14 252

原创 go语言之interface

参考文章https://studygolang.com/articles/2652接口 interfaceinterface 类型可以定义一组方法,但是这些不需要实现,并且interface不能包含任何的变量 提供了规范 类似于c++里面的虚函数。定义方法//接口 type example interface{ //方法 method1(参数列表...

2019-01-02 20:53:17 425

原创 基本的排序算法

冒泡排序算法#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;void bubble(int arr[],int length){ for(int i = 0; i&amp;amp;amp;lt;length; i++) { if(arr[i] &amp;amp;amp;gt; arr[i+1]) { int temp = arr[i];

2018-12-16 20:41:57 111

原创 海量数据处理方法

Hash定义举例说明应用Bit Map数据库索引双层桶倒排索引案例:上千万数据,统计出现次数最多的前N个数据,分两种情况,可以一次性的读入内存,不可以一次性读入内存。...

2018-12-12 16:51:22 254

原创 常见的数据结构

栈定义 栈是指限制在表尾进行删除和增加的线性表。线性表是指有序的元素的序列,第一个元素无前驱,最后一个元素没有后继,中间的元素有并且只有一个前驱和后继。线性表分为链式存储的和顺序存储两种来实现。数据结构是怎么实现的顺序存储:用数组来实现#include&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;usin

2018-12-11 11:46:38 142

原创 c++11的新特性

c++11里面有很多的新特性,之前在项目代码中也使用过很多次,但是没有系统的整理过,在这里整理一下我特别喜欢的一些c++11的新特性,这些也是我使用频率比较高的特性嘿嘿!auto表达式我一般在容器迭代的时候使用auto,这样就不需要定义迭代器的类型。for(auto it = vec.begin(); it != vec.end(); it++){ cout&amp;amp;lt;&amp;amp;lt;*it&amp;amp;lt...

2018-12-10 13:26:05 302

原创 合并两个数组

合并两个数组vector #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; #include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt; #include&amp;amp;amp;lt;vector&amp;amp;amp;gt; using namespace std; int main()

2018-11-20 17:00:53 567

原创 每天一个LINUX命令

每天一个linux命令(1)搜索命令grep命令grep -A 参数 后面跟行数n除了显示符合范本样式的那一行之外,并显示该行之后的内容例如下面这个命令就是查找当前目录下面的.cpp文件并且过滤出iostream这一行,并且打印出后面五行。[echoqian@bj-develop-01 shell]$ grep -A 5 iostream ./*cpp./cherry.cpp...

2018-11-07 15:18:20 280

原创 Tars开发框架

Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。Tars是将腾讯内部使用的微服务架构TAF(Total Application Framework)多年的实践成果总结而成的开源项目。Tars这个名字来自星际穿越电影人机器人Tars, 电影中Tars有着非常友好的交互方式,任何初次接触它...

2018-07-23 14:14:10 6490

原创 linu自带的锁

有一次面试,面试官问linux自带的锁有哪些知道么?发现自己知道一些锁,例如读写锁,互斥锁,但是居然分不清是不是属于linux下的锁还是不是的,而且居然也说不出更多的锁机制,汗颜~~~下面整理了一些linux自己带的锁自旋锁等待的线程需要不断查询,旋转的等资源被上一个线程释放。读写自旋锁这样可以实现多个进程读,只要没有写操作的时候。信号量计数信号量二值信号量 信号量上...

2018-07-06 19:25:22 189

原创 读写锁

读写锁读写锁的概念Pthread是 POSIX threads 的简称,是POSIX的线程标准。pthread读写锁把对共享资源的访问者分为读者和写者,读者只对共享资源进行读访问,写者只对共享资源进行写操作。在互斥机制,读者和写者都需要独立独占互斥量以独占共享资源,在读写锁机制下,允许同时有多个读者读访问共享资源,只有写者才需要独占资源。相比互斥机制,读写机制由于允许多个读者同时...

2018-07-02 21:33:05 758

原创 keepalived

keepalived的概念Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。实现的机制Keepalived使...

2018-06-28 15:58:34 190

原创 Valgrind使用说明

你以为你知道了 其实你什么都不知道 Valgrind工具使用

2018-06-20 21:40:51 159

原创 《将博客搬至简书》

因为某一些原因,打算把博客都搬家到简书平台,对此带来的不便,请谅解

2018-06-17 19:53:00 782 1

原创 map的count和find,map和unordered_map

使用count,返回的是被查找元素的个数。如果有,返回1;否则,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。使用find,返回的是被查找元素的位置,没有则返回map.end()。...

2018-06-13 20:09:05 16702

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除