- 博客(27)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 分布式消息通讯-Kafka(一)
https://my.oschina.net/u/3995125本章重点:1.Kafka产生背景2.Kafka的架构3.Kafka安装部署及集群部署4.Kafka的基本操作5.Kafka的应用Kafka的简介:高性能、高吞吐量,广泛应用在大数据传输场景,使用Scala语言编写,是Apache的顶级项目。Kafka产生的背景:作为消息系统,早期作为活动流和数据处...
2019-04-19 12:32:33
625
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 分布式消息通讯RabbitMQ工作模型
本章重点:1.三种主要的交换机介绍2.SpringBoot整合RabbitMQ三种交换机3.死信队列4.优先级队列和消息5.服务端流控6.消费端限流RabbitMQ的特性RabbitMQ使用Erlang语言编写,使用Mnesia数据库存储消息。1.可靠性(Reliability) RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认...
2019-04-19 12:30:42
411
原创 分布式消息通讯-RabbitMQ可靠性投递与生产实践
本章重点:可靠性投递1.确保消息发送到RabbitMQ服务器2.确保消息被正确的路由3.确保消息在队列正确地存储4.确保消息从队列正确地投递到消费者5.消费者回调6.补偿机制7.消息幂等性8.消息的顺序性可靠性投递首先需要明确,效率和可靠性是无法兼得的,如果要保证每一个环节都成功,势必会对消息的收发效率造成影响,如过是一些业务实时性要求不是特别高的场合,可以牺牲可...
2019-04-19 12:31:16
277
原创 分布式消息中间件 ActiveMQ-秒杀阿里面试
本章重点:1.消息发送源码分析2.消费端源码分析3.持久化存储支持的五种类型4.prefetchSize原理5.ActiveMQ优缺点及使用场景消息中间件产生背景:使用多线程可以实现异步化,并行处理数据; 使用MQ不仅满足多线程这些特点,因为它具有:异步,解耦,流量削峰,数据持久化存储,高性能,高可用,可伸缩特性,并且在弱一致性事务中,可以通过最大努力通知实现分...
2019-04-19 12:29:59
1131
原创 分布式消息通信 ActiveMQ 原理 分析二
本章重点:1. unconsumedMessage 源码分析 2. 消费端的 PrefetchSize 3. 消息的确认过程 4. 消息重发机制 5. ActiveMQ 多节点高性能方案消息消费流程图unconsumedMessages数据的获取过程那我们来看看 ActiveMQConnectionFactory. createConnection 里面做了什么 ...
2019-04-19 12:29:24
865
原创 分布式消息通信ActiveMQ原理 分析一
本章知识点:1. 持久化消息和非持久化消息的发送策略2. 消息的持久化方案及实践3. 消费端消费消息的原理 持久化消息与非持久化消息的发送策略消息同步发送和异步发送同步发送过程中,发送者发送一条消息会阻塞直到broker反馈一个确认消息,表示消息已经被broker处理,这个机制提供了消息地安全机制,但是由于是阻塞地,会影响到客户端发送消息地性能。 异步发送过程中...
2019-04-19 12:28:49
620
原创 分布式消息中间件-ActiveMQ
本章知识点:什么是消息中间件消息中间件能做什么AciiveMQ简介从JMS规范来了解ActiveMQJMS定义JMS体系结构消息传递域点对点消息传递域发布订阅消息传递域消息结构组成属性JMS API定义了5种消息体格式持久订阅J...
2019-04-19 12:28:08
283
原创 RDB和AOF两种持久化机制的介绍
1、RDB和AOF两种持久化机制的介绍2、RDB持久化机制的优点3、RDB持久化机制的缺点4、AOF持久化机制的优点5、AOF持久化机制的缺点6、RDB和AOF到底该如何选择我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的企业级redis集群架构:海量数据、高并发、高可用持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去比如你redis...
2018-11-22 19:43:37
196
原创 纯手写springmvc框架
我的 github代码地址:https://github.com/xuyuadmin/spring-mvc-ext-dispatchercontroller层:package com.xuyu.ext.springmvc.controller;import com.xuyu.ext.springmvc.exannotation.ExtController;import com....
2018-09-21 21:26:39
718
原创 java虚拟机之java发展历史
版本 描述 1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 1991年2月 放弃C++,开发新语言,命名为“Oak” 1991年6月 JamesGosling开发了Oak的解释器 19...
2018-09-13 21:28:06
291
原创 java虚拟机之对象在内存中的布局与对象创建
对象创建过程 给对象分配内存 方法一:指针碰撞:整理压缩方法二:空闲列表:CMS收集 线程安全性问题: 方案一:对分配的内存空间的动作进行同步处理。实际上虚拟机采用CAS配上失败重试方式保证跟新操作原子性。 对象的结构: Header(对象头) 自身运行时数据(哈希值,GC分代年龄,锁...
2018-09-13 21:26:23
134
原创 java虚拟机之java内存区域
Java内存区域 1、程序计数器:较小的内存空间,是当前线程所执行的字节码的行号指示器,线程独占区,如果执行的是Native方法,值为undefined.2、Java虚拟机栈:Java方法执行的动态内存模型。 栈桢:每个方法在执行同时会创建一个栈桢(用于存储局部变量表,操作数栈,动态链接,方法出口..)入栈到出栈的过程。 局部变量表:存放编译...
2018-09-13 21:24:10
179
翻译 纯手写ExtArrayList
package com.xuyuedu.arraylist;import java.util.Arrays;/** * 自定义ArrayList集合<br> * * @author Administrator * */@SuppressWarnings("all")public class ExtArrayList<E> implements Ex...
2018-08-11 17:32:18
171
翻译 纯手写ExtLinkedList
package com.xuyuedu;@SuppressWarnings("all")public class ExtLinkedList<E> { // 链表实际存储元素 private int size; // 第一个元素(头节点,为了查询开始) private Node first; // 最后一个元素(尾节点,为了添加开始) private Node ...
2018-08-11 17:29:18
117
原创 SpringIOC源码分析(基于源码思想手写个人SpringIOC容器)
什么是 IOC/DI?1.IOC:控制反转,将 bean的对象交给 spring容器来管理。2.DI:依赖注入,解决对象之间的依赖关系。springIOC结构体系 (1)BeanFactory:定义了 IOC容器的基本规范。--父接口 (2)ListableBeanFactory:表示这些bean是可列表的。--子接口1(3)HierarchicalBea...
2018-07-17 18:02:30
2303
转载 Linux环境下安装Mysql,Tomcat,jdk
Linux入门什么是LinuxLinux简介Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好...
2018-07-15 19:45:08
172
原创 NIO高级编程与Netty框架(基于分布式开源框架dubbo,Zookeeper,RocketMQ底层rpc通讯使用的netty框架)
NIO同步阻塞与同步非阻塞一:BIO与NIO区别: 本质就是阻塞和非阻塞的区别 阻塞概念:程序在获取网络数据时,网络延迟,会一直等待。直到传输完毕为止。 非阻塞概念:应用程序可以直接获取已经准备好的数据,无需等待。二:IO为同步阻塞形式,NIO为非同步阻塞形。 NIO:起初并没有实现异步,在jdk1.7后支持异步非阻塞。 BIO(IO):同步阻塞式IO,服务器实现模式...
2018-07-11 18:41:34
2834
1
原创 Socket网络编程
一:Java网络通讯请求与响应IP地址+端口号(定位A2的应用程序)端口号的作用:定位到应用程序IP地址的作用:具体定位到某台计算机。怎么区分客户端与服务器端?谁发起的,谁为客户端,谁接受请求谁为服务端。浏览器属于客户端。域名 dns解析成IP地址二:socket编程 网络模型应用层--Http协议传输层--Tcp协议网络层--Ip协议链路层--以太网协议任何计算机语言通讯,底层都使用socke...
2018-07-10 19:20:46
140
原创 自定义注解与设计模式
实现自定义注解元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:@Target@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用
2018-07-10 19:04:51
345
原创 数据交换格式与SpringIOC底层实现
一:什么是数据交换格式:json,xml二:各自应用场景?json:是一种轻量级的数据交换格式。http+restfulxml:是一种重量级的数据交换格式(标记语言)面向服务架构(soa)或者为服务架构--http+json格式三:json与xml区别?1.json占宽带小,xml占宽带大。2.微服务http+json格式3.配置文件,webService(http+soap协议)http+xml...
2018-07-10 18:40:10
317
原创 线程池原理剖析&锁的深度化
什么是线程池?产生原因:经常创建,启动,销毁一个线程都是非常耗费时间。好处:1.降低资源消耗。重复利用已经创建的线程2.提高响应速度。不需要等待线程创建(CPU调度)就能立即执行。3.提高线程的可管理性。统一分配,调优,监控。Java中使用线程 核心走ThreadPoolExecutor。线程池使用方式?Executor类封装好了四种线程池。1.newCachedThreadPool创建一个可缓存...
2018-07-09 16:15:15
1088
原创 java并发包&并发队列
1.什么是线程安全问题?保证在多个线程之间共享同一个全局变量或者静态变量,保证数据的一致性,和原子性。2.线程同步有哪些方式?synchronized,lock3.线程同步提高了效率?降低程序效率,阻塞,抢锁资源,效率不高。Java并发包原子类,Lock,并发包。并发类。4.你们接触过哪些线程安全的类?Vector与Array List区别?实现原理都是通过数组实现-查询速度块,增加,修改,删除速...
2018-07-09 16:12:43
3797
原创 多线程之间通讯
1.什么是多线程之间通讯?多个线程对同一个资源(共享资源),每个线程对共享资源的动作不同,操作不同。多线程通讯的生产者与消费者,--消息中间件mq。可见性不具备原子性,线程是不安全的。可见性不具备原子性,线程不安全。解决办法:生产者线程生产一个,消费者线程立马消费。生产者没有任何生产,消费者不能读。消费者,没有消费完,生产者不能继续生产。wait的作用:让当前程序从运行状态变为休眠状态。notif...
2018-07-09 16:10:11
400
原创 多线程线程安全
1.什么是线程安全问题?当多个线程共享同一个全局变量,做写的时候可能会受到其他线程的干扰,导致数据由问题,这种现象叫做线程安全问题。但是做读的操作是不会发生数据冲突问题。2.多个线程共享同一个局部变量会发生线程安全问题?不会。3.线程安全问题有哪些解决方法?使用多线程之间同步synchronized或者使用锁(lock)lock--jdk.5并发包--手动synchronized--自动一.什么地...
2018-07-09 16:05:56
241
原创 手写spring框架自定义注解
不多说:上图-->1.在pom.xml中引入依赖关系:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m...
2018-05-19 21:09:46
2424
原创 HIBERNATE
* hibernate简介: * * 1.Transient Objects:瞬时对象 * 2.Persistent Objects:持久对象 * 3.session:hibernate的会话 * 4.SessionFactory:会话工厂,进程级别的对象,重量级的 * 5.Transaction:本地事务 * 6.TransactionFactory:事务工厂 * 7.Conn...
2018-05-05 17:20:03
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人