自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yifanSJ的博客

yifanSJ的博客

  • 博客(50)
  • 资源 (15)
  • 问答 (15)
  • 收藏
  • 关注

原创 BTree和B+Tree和Hash索引详解

二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 如下图所示就是一棵二叉查找树, 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次数为 (1+2+2+3+3+3) / 6 = 2.3次二叉查找树可以任意地构造,同样是2,3,5,6,7,8这六个数字,也可

2018-01-31 17:29:43 4718 2

转载 MySQL8.0的InnoDB和MyISAM是否支持hash索引

今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储引擎都是B-Tree(实质为B+Tree)。他们本身都是不支持hash索引的。但是我们在建

2018-01-31 14:40:06 1053

原创 (必看)面试题目

2018-01-30 09:36:06 280

转载 ZooKeeper基本原理

ZooKeeper简介ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 ZooKeeper设计目的1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。2.可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受

2018-01-30 00:34:35 235

转载 zookeeper命令查看注册路径及消费路径

[root@localhost zookeeper-3.4.10]# cd bin[root@localhost bin]# lltotal 36-rwxr-xr-x. 1 1001 1001  232 Mar 23  2017 README.txt-rwxr-xr-x. 1 1001 1001 1937 Mar 23  2017 zkCleanup.sh-rwxr-xr-x.

2018-01-30 00:31:47 5880

转载 在CentOS下安装JDK8

1.去http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载JDK的安装文件jdk-8u60-linux-x64.tar.gz。2.新建/usr/java文件夹,将jdk-8u60-linux-x64.tar.gz放到该文件夹下,并切换到/usr/java目录下。3.执行命

2018-01-29 23:06:57 255

转载 Dubbo+ZooKeeper集群配置

集群服务注册到多台zookeeper配置: protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />分成多组注册中心: id="chinaRegistry" protocol="zookeeper" address="10

2018-01-29 16:39:19 2002

转载 zookeeper集群搭建

由于公司缓存方案改进,准备采用codis集群作为主要的缓存解决方案(codis:国内豌豆荚开发的redis集群解决方案,已开源,github地址:https://github.com/CodisLabs/codis),codis集群依赖于zookeeper集群,本文介绍zookeeper集群的实现。一、Zookeeper原理简介ZooKeeper是一个开放源码的分布式应用程序协调服务,

2018-01-29 16:11:17 235

转载 zookeeper3.4.5自动清理日志

zookeeper3.4.5自动清理日志从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的,将其前面的注释去掉,根据需要修改日志保留个数:

2018-01-29 15:44:43 297

原创 在 CentOS6 上安装 zookeeper-3.4.10 服务

在 CentOS7 上安装 zookeeper-3.4.10 服务1、创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/services/zookeeper2、进入到 /usr/local/services/zookeeper 目录中: cd /usr/local/services/zookeeper

2018-01-29 09:31:33 207

原创 Dubbo+ZooKeeper简单搭建

一、公共模块项(dbo-core)包含有:实体类、对外Service接口1. 实体类package org.yf.entity;import java.io.Serializable;public class Person implements Serializable{ private Integer id; private String name;

2018-01-28 23:40:04 286

转载 什么是反向代理,如何区别反向与正向代理

概念:       反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。概述:       通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送

2018-01-28 16:11:12 226

转载 解决maven update project 后项目jdk变成1.5的问题

一、问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。二、原因分析Maven官方文档有如下描述:编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java

2018-01-26 14:57:25 354

转载 jdk官方下载

jdk1.7 64位官方下载地址平时要新装一个系统环境,或者下载最新的jdk,就需要到oracle官网去下载一个jdk,而目前生产环境都是1.7的环境下开发完成的,需要下载1.7版本的jdk,oracle官方网站的默认下载页面是1.8版本的。面对oracle官网一堆不熟悉的英文,从哪里能直接下呢?首先访问: http://www.oracle.com/technetwork/java/

2018-01-26 10:05:49 479

转载 window7环境下ZooKeeper的安装及运行

ZooKeeper是一个分布式开源框架,供了协调分布式应用的基本服务。这些天在使用DUBBO,由于开发环境是在windows环境下,需要能够先运行ZooKeeper,然后在此基础上实现服务的地址分配。在下面,先搭建一个单机模式的的ZooKeeper环境。首先从开源中国社会里把代码包下载下来。在这里是3.4.6(zookeeper-3.3.6.tar.gz)再将包解压进入文件目录,可以看

2018-01-26 00:10:40 389

原创 基于ZooKeeper的Dubbo服务注册中心

本文介绍基于ZooKeeper的Dubbo服务注册中心的原理。 1.ZooKeeper中的节点ZooKeeper是一个树形结构的目录服务,支持变更推送,因此非常适合作为Dubbo服务的注册中心。注:在ZooKeeper中,节点分为两类,第一类是指构成集群的机器,我们称之为机器节点;第二类是指数据模型中的数据单元,称之为数据节点ZNode。ZooKeeper将所有数据存储在内存中,数

2018-01-25 16:19:34 871 1

原创 Maven 建立父子项目和跨项目调用内容的步骤

新公司使用Maven管理项目,同时我们是做微服务,所以对于微服务项目来说,使用Maven建立起一个父子项目这种关系,很方便管理(只是个人感觉)设计层面(1)服务端和客户端肯定是分开写的,另外还有一个公共的项目,比如一些实体类等都是可以作为公共的类放到这个公共的项目。(2)这样来说,子项目至少有三个,server(服务层子项目)、web(视图层子项目)、common(公共层子项目

2018-01-25 15:50:03 479

原创 分布式RPC流程图

一、RPC介绍RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。

2018-01-25 14:36:59 1908

原创 SpringBoot获取yml和properties配置文件的内容

一、yml配置文件pom.xml加入依赖 org.springframework.boot spring-boot-configuration-processor ${spring-boot.version}在application.yml文件中加上:#自定义的属性和值myYml: simpleProp: simplePropValue

2018-01-25 00:13:07 2496

原创 SpringBoot + Mybatis打印SQL

在application.yml中加入 logging: level: com: yweb: DEBUG注意:其中logging.level.com.你的Mapper包=日志等级

2018-01-25 00:04:40 882

原创 MyBatisPlus各种API

// 初始化 成功标识boolean result = false;// 初始化 UserUser user = new User(); // 保存 Useruser.setName("Tom");result = user.insert(); // 更新 Useruser.setAge(18);result = user.updateById();

2018-01-24 18:11:40 6514

原创 Bean转Map

1. Bean转Mappublic static Map objectToMap(Object obj) { if(obj == null){ return null; } try { Map map = new HashMap(); Field[] declaredFields = obj.getClass().getD

2018-01-23 11:23:53 1528

原创 文件流的使用

public static void main(String[] args) throws Exception { //读取文件 InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\\\Users\\\\Administrator\\\\Desktop\\\\新建文本文档.txt"), "UT

2018-01-21 23:06:38 248

转载 nginx编辑开机启动(/etc/init.d/nginx)(可以直接使用)

vi /etc/init.d/nginx在脚本中添加如下命令:*********************************************************************************************************************************#!/bin/bash# nginx Startup s

2018-01-19 16:54:24 4478 1

转载 nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.

出现此种情况,是linux系统没有安装先决条件1、GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)RedHat中安装GCC:yum install gcc

2018-01-19 16:03:56 3597

转载 SpringBoot整合Redis(单机+集群) —— 含Spring版附件文档

如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制,已经很久之前的版本,该换新了(此处略过),本文讲解基于redis3.x中的集群,通过两部分来阐述spring boot整合redis,在项目中使用jedisCluster机制。第一部分:spring boot自带整合的redis,比较简单,看下来1>不用多说,pom.xml文件增加redis与spring boot

2018-01-19 00:57:45 3113

转载 (重点)深入理解Java分布式架构

什么是分布式架构分布式系统(distributed system)是建立在网络之上的软件系统。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。 在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。简单来

2018-01-18 17:33:13 17529

转载 CentOS查看进程、杀死进程、启动进程等常用命令

1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括其他用户的程序。    ps -A 显示所有程序。    ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。    ps -e 此参数的效果和指定"A"参数相同。    ps e 列出程序时,显示每个程序所使用的环境变量。    ps f 用ASCII字符显示树

2018-01-18 15:04:35 2989

原创 Java集合类框架的基本接口有哪些?

总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合; 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合;而ArrayList和 LinkedList 实现了List接口,HashSet实现了Set接口,这几个都比较常用; HashMap 和HashTable实现了Map接口,并且HashTable是线程安全的,但是Hash

2018-01-18 10:15:40 903

原创 Spring Cloud介绍 Spring Cloud与Dubbo对比

spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB:

2018-01-17 18:12:04 705

原创 zookeeper学习1 —— paxos算法

看看paxos算法先,不然看这个zookeeper会非常难懂。原理简单来说,就是要选举leader,会生成一个zxid,然后分发给所有的server(所以这里一台server可以接受多台server给他发送要选举leader的请求),然后各个server根据发送给自己的zxid,选择一个值最大的,然后将这个选择返回给发送这个zxid的server,只要这个server收到的答复大于等于2/n+

2018-01-17 17:55:15 259

原创 mybatis怎么忽略映射字段

@TableField(exist = false)Mybatis-Plus 插件有这个功能,可以看一下

2018-01-17 17:36:45 22093

原创 MyBatisPlus AutoGenrator代码自动生成

1. 使用MyBatisPlus AutoGenrator注意数据库表字段最好用下划线分格2. 在Resource

2018-01-16 14:31:03 6211 1

转载 Eclipse关联GitHub实现版本控制

检查Eclipse中是否已安装Git插件,菜单栏Help -> About Eclipse,查看是否有Git插件的图标。2现在的Eclipse下载后一般都提供Git插件了,若是没有Git插件,可使用菜单栏Help -> Install New Software...,在Work with中输入http://download.eclipse.org/egit/upda

2018-01-16 00:49:15 368

原创 eclipse查看jar包中class的中文注释乱码问题的解决

1,问题来源是在eclipse中直接查看springside的class(由eclipse自动反编译)里面注释的乱码问题:Preferences-General-Workspace-Text file encoding 设置为uft-8最后重启一下eclipse通常就ok了。 2,若是关联jar的源码出现乱码,则使用以下方法尝试:将Eclipse的Preferences中的

2018-01-15 23:34:58 261

原创 Redis 3.2.1集群 —— Redis-trib.rb工具详解(含原理)

redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。为了看懂redis-trib.rb,我特意花了一个星期学习了ruby,也被ruby的简洁、明了所吸引。ruby是门非常灵活的语言,redis-trib.rb只用了16

2018-01-14 00:18:19 783

原创 Redis 3.2.1集群 —— CLUSTER MEET ip port

CLUSTER MEET命令被用来连接不同的开启集群支持的 Redis 节点,以进入工作集群。基本的思想是每个节点默认都是相互不信任的,并且被认为是未知的节点,以便万一因为系统管理错误或地址被修改,而不太可能将多个不同的集群节点混成一个集群。因此,为了使给定的节点能将另一个节点接收到组成 Redis Cluster 的节点列表中,这里只有两种方法:系统管理员发送一个CLUSTE

2018-01-14 00:12:16 1875

原创 Redis 3.2.1集群 —— fail状态的产生

一、节点的fail节点的fail是通过集群中超过半数的节点检测失效时才生效,这里会触发选举,将slave升级为master二、集群的fail如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成进群的slot映射[0-16383]不完成时进入fail状态.如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.

2018-01-13 23:28:44 1594

原创 Redis 3.2.1集群 —— 搭建

一、概述    Redis3.0版本之后支持Cluster.1.1、redis cluster的现状   目前redis支持的cluster特性:  1):节点自动发现  2):slave->master 选举,集群容错  3):Hot resharding:在线分片  4):进群管理:cluster xxx  5):基于配置(nodes-port.conf)的集群

2018-01-13 22:27:34 263

原创 CentOS6.5配置网络yum源

我们选择配置国内163提供的yum源,具体操作步骤如下:1.登录如下地址:mirrors.163.com2.选择最后一列中的“centos使用帮助”进入如下链接的界面: CentOS镜像使用帮助3.按照帮助文档中的说明操作即可3.1备份/etc/yum.repos.d/CentOS-Base.repomv /etc/yum.repos.d/CentOS-Base.r

2018-01-13 17:29:20 674

jquery.serializejson.min.js

需要将Form转JSON通过Ajax发送到后端时,就需要将Form转成JSON字符串,可以用这个工具$('#myform').serializeJSON();

2018-03-28

redis单机/集群搭建部署及应用

介绍了redis单机、集群的搭建,以及Spring项目中如何使用Jedis、JedisCluster进行redis操作

2018-01-19

Maven实战(高清完整带书签)

Maven实战(高清完整带书签)Maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等

2017-10-10

跟我学Shiro第13章Demo(RememberMe)

本人亲自写的Demo,可运行没问题,其中包括RememberMy章节的髌,可以用jetty运行,我把Ehcache缓存改成了3秒,有需要可以自己改回来。

2017-09-23

跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)2

本人亲自写的Demo,可运行没问题,其中包括Java SE + Java Web + Shiro权限注解章节,可SE运行,也可以用jetty运行

2017-09-23

跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)

本人亲自写的Demo,可运行没问题,其中包括Java SE + Java Web + Shiro权限注解章节,可SE运行,也可以用jetty运行

2017-09-22

跟我学Shiro第12章Demo(仅JAVA SE)

跟我学Shiro第12章Demo(仅JAVA SE),主要内容只是如何把ini文件转变为Spring的.xml文件格式,其他的基本一样。

2017-09-20

跟我学Shiro第11章Demo

跟我学Shiro第11章Demo,本人亲自编写,完全可运行,运用了Shiro提供的Cache缓存和Session缓存两大部分,大家慢慢品尝。。

2017-09-16

Shiro第10章部分Demo

Shiro第10章部分Demo,其中会话,会话管理器,会话监听器,会话存储/持久化的Demo已实现,后两个没有,后续会补上

2017-09-14

MavenTest9

MavenTest9,Shiro第9章Demo,可运行,本人学习Shiro时作出的总结,现给拿出来分享给大家,一起进步。!!!!

2017-09-05

shiro 第二~六章 完整Demo

跟我学shiro 第二~六章 完整Demoshiro 第二~六章 完整Demoshiro 第二~六章 完整Demoshiro 第二~六章 完整Demoshiro 第二~六章 完整Demo

2017-09-04

shiro 第七、八章 完整Demo

shiro 第七、八章 完整Demo,可运行,因为本人也并不驾轻就熟,所以两章的Demo写在了一起,大家有什么问题+我QQ895115828

2017-09-04

shiro 第七章 完整Demo

shiro 第七章 与Web 集成,我用的Maven+jetty进行的开发,我可以正常运行,如果你有问题,加我

2017-08-30

shiro第六章Realm完整Demo

shiro第六章Realm完整Demo

2017-08-23

Oolong.jar

Oolong.jar,主要对.class文件进行反编译,将.class谁的的二进制表示的结构形式转化成能够理解的汇编语言Oolong,本人已测试,可用

2017-03-20

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

TA关注的人

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