- 博客(22)
- 收藏
- 关注
原创 Tomcat启动过程详解
Tomcat服务器是一个免费的开源源代码的Web应用服务,属于轻量级应用服务器。基于Java的Web 应用程序是 servlet、JSP 页面、静态页面、类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器(诸如tomcat)。Tomcat内部组成:Tomcat请求过程:http://localhost:8080/hello/test.js...
2019-11-05 18:33:08 668
原创 @Autowired和@Resourse区别
二者都是用来装配Bean的。@Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false。 @Resource默认按名称装配,当找不到与名称匹配的bean时才按照类型进行装配。名称可以通过name属性指定,如果没有指定name属性,当注解写在字段上时,默认取字段名,当注解写在setter方法上时,默认取属性名进行装...
2019-11-04 16:59:03 981
原创 计算机网络-Telnet协议详解
概念:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。用户必须知道远程主机的Ip地址或域名,及远程主机用户名安全隐患:明文传输本地主...
2019-10-13 17:13:12 2328
原创 计算机网络-HTTP协议原理详解
http协议特性:无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。http1...
2019-10-13 15:54:12 399
原创 计算机网络各层对应协议及概念
计算机网络TCP/IP各层对应协议:计算机网络OSI七层:1. 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用2. 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密3. 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机 制,如服务器验证用户登录便是由会话层完成的4. 传输层(段):实现网络不同主机上用户进程...
2019-10-13 14:30:53 2307
原创 MySQL数据库实现读写分离原理
使用场景:建议一般在读远远多于写,且读的时候一般对数据时效性要求没那么高的时候采用。从DB了解我们MySQL数据库读写分离使用的是MySQl自带的replication。MySQL自带2种同步方法,一种异步同步方法,另一种是半同步。我们现在使用半同步(DB说)。半同步:主库写入binlog日志后,就会强制此时立即将数据同步到从库,从库将日志写入自己本地的relay log后,会返回一...
2019-07-26 16:40:25 719
原创 ZooKeeper集群原理
一,底层数据结构ZooKeeper维护类似一个文件系统的数据结构:树结构的文件系统。每个节点有四部分组成:data: Znode存储的数据信息 ACL:记录Znode的访问权限 stat:Znode的各种元数据,比如事务ID,版本号。 child: 当前节点的子节点引用二,通知机制(Watch)我们可以把Watch理解成是注册在特定的Znode上的触发器,当这个Z...
2019-07-01 23:32:33 320
原创 Redis实现与设计 Redis之AOF持久化
除了RDB持久化,Redis还提供AOF持久化功能。RDB持久化是通过保存数据库状态,而AOF持久化是通过保存Redis服务器的写命令来记录数据库状态。一,AOF持久化的实现:AOF持久化功能的实现可以分为三步:命令追加,文件写入,文件同步。命令追加(append) 当AOF持久化功能处于打开状态时,服务器在执行一次写命令之后,会以协议格式将被执行的写命...
2019-06-30 23:53:48 177 1
原创 Redis实现与设计 Redis之RDB持久化
因为Redis是内存数据库,它将自己的数据库存储在内存中,如果一旦服务器宕机或者二断电 断网,会导致数据丢失。所以我们要把Redis数据库存储磁盘中。所以Redis推出RDB持久化功能。该功能是将Redis中某个时间点的数据库保存在RDB文件中,该文件是经过压缩的二进制文件,通过此文件可以还原数据库状态。一,RDB文件的创建和载入:Redis中提供2个命令来生成RDB文件:SAVE和BGS...
2019-06-30 13:04:31 130
转载 RabbitMQ之实现延迟队列
在现在的APP上基本都会用到这个延迟队列的思想。应用场景:某团,某了么下订单未支付,一般30分钟没有支付,自动取消订单。 某app注册账号通过手机号注册,信息验证码 当验证码过一分钟,则取消该验证码的使用。RabbitMQ实现延迟队列需要通过2个重要概念:消息的TTL和死信Exchange。 1.消息的TTL(Time To Live)RabbitMQ设置消息过期时...
2019-06-28 16:22:57 179
原创 消息中间件RabbitMQ之如何避免消息丢失
为了保证我们自己系统高可用,我们必须作出更好完善措施,保证系统的稳定性。不能让我们的RabbitMq消息丢失。一.消息持久化:RabbitMQ 的消息默认存放在内存上面,如果不特别声明设置,消息不会持久化保存到硬盘上面的,如果节点重启或者意外crash掉,消息就会丢失。需要做到消息持久化,以下三个条件缺一不可。Exchange设置持久化: channel.exchangeDecla...
2019-06-27 20:40:34 1152
原创 消息中间件RabbitMQ知识点
1.rabbitmq 的使用场景有哪些?解耦 削峰 异步处理 分布式应用之间的通信2. rabbitmq 有哪些重要的角色?生产者 消费者 代理3. rabbitmq 有哪些重要的组件?Connection: Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。 Channel:Channel是我们与RabbitMQ打交...
2019-06-25 21:26:51 353
原创 数据结构——单链表
为什么我们要引入无头单链表?还记得我们顺序表吗?顺序表的插入和删出的时间复杂度都是O(n)我们要把他的时间复杂度缩短,就引入单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。它的数据是以结点(类型一般为结构体)来表示的,每个结点的构成:数据(类型为要存储的数据的类型) + 指针(结构体指针),数据就是链表里具体要存储的东西,指针就是用来把每个节点都连接起来,使...
2018-06-15 16:36:18 273
原创 数据结构——动态顺序表
大家有没有发现上次静态顺序表有一定的缺陷,它会浪费很多的空间,比如我们只有10个元素但我们申请元素申请100个,这样我们会浪费90个空间,而动态顺序表我们插入多少个我们就申请多少个,大大的节省了我们大的空间。首先我们来看看动态顺序表的结构:typedef struct deqlist{ Datatype *array; int size; int capacity;}Deqlist;si...
2018-06-14 17:26:02 484
原创 数据结构初级——静态顺序表
首先我们谈谈数据结构的重要性:如果说 Java 是自动档轿车,C 就是手动档吉普。数据结构呢?是变速箱的工作原理。你完全可以不知道变速箱怎样工作,就把自动档的车子从 A 开到 B,而且未必就比懂得的人慢。写程序这件事,和开车一样,经验可以起到很大作用,但如果你不知道底层是怎么工作的,就永远只能开车,既不会修车,也不能造车。程序员与程序员的不同水平在于数据结构与算法。虽然java有自己一种集合类,不...
2018-06-14 16:49:51 210
原创 单级VO
import java.lang.reflect.Field;import java.lang.reflect.Method;import javax.imageio.ImageTypeSpecifier;class Emp{ private String name; private String job; public String getName() { return name; } p...
2018-05-15 15:47:26 256
原创 java实现双向链表
package project4;import javax.print.attribute.standard.PrinterMessageFromOperator;import javax.xml.soap.Node;interface Link{ void add(Object obj); boolean remove(int index); boolean set(int index,Obje...
2018-04-19 20:31:24 227 1
原创 简单游戏扫雷
#include <stdio.h>#include <time.h>#include <stdlib.h>#define ROW 11#define COL 11#define TEN 10void umue(){ printf("****************************************\n"); printf("*********1....
2018-04-19 20:29:20 120
原创 简单游戏三子棋
#include <stdio.h>#include <stdlib.h>#include <time.h>#define ROW 3#define COL 3void umue(){ printf("************************************\n"); printf("******1.paly ****** 0.exit*...
2018-04-19 20:27:28 164
原创 动态顺序表
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>typedef int Datatype;#define SIZE__ 10typedef struct deqlist{ Dataty...
2018-04-19 20:25:15 121
原创 用栈解决括号匹配问题
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef char DataType;#define _capacity 100// 底层空间的总大小typedef struct Stack{ DataType _array[_...
2018-04-19 20:22:30 2572
原创 单链表的基本应用及面试题及复杂链表
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int DataType;typedef struct Node1{ struct Node1*next; struct Node1*random; DataType d...
2018-04-19 20:20:52 120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人