- 博客(20)
- 收藏
- 关注
原创 Redis的持久化方案
Redis的持久化方案 由于本人之前项目主要使用redis进行业务场景的设计,并且也涉及到了redis的持久化方案。特此写这篇文章来归纳总结。由于之前有对Redis的大体介绍,因此在此对Redis的其他问题不做过多的研究,本篇文章专注于对于Redis持久化方案的研讨。一、Redis的持久化简介 顾名思义,就是将Redis中存的数据存在磁盘当中。这样的好处是当Redis宕机时,就不再需要去数据库中读取数据存入Redis中了,就只需要加载持久化文件即可。除此之外,再部署Redis集群的时候,从机也是通
2022-01-27 20:48:33
1631
原创 Netty学习路线
Netty学习路线很早就说要写关于Netty的博客了,如今他来了他来了!!!第一章 Netty入门1.1 Netty的概述1.1.1 Netty简介官网中的解释:Netty是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。(王婆卖瓜自卖自夸)1.1.2 谁在使用Netty?Dubbo、zk、RocketMQ、ElasticSearch、Spring5(对HTTP协议的实现)、GRPC、Spark等大型开源项目都在使用Netty作为底层通讯框架1.1.3 Ne
2021-11-26 13:51:03
652
3
原创 Redis学习笔记
Redis学习笔记一、NoSQL数据库简介二、redis6概述和安装 与memcache的不同点memcache支持单一数据类型 redis支持多种数据类型memcache不支持持久化 redis支持持久化memcache采取多线程+锁的机制 redis采用单线程+io多路复用三、常用五大数据类型1. Redis 字符串String是Redis最基本的类型 是二进制安全的 value最多512Mincrby decrby 命令具有原子性,不会被线程调度机制打断。(将val增加或
2021-11-16 12:55:15
864
原创 MySQL引擎篇——InnoDB yyds!!!
MySQL引擎篇——InnoDB yyds!!! MySQL应该是任何技术类岗位面试必问的内容之一,对此,理清MySQL的内部原理成为了我们所必需要掌握的一项技能。该文主要聚焦于MySQL的服务端进行对MySQL的深度解析,希望会对各位深度理解MySQL有所帮助! MySQL所默认的索引是InnoDB,本文就InnoDB进行了深入的阐述。1、InnoDB架构图 由上图可见,InnoDB架构分为内存文件和磁盘文件。其中磁盘文件分为表空间文件和Redo Log文件。其中表空间中重点的是系统表空间
2021-09-29 00:11:26
746
1
原创 中间件学习笔记——ElasticSearch
文章目录一、什么是全文索引二、ElasticSearch简介概述三、IK分词器简介四、Kibana使用-掌握DSL语句简介Spring Data一、什么是全文索引 我们在浏览各种网页的情况下,无不例外需要涉及到搜索的需求。然而像淘宝、京东这类的大流量公司,存储的数据量达到上亿的情况下。若还是编写select语句去查询每一条记录,老板早就把你开了。在高数据量的情况下,要实现快速,哦不,迅速查询的需求,我们就要使用到全文索引。二、ElasticSearch简介概述 Elasticsearch
2021-08-03 19:47:01
994
原创 消息中间件学习笔记——RabbitMQ
文章目录一、消息中间件概述二、消息中间件(MQ)的优劣(1).MQ的优势(2).MQ的劣势系统可用性降低系统复杂度提高一致性问题三、常见的MQ产品四、RabbitMQ中的概念五、如何实现RabbitMQ的延迟对列一、消息中间件概述 通过下图我们就可以很好理解消息中间件的概念。二、消息中间件(MQ)的优劣(1).MQ的优势应用解耦任务异步处理削峰填谷(2).MQ的劣势系统可用性降低 系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响
2021-08-02 20:42:26
537
原创 Nginx学习笔记
Nginx文章目录Nginx一、Nginx的应用场景二、Nginx反向代理与负载均衡1、什么是反向代理2、负载均衡三、Nginx跨域问题四、Nginx在高并发场景中的应用五、Nginx挂了怎么办?一、Nginx的应用场景 Nginx能支撑五万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。那么如此强大的一个服务器,我们可以拿来做什么呢?http 服务器。Nginx 是⼀个 http 服务可以独⽴提供 http 服务。可以做⽹⻚静态服务器。虚拟主机。可以实现在⼀台服务器虚拟出多个
2021-07-30 18:06:18
865
1
原创 微服务——Dubbo学习
Dubbo & Zookeeper为什么要学习Dubbo?dubbo的架构服务注册中心Zookeeper配置中产生的一些思考思考一思考二思考三踩坑????为什么要学习Dubbo? 有人说微服务已经有Spring Cloud可以实现,那么我们为什么要学习Dubbo呢?为了卷,啊不,dubbo框架使用了RPC传输协议,相比于Spring Cloud的HTTP传输协议,不会造成消息封装的臃肿。从而使得dubbo的网络消耗小于Spring Cloud,从而节约一些成本。(其实好像造成不了什么影响,但
2021-07-23 17:20:51
843
原创 微服务——Spring Cloud学习
为什么要学习Spring Cloud? 在项目开发中随着业务越来越多,导致功能之间耦合性高、开发效率低、系统运行缓慢难以维护、不稳定。微服务架构可以解决这些问题,而Spring Cloud是微服务架构最流行的实现。并且Spring Cloud可以集成多种语言!!!这也成了学习Spring Cloud的重要理由之一。初识Spring Cloud Spring Cloud使用HTTP方式来实现服务间的调用。HTTP其实是一种网络传输协议,基于TCP,工作在应用层,规定了数据传输的格式。现在客户端浏览器
2021-07-22 20:58:44
505
原创 JAVA技术方向面试题-数据库(下)
文章目录五、Statement接口与PreparedStatement接口的区别?六、在进行数据库编程时,连接池有什么作用?七、事务的ACID是指什么?八、编写以下三条SQL语句五、Statement接口与PreparedStatement接口的区别?关系: PreparedStatement接口继承自Statement接口。区别:PreparedStatement提高了代码的可读性和可维护性。PreparedStatement使用占位符,容易理解,可读性强,而Statement使用字符串拼
2021-03-06 14:30:17
89
1
原创 JAVA技术方向面试题-数据库(上)
文章目录一、你怎么设计数据库?二、什么是数据库索引?索引的种类有哪些?三、什么情况下设置了索引但无法使用(什么情况下索引会失效)?四、说说对SQL语句优化有哪些方法?一、你怎么设计数据库?• 在需求分析阶段,设计数据库的一般步骤为:收集信息标识对象标识每个对象的属性标识对象之间的关系• 在概要设计阶段和详细设计阶段,设计数据库的步骤为:绘制E-R图将E-R图转换为表格应用三大范式规范化表格二、什么是数据库索引?索引的种类有哪些?索引是对数据库表中
2021-03-06 13:54:19
132
原创 JAVA技术方向面试题-核心类库(下)
文章目录六、进程和线程有什么区别?七、java当中如何实现线程呢?(1)继承Thread(2)实现Runnable八、说说线程的生命周期九、多线程并发或线程安全问题如何解决?十、synchronized和ReentrantLock的区别六、进程和线程有什么区别?根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立
2021-02-27 21:44:03
97
原创 JAVA技术方向面试题-核心类库(上)
文章目录一、数组(Array)和列表(ArrayList)有什么区别?二、ArrayList和Vector的区别三、HashMap,TreeMap,HashTable的区别?四、HashMap的工作原理是什么?五、什么是序列化,如何实现序列化?一、数组(Array)和列表(ArrayList)有什么区别?Array:它是数组,申明数组的时候就要初始化并确定长度,长度不可变,而且它只能存储同一类型的数据,比如申明为String类型的数组,那么它只能存储String类型数据ArrayList:它是一个集
2021-02-27 21:10:38
90
1
原创 JSON解析
文章目录一、JSON简介二、对象格式三、解析方法(一)、GSON(二)、FastJson一、JSON简介JSON: JavaScript Object Notation。JS对象简谱,是一种轻量级的数据交换格式。二、对象格式案例:一本书书名简介java class Book{ private String name; private String info; get/set... } Book b = new Book(); b.setName(“金苹果”);
2021-02-24 12:54:37
180
原创 多线程知识点整理
文章目录一、进程与线程1.进程2.线程3.线程与进程的区别二、同步与异步三、并发与并行四、多线程的创建方式五、线程的状态六、线程池一、进程与线程1.进程进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。2.线程线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,
2021-02-18 19:07:42
252
1
原创 JAVA技术方向面试题-OOP(下)
文章目录六、Java 中,Serializable 与 Externalizable 的区别?七、抽象类和接口有什么区别?八、String 和 StringBuilder、StringBuffer 的区别?九、阐述 final、finally、finalize 的区别。十、Java 中的异常处理机制的简单原理和应用。六、Java 中,Serializable 与 Externalizable 的区别?Serializable 接口是一个序列化 Java 类的接口,以便于它们可以在网络上传输或者可以将它
2021-01-30 15:59:43
90
原创 JAVA技术方向面试题-OOP(上)
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport
2021-01-30 15:23:26
81
原创 JAVA 技术方向面试题-Java 基础(下)
文章目录九、实现打印指定行数的空心菱形的功能十、题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。九、实现打印指定行数的空心菱形的功能代码如下://打印给定行数的空心菱形 int size = 7; if (size % 2 == 0){ //如果是偶数行变为奇数 size++; } //中心点:2*size -1 ,实现的关键在于找准中心点,下面以打印7行的空心菱形为例进行分析 .
2021-01-22 16:18:20
90
原创 JAVA 技术方向面试题-Java 基础(中)
文章目录六、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?七、float f=3.4;是否正确?八、手动实现一下冒泡排序(快速排序)1、冒泡排序2、快速排序六、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short
2021-01-22 16:00:46
86
原创 JAVA 技术方向面试题-Java 基础整理(上)
JAVA 技术方向面试题-Java 基础整理一、JVM、JRE 和 JDK 的关系1.区别2.联系二、什么是跨平台性?原理是什么?三、&和&&的区别?四、用最有效率的方法计算 2 乘以 8五、在没有使用临时变量的情况如何交换两个整数变量的值?文章目录一、JVM、JRE 和 JDK 的关系1.区别2.联系二、什么是跨平台性?原理是什么?三、&和&&的区别?四、用最有效率的方法计算 2 乘以 8五、在没有使用临时变量的情况如何交换两个整数变量的值?一、JVM
2021-01-21 14:41:36
107
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人