自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄亚的博客

软件从业者

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

转载 LVS 介绍以及配置应用

1、负载均衡集群介绍1.1、什么是负载均衡集群负载均衡集群提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载、带宽、增加吞吐量、加强网络数据的处理能力、提高网络的灵活性和可用性。搭建负载均衡器的需求:1)把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待时间,提升用户体验2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处...

2019-05-30 16:48:55 1107

转载 zookeeper在dubbo中的作用

本文旨在表述出自己对于zookeeper在dubbo的作用的初步理解在对dubbo进行了初步的探索后,对于zookeeper在其中的作用不甚了解,因为本身对zookeeper就没有一个特别具体的概念,所以在这里思考一下,为什么要使用zookeeper或者说dubbo为什么要有注册中心一对一的调用Server A依赖Server B提供的RPC服务,因为Server B只有单一的一份,那么此时...

2019-05-29 10:50:36 1284

转载 Nginx工作原理

1 反向代理1.1 概念反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。举个例子,比如我想访问 http://www.test.com/readme,但www.test.com上并不存在readme页面,于是...

2019-05-28 18:27:34 2605

原创 java I/O : BIO、NIO、AIO的区别

简单的描述一下BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理 处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的一请求一应答通宵模型。刚开始人们为了解决上面,高并发下服务器建立线程过多而枯竭,有人就想出了使用线程池来控制建立线程的数量,不至于服务器挂掉,于是...

2019-05-27 17:15:14 340

转载 Keepalived基本原理与配置参数介绍

最近在整理负载均衡的工具时,了解了下Keepalived这一解决单点故障的工具,为了方便以后的学习及使用,做了下诉的介绍:Keepalived简介Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。它与HeartBeat实现类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专...

2019-05-24 16:00:53 3363

转载 消息队列之 RabbitMQ

关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连 redis 这样的 NoSQL 数据库也支持 MQ 功能。总...

2019-05-22 17:38:57 378

转载 MySql的并发控制和故障恢复技术

事务隔离性的实现——常见的并发控制技术并发控制技术是实现事务隔离性以及不同隔离级别的关键,实现方式有很多,按照其对可能冲突的操作采取的不同策略可以分为乐观并发控制和悲观并发控制两大类。乐观并发控制:对于并发执行可能冲突的操作,假定其不会真的冲突,允许并发执行,直到真正发生冲突时才去解决冲突,比如让事务回滚。悲观并发控制:对于并发执行可能冲突的操作,假定其必定发生冲突,通过让事务等待(锁)或...

2019-05-20 18:28:37 1240

转载 ZooKeeper运行原理解析

我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:Zookeeper 可以被用作注册中心。Zookeeper 是 Hadoop 生态系统的一员。构建 ...

2019-05-20 17:26:53 753

转载 Cglib动态代理实现原理

Cglib动态代理实现原理:我们先通过一个demo看一下Cglib是如何实现动态代理的。首先定义个服务类,有两个方法并且其中一个方法用final来修饰。public class PersonService { public PersonService() { System.out.println("PersonService构造"); } //该方法不...

2019-05-17 14:03:48 267

转载 java动态代理实现与原理详细分析

JDK动态代理的一篇好文,特地分享一下一、代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。简单的说就是,我们在访问...

2019-05-17 11:22:28 140

转载 深入理解Java:类加载机制及反射

开篇一张图,基本上一个类的加载过及内存分配全部包含了一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解...

2019-05-16 18:10:27 207

转载 Elasticsearch-基础介绍及索引原理分析

最近在了解Elasticsearch这款工具时,碰到了几篇比较好的科普文章,特意引过来,以备日后反复学习介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个...

2019-05-16 15:50:35 1387 1

转载 MyBatis框架及原理分析

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。MyBatis的配置MyBatis框架和其他绝大部分框架...

2019-05-14 17:48:31 322

转载 线程用户态和内核态

(1)用户态和内核态的概念?—>内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序—>用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取(2)为什么需要用户态和内核态?—>由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据,...

2019-05-14 13:59:52 8534

转载 select、poll、epoll之间的区别

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入...

2019-05-11 18:25:16 1813

转载 Synchronized 和 Lock 锁在JVM中的实现原理以及代码解析

一、深入JVM锁机制:synchronizedsynrhronized关键字简洁、清晰、语义明确,因此即使有了Lock接口,使用的还是非常广泛。其应用层的语义是可以把任何一个非null对象作为"锁",当synchronized作用在方法上时,锁住的便是对象实例(this);当作用在静态方法时锁住的便是对象对应的Class实例,因为Class数据存在于永久带,因此静态方法锁相当于该类的一个全局锁;...

2019-05-10 16:50:34 255

转载 关系型数据库设计三大范式总结

数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一...

2019-05-07 16:48:21 3268

原创 静态资源加载的思考

静态资源的加载在web前端性能优化时有很重要的作用,因此本文尝试着分析常见的静态资源加载方式,部署容器采用tomcat:在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL。配置如下:<servlet> <servlet-name>SpringMVC</servlet-name> ...

2019-05-05 14:59:21 474

spring-cglib-repack-3.2.6 和 spring-objenesis-repack-2.6

spring源码解析时,需要额外引入的最新jar包,注意版本号,使用时把最后的.0去掉即可

2018-05-13

vc++版的斗地主和麻将游戏及参考资料

用vc++写的两个项目:斗地主 和 麻将,以及相关的一些参考资料。感兴趣的朋友可以下载一下。

2018-01-11

空空如也

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

TA关注的人

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