自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Redis

文章目录一、redis数据类型二、redis集群模式三、redis持久化四、redis淘汰策略五、redis执行流程六、redis事务七、redis与数据库一、redis数据类型stringhashlistsetzset二、redis集群模式主从结构哨兵模式Cluster模式三、redis持久化RDB(默认策略)AOF混合持久化四、redis淘汰策略noeviction(默认策略)allkeys-lruvolatile-lruallkeys-random

2021-10-20 14:50:52 107

原创 Java 并发

文章目录一、基础知识二、并发的三大原则三、同步方式四、线程安全的实现五、异步实现六、线程池七、其他框架一、基础知识Java内存模型CPU模型进程和线程二、并发的三大原则可见性原子性一致性三、同步方式volatilesynchroizedlock锁AQS四、线程安全的实现Atomic类Unsafe类hashmap、list、set线程安全版本五、异步实现实现方式六、线程池线程池种类线程池原理七、其他框架Forkjoin框架Disru

2021-10-11 11:53:18 103

原创 JVM GC管理

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport

2021-10-11 11:07:13 124

原创 JVM运行时内存管理

文章目录前言一、内存分配二、使用步骤1.引入库2.读入数据总结前言在成功加载了类的class对象之后,就可以进行内存分配以及运算,这其中运算的过程中就涉及到了运行时的内存管理一、内存分配示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as

2021-10-09 20:41:10 89

原创 JVM类加载

文章目录前言一、类编译机制二、类加载过程1.类加载器2.双亲委派机制作用前言Java项目启动时都会去执行main方法,因为main方法中包括了主要的逻辑代码,那么执行main方法之前都做了什么?一、类编译机制将一个.java文件经过词法分析、语法分析、语义分析等一系列操作最终生成对应的字节码文件(.class文件)的过程二、类加载过程将字节码文件(.class)文件加载到内存中,方便后面运行过程中实例化和进行运算步骤描述加载从磁盘中读取字节码文件(.class),并在

2021-10-08 21:23:45 75

原创 面试题:JVM主要组成部分?简单描述下其作用?

答案:类加载部分,包括创建对象的具体流程内存管理部分,主要负责内存分配和运行时内存管理GC部分,内存中垃圾回收的流程控制字节码执行引擎部分,包括了class文件结构和解析编译的流程...

2021-10-08 16:54:29 116

原创 搜索引擎(简化版)-分析总结

整体思路访问网址,进入首页,输入搜索内容。HTTP服务器接收到HTTP响应,解析取出其中的搜索内容。将搜索内容传输给CGI程序,既搜索客户端。由搜索客户端将搜索内容构造成一个请求,发送给搜索服务器。搜索服务器将请求解析,将搜索内容进行分词和查询。将搜索内容的分词结果进行倒排查询并排序。将倒排查询到到的数据进行正排查询,查询到每个文章的内容。将结果进行封装,使之构成一个网页。由...

2018-08-21 16:08:32 1228

原创 个人简历管理-总结

源码:链接:https://github.com/magicrex/cuddly-spoon 总结:整个程序主要是由C/C++编写,html网页部分基本是参考开源框架的开发手册,然后进行组合构成。整个程序比较适合学C++的同学进行参考学习,可以深入学习HTTP协议,还可以拓展学习一些前端的知识,整个程序中最基础的就是先要去了解关于网络的知识。了解TCP协议族,然后是HTPP的请...

2018-08-08 14:25:00 1578

原创 Linux小问题集合

小问题说的就是不会造成多大危害,所以很难留下深刻记忆,所以很容易遗忘 ,但每次出现又要大费周章的去查,所以记录下来。希望对刷到这文章的人有所帮助。su:鉴定故障原因: 解决方法:...

2018-05-26 15:40:59 238

原创 C++中STL容器vector的使用

vetctor的定义

2018-05-25 19:39:41 10331

原创 STL容器Set的使用

首先了解一下set,我们所知道的set是STL中的一个容器,但是set实质上也是有不同的版本,我们最根本的划分就是根据其底层实现分别是红黑树和hash表分为两种,首先这两种结构最本质的区别就是有序和无序,红黑树的存储是有序的而hash表是无序存储,但它并不影响set的最主要的用法就是查找,而从查找角度来说hash表是更优于红黑树,从时间复杂度进行分析,红黑树的时间复杂度为O(logN),而hash表

2017-11-19 14:33:30 1654

原创 List的使用

关于vector的介绍可以分为成员类型、迭代器、元素访问、构造函数、堆栈操作、表操作、大小和容量、协助函数、以及vector等许多方面,但是本次主要写的是关于如何使用vector。 1.每次使用vector时需要包含vector的头文件,在定义一个vector时我们会传一个参数类型,比如int、char等内部类型,也可以是自定义类型,但是我们需要知道的是其实vector的模板是有两个参数的,如图:

2017-10-01 20:59:11 243

原创 智能指针

1.智能指针的发展历史 智能指针的产生:在c语言中存在自动回收机制,而在C++中并没有这个机制程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。所以有人根据RAII的思想(RAII:维基百科的解释RAII要求,资源的有效期与持有资源的对象的生命周期严格绑定,即由对象

2017-09-27 14:23:35 189

原创 模板的分离编译

关于这个问题首先应该从出现问题的原因说起,如图: 一般来说我们通常会建立三个文件,一头文件用来声明所有接口,二就是函数的实现文件单独放一个文件有助于封装,三就是而是文件用来测试函数。正常函数可以成功,但是当该成模板函数时就会出现问题。 如图: 我们可以发现报错为链接错误,我们可以知道一个程序执行过程分为预处理,编译,汇编,链接四部分。 1.预处理主要就是进行头文件的展开和宏替换。

2017-09-15 22:06:45 230

原创 多态的对象模型

首先,我们要知道构成多态的必要条件有两个: 1.在继承过程中进行虚函数的重写。 2.父类的引用或指针调用虚函数。 下面是一个比较简单的多态class father{public: virtual void Display() { cout << "father::Display()" << endl; };};class son : public

2017-09-09 16:58:04 243

原创 拷贝函数的优化面试题

C++对拷贝构造函和赋值预算符之间的优化通过一道简单的题目来理解这个知识: Test1中调用了次AA的拷贝构造函数,次AA的赋值运算符函数的重载。 Test2中调用了次AA的拷贝构造函数,次AA的赋值运算符函数的重载。 Test3中调用了次AA的拷贝构造函数,次AA的赋值运算符函数的重载。 class AA {}; AA::AA f (AA a) { return a ; }

2017-07-23 10:15:48 315

原创 菱形继承

分析菱形继承的问题 C++的特性中最为重要的就是继承和多态,继承的作用比较多,比较重要的就是继承是对类的复用,它不仅在减少了程序开发者的速度,使得一些代码不用重复去写,更重要的就是继承就是一个建模的过程,这样会使程序开发者的思路更加清晰,同样会使程序更加有框架从而变得比较紧密。 继承就是一个新的类在已有类的基础上进行添加一些特有数据或函数从而构成一个包含已有类,但又不同的新类。已有的类

2017-07-21 20:38:36 258

原创 C++动态内存管理

1.malloc/free和new/delete之间关系和差异。相同点:都是用来管理动态内存的,必须成对出现,因为一个用于申请动态内存,一个用于释放内存。 不同点:malloc/free是C++/C语言的标准库函数,new/delete是c++的运算符,对于非内部数据类型的对象而言,只有malloc、free是无法满足动态对象的要求的。因为对象在创建的时候会自动调用构造函数,对象消亡时会自动调

2017-07-17 22:11:38 227

原创 类与对象

1.类与对象 C++中将对象的类型称为类,类代表了某一批对象的共性和特性,生活中每一个实体都是对象,而类就是对对象的抽象。其实这与生活十分相似,比如生活中我们为了方便简介对所有事物进行了分类,这样方便我们进行记忆和管理。C++中也是一样,我们通过将一些对象进行抽象,就是将其共性找出写作一个类,而每个对象之所以不同就是因为它们在拥有这些共性时,也具备自己的特性。所以说对象是类的特。2.访问限定符

2017-07-16 16:52:08 275

原创 单链表练习2

1.判断单链表是否带环?若带环,求环的长度?求环的入口点?单链表不同于数组的是它的每个节点是由一个数据和一个指针构成,然后通过指针来实现连接,并不是数组通过物理内存进行连接,所以单链表的尾节点可能指向任意位置,最常见的就是指向空,也存在可能它指向单链表中的某个节点,这就构成了一个循环,我们将这种现象形象的称为这个单链表有一个环,既然有环就存在如何求环的入口点及环的长度,因为这两个数据可以形象的描述一

2017-07-16 12:49:41 295

原创 c++入门

1.命名空间c语言中每个程序都要包含头文件,C++也不例外也需要包含头文件include<iostream>using namespace std;第一行比较好理解就是与C语言一样,包含一个标准的头文件来调用某些函数。第二行就是新加的,这句话的意思是使用命名空间std。首先来说什么是命名空间,所谓命名空间实际上就是一个由程序设计者自主命名的一个内存区域。其次命名空间的主要作用就是为了解决同名冲突问

2017-06-23 22:20:48 513

原创 单链表的练习

链表的练习—初级版1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?顺序表 优点 缺点 存储密度高 容易浪费内存 随机存取节点 插入删除效率低单链表 优点 缺点 插入删除效率高 访问效率低 节点动内存利用率高 适用场景 顺序表 单链表 数据量小,删除和插入工作量小的 数据量大,删除和插入比较频繁的2.从尾到头打印单链表 这

2017-06-23 18:36:19 225

空空如也

空空如也

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

TA关注的人

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