自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaoxsen的博客

每天积累一点点

  • 博客(47)
  • 资源 (5)
  • 收藏
  • 关注

原创 MySql主从同步和读写分离实战

读写分离介绍高并发情况下,大量请求打到了Mysql数据库上会导致系统性能降低,如果不做好限流策略,超量的请求打到Mysql数据库中会导致Mysql服务挂掉,造成系统崩溃。实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,这样就可以支撑更高系统并发压力。MySQL 的读写分离实现其实很简单,就是基于主...

2020-02-03 23:26:47 524

原创 Mybatis分页插件PageHelper原理

前段时间甲同学遇到了在mybatis中遇到了一个神奇的问题,PageHelper会自动加上了limit ??导致查询数据不准

2020-01-17 16:40:58 1065

原创 数据结构算法---递归

一、递归思想  递归的思想就是把一个问题分解成一个个的子问题和子子问题,然后这些子问题逐级返回,得到最终结果。总结一下递归需要满足的几个条件:一个问题的解可以分解为几个子问题的解。问题与子问题,求解思路完全一样。存在递归终止条件。二、斐波那契数列   1.斐波那契数列: 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖...

2019-11-03 17:34:43 380

原创 数据结构算法---二叉树

一、二叉树在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且或者最后一层是满的,或者是在右边缺少连...

2019-10-31 23:40:23 633

原创 数据结构算法-----链表

一、单链表简介链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快...

2019-10-31 23:22:44 239

原创 Redis从入门到放弃

一、Redis概述Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。二、Redis与Memcached比较...

2019-07-30 15:24:22 253

原创 ElasticSearch从入门到放弃

一、什么是ElasticSearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。二、ElasticSearch的核心---...

2019-07-28 23:06:18 504

原创 Java消息队列

一、什么是消息队列消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信来进行分布式系统的集成。我们也可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ。二、为什么需要使用消息队列使用消息队列有3...

2019-07-03 23:49:35 386

原创 pycharm安装scrapy报错解决方案

在pycharm中安装scrapy报如下错: error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe’ failed with exit status 2 解决方案: 去这个网站http://www.lfd.uci.edu/~gohlke/pythonlibs/#t...

2018-06-26 19:50:43 4842 5

原创 HDFS常用方法(Java版本)

HDFS是Hadoop文件分布式系统,常用的HDFS操作方法如下://创建FileSystem 对象Configuration conf = new Configuration();URI uri = new URI("hdfs://hadoop001:9000");//在core-site.xml中配置FileSystem fs = FileSystem.get(uri, conf...

2018-06-02 22:30:26 2393

原创 Hadoop完全分布式环境搭建

最近在学习hadoop,经过几番折腾终于把分布式环境搭建成功,这里总结一下搭建过程和过程中遇到的问题与解决方案。 一、准备工作 1.下载vmvare软件,配置NAT网络模式 NAT是网络地址转换,是在宿主机和虚拟机之间增加一个地址转换服务,负责外部和虚拟机之间的通讯转接和IP转换。 2.安装centos虚拟机 安装步骤这里不细讲,可以参考https://blog.csdn.......

2018-05-26 15:37:37 27375 8

原创 ActiveMQ与Zookeeper高可用集群

实际项目中发送MQ消息,如果不做集群,其中mq机器出了故障宕机了,那么mq消息就不能发送了,系统就崩溃了,所以我们需要集群MQ,当其中一台MQ出了故障,其余的MQ机器可以接着继续运转,所以这里描述一下如何使用ZooKeeper来进行ActiveMQ的高可用集群。前提条件: 准备三个服务器节点用来安装部署Zookeeper和ActiveMQ,我的三个节点分别为:192.16...

2018-01-13 13:32:55 13597 3

原创 Shiro学习笔记(二)---Shiro架构

Shiro从外部来划分主要包括Subject,SecurityManager,Realm三大块,先看架构图,作用下面详细说。   Subject其实就是一个门面,代表“当前用户”,应用代码直接与Subject交互,最后委托给SecurityManager,SecurityManager是实际的执行者。   SecurityManager:安全管理器,所有安全验证的操作都与它进行交互,他管理

2018-01-08 22:10:50 2084

原创 Shiro学习笔记(一)

一、Shiro简介 •Apache Shiro 是 Java 的一个安全(权限)框架,比Spring Security简单。•Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。•Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。下载:http://shiro.apache.org/二、功能简

2018-01-08 21:24:35 1986

原创 2017工作总结

不急不躁,不卑不亢,不忘初心,方得始终!!!

2017-12-29 10:04:19 2110

原创 Jodatime

jodatime工具类

2017-12-14 14:31:28 1912

原创 Android应用网络限制功能(网络白名单)实现

在之前的博文Android防火墙功能实现与原理分析中分析了Android防火墙实现原理,这里继续讲解Android 应用网络限制实现流程。 先看看需求:现在4G流量费用比较昂贵,为了避免流量的消耗,我们可以限制某个应用连接网络,或者限制某个app只能使用wifi等等。 当我们使用流量上网时,会发现此时谷歌浏览器无法连接网...

2017-09-19 20:39:52 28288 10

原创 SpringMVC源码分析(二)

上一篇博文SpringMVC源码分析(一) 中已经对SpringMVC中的Servlet(GenericServlet,HttpServlet,HttpServletBean,FrameworkServlet,DispatcherServlet)源码进行分析,今天接着分析SpringMVC请求处理过程。  SpringMVC请求处理过程主要由DispatchServlet来负责完成,Framewor

2017-09-11 20:46:54 2070

原创 SpringMVC源码分析(一)

SpringMVC的简单实用和配置请查看我的一篇博文 SpringMVC配置实例,今天主要分析一下SpringMVC中的Servlet源码,Serlvet的生命周期和使用方法请查看我的另一篇博文 Servlet学习笔记1.首先来看一下Servlet接口的源码:import java.io.IOException; public interface Servlet { /**

2017-09-06 20:18:29 2246

原创 SpringMVC配置实例

一、SpringMVC的优势1.角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)。每一个角色都可以由一个专门的对象

2017-08-18 20:31:39 10311 4

原创 Spring AOP详解(示例)

一、什么是AOP   AOP(Aspect-Oriented Programming), 即 面向切面编程, 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角.在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)。 二、AOP的优点   它

2017-08-14 15:00:54 2294

转载 JDK1.8中HashMap详解

HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”

2017-08-04 18:17:26 3787 1

原创 equals()方法详解

今天公司上班期间因为一个equal使用发生了一场撕逼大战,下面先来讲述一下这场大战。 主角: AAA为spm BBB为程序猿 CCC吃瓜群众序幕:BBB程序猿提交了如下代码,造成AAA的项目在使用中报停。 //add by BBB start String accountName = rawContactDelta.getAccountName().

2017-07-31 19:51:11 2819

原创 Jsp内置对象详解

内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。 Jsp内置了9个对象,定义和作用如下: 1.page对象 page对象代表Jsp页面本身,是this引用的一个代码词。类型为java.lang.Object类型,作用域为page 2.config对象 config对象是ServletConfig类的一个对象,存放着Servlet初始化

2017-07-29 23:06:13 1630

转载 IOC和DI本质理解

IoC IoC: Inversion of Control,控制反转, 控制权从应用程序转移到框架(如IoC容器),是框架共有特性 1、为什么需要IoC容器1.1、应用程序主动控制对象的实例化及依赖装配 Java代码  A a = new AImpl();  B b = new BImpl();  a.setB(b);  本质:创建对象,主动实例化,直接获取依赖,主动装配 缺点:更

2017-07-27 10:12:29 1414 1

原创 Servlet学习笔记(一)

Servlet的基本知识。 学习一个知识,我们应该按照这三部曲进行,首先了解这个东西是什么,怎么定义,然后了解他的作用是什么,为什么要出现这个东西,最后我们需要了解他怎么使用。下面我们就按照这三部曲来讲述Servlet的相关知识。一.什么是Servlet?   1.Servlet定义:Java Servlet是运行在Web

2017-07-25 22:48:10 1671

转载 虚拟机工作原理

Java虚拟机工作原理

2017-07-22 11:27:32 7958

原创 Java发展历史

1.1995年5月23号 Oak(橡树)语言改名为Java,并且在SunWorld大会上正式发布Java 1.0版本,Java语言第一次提出了“Write Once,Run Anywhere”口号。 2.1996年1月23日 JDK1.0发布,Java语言有了一个正式版本的运行环境。 3.1997年2月19日 Sun公司发布了JDK1.1,技术代表有JAR文件格式、JDBC,JavaBeans、

2017-07-21 09:29:50 1537

原创 策略模式

三国演义中,诸葛亮的足智多谋,神机妙算,不得不让人佩服,能把周瑜这种智慧型的人物气死已经十分了得,其中诸葛亮给了赵云3个锦囊妙计让周瑜赔了夫人又折兵的堪称金典,现在用代码来演示一下这个过程。抽象策略类public interface IStrategy{ public void excute();}具体策略类(第一个妙计)public class FristStrategy im

2017-03-22 10:08:04 1321

原创 装饰模式

还依然清晰的记得以前上小学时,每次月考考试卷都要给家长签字,分数考得高时就不担心签名的问题,但是常在岸边走哪有不湿鞋,总有那么几次考不好,然后成绩波动太大,此时给家长签字时轻则一顿逼逼,重则一顿挨揍(当然不是狼妈虎爸一样,一天一顿打,孩子上北大)。有时为了避免这波暴击伤害,我们经常会把分数改一下(65就加一笔变成85)或者说找个理由(试卷太难,大家分数都不高等)。下面有程序猿的语言来描述这段经历。抽

2017-03-14 17:46:46 1366

原创 责任链模式

来公司快一年了终于可以去出差了,然而我们公司的出差是去支援工厂,大家应该没有想到吧,支援工厂就是每天两班倒,坐在流水线前左手右手一个慢动作,这里小吐槽一下,哈哈哈。出差回来就是写出差报销流程。公司规定报销金额小于3000直属领导可以批,大于3000小于10000部门领导可以批,大于10000需要boss才能批(每个公司不一样),下面用程序猿的语言来描述这个流程。程序猿:public class Pr

2017-03-08 14:20:52 1649

转载 深入理解Java:注解(Annotation)--注解处理器

如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement):  Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接

2017-03-07 15:12:24 1239

转载 深入理解Java:注解(Annotation)自定义注解入门

深入理解Java:注解(Annotation)自定义注解入门 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的

2017-03-07 15:05:44 1176

转载 Java注解(Annotation)基本概念

深入理解Java:注解(Annotation)基本概念 什么是注解(Annotation)  Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。  A

2017-03-07 15:04:14 1270

原创 命令模式

某天接到客户的需求,我们的项目需要增加新需求,项目经理找到需求组同事说我们需要增加一条需求,然后找到UI设计组同事说我们需要增加一条需求做好ui设计,然后跑到代码组同事说我们要增加一条需求赶紧准备撸代码,最后跑到测试组同事说我们要增加一条需求赶紧写好测试用例。我们现在来用代码实现这个过程。 抽象组:public abstract class Group{ //找到改组的人 pub

2017-03-07 11:17:02 1176

原创 中介者模式

先看图:               图一                           图二                                           图三  在大公司中,部门越完善,同事之间的关系就越复杂,就比如说你要申请买某个办公设备,需要你领导同意,然后找采购部门同事,采购部门同事需要找财务部门同事,最后买好了才下发到你手上,整个流程之间涉及到多个

2017-03-06 15:34:47 1334

原创 原型模式

我们日常工作中,部门领导需要了解项目进度,存在的问题,就会开个部门例会,此时需要邮件群发到部门各个员工: 邮件模板类:public class MailTemplate{ //邮件主题 private String mailSubject = "请软件部来301室开会"; //邮件内容 private String mailContext = "梳理一下项目上存在

2017-03-02 18:11:41 1491

原创 代理模式

LOL相信大家都玩过吧,我大学同学现在已经是最强王者了,在学校段位重置时都会叫他帮我们代打定位赛,前期定位段位越高爬坑越简单,如今大学毕业,大家都各奔东西,但这段经历还是记忆犹新,下面通过代码来演示这个代打定位赛的过程吧。英雄联盟游戏:public interface LOLPlayer{ //登录LOL public void login(String user,String

2017-03-01 17:50:11 1282

原创 创建者模式

各个品牌的汽车在工厂生好了,现在需要对这些汽车进行试驾,每个品牌的汽车试驾流程不一样,奥迪汽车试驾流程是先启动,在鸣笛,在行驶,最后停车;奔驰试驾流程是先鸣笛,在启动,然后行驶,最后停车;保时捷的试驾流程也不一样,需求可以多变,面对这种情况我们应该怎么实现呢? 来看实现代码吧:抽象汽车类(CarModel)public abstract class CarModel{ private

2017-02-28 17:35:42 1283

原创 模板方法模式

工厂生产出来的汽车都要经过试驾测试,通过测试才能销售市场,下面我们来模拟汽车试驾过程,假设我们现在只试驾奥迪A6和奥迪A8,示例代码如下:    抽象奥迪车(AudiCar):public abstract class AudiCar{ //发动,测试发动机 public abstract void start(); //按喇叭,测试喇叭 public abs

2017-02-27 13:54:11 1388

mybatis-readwrite.zip

Spring+mybatis实现读写分离代码实现,第一种通过拦截器实现,第二种基于spring注解和AOP实现

2020-02-03

基于WebSocket的教学白板设计

基于WebSocket的教学白板设计原版文章,其他都是非法获取的

2018-01-17

ActiveMQ与Zookeeper集群测试代码

ActiveMQ与Zookeeper集群测试代码,用于测试高可用效果 。。。。。。。。。。。。。。。

2018-01-14

SS+Shiro示例程序

Spring+SpringMVC+Shiro示例代码,主要是搭建shiro开发环境

2018-01-08

空空如也

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

TA关注的人

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