自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凡是过往,皆为序章

Yesterday is a history, tomorrow is a mystery.

  • 博客(27)
  • 收藏
  • 关注

转载 搞懂Redis到底快在哪里

目录前言一.开发语言二.纯内存访问三.单线程四.非阻塞多路I/O复用机制前言  Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。Redis还提供了键过期,发布订阅,事务,Lua脚本,哨兵,Cluster等功...

2019-05-29 16:27:36 146

转载 漫画:什么是 ZooKeeper?

目录ZooKeeper 的数据模型ZooKeeper 的基本操作和事件通知ZooKeeper 的一致性ZooKeeper 的应用1. 分布式锁2. 服务注册和发现3. 共享配置和状态信息————— 第二天 —————————————————ZooKeeper 的数据模型...

2019-05-29 11:27:31 285

转载 ZooKeeper之(统一配置管理、统一命名服务、分布式锁、集群管理)

目录一、什么是ZooKeeper二、为什么ZooKeeper能干这么多?2.1 监听器三、ZooKeeper是怎么做到的?3.1 统一配置管理3.2 统一命名服务3.3 分布式锁3.4集群状态最后上次写了一篇什么是消息队列?以后,本来想入门一下Kafka的(装一下环境、看看Kafka一些概念啥的)。后来发现Kafka用到了ZooKeeper,而我又对Zoo...

2019-05-29 10:42:51 3132 3

转载 什么是消息队列?

目录一、什么是消息队列?二、为什么要用消息队列?2.1 解耦2.2 异步2.3 削峰/限流三、使用消息队列有什么问题?3.1 高可用3.2 数据丢失问题3.3 消费者怎么得到消息队列的数据?3.4 其他最后一、什么是消息队列?消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术,反正我是觉得它好像是挺牛逼的。消息队列,一般...

2019-05-29 10:11:41 145 2

转载 这三辆马车,我能让架构飞起来!

目录微服务消息队列定时任务这里所说的三架马车是指微服务、消息队列和定时任务。如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构。不管项目是大是小,这个架构模板的形态一旦定型了之后就不太会变,区别只是我们有更多的服务有更复杂的调用,更复杂的消息流转,更多的Job,整个架构整体是可扩展的,而且不会变形,这个架构可以在很长的一段时间内无需有大的调整。图上画了虚线框...

2019-05-28 20:16:02 439

转载 漫画 | 程序员如何给女朋友解释什么是负载均衡

目录为什么需要负载均衡什么是负载均衡负载均衡分类负载均衡工具周末晚上,和女朋友去电影院,准备看晚上的DC的海底动作冒险电影——海王。在入口处,人很多,有几个引导人员时不时的指挥观众从不同的入口进入影院内。我们站在队伍的尾端。Load balancing,即负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配...

2019-05-28 19:40:00 696

转载 什么是单点登录(SSO)

目录一、什么是单点登录?二、回顾单系统登录三、多系统登录的问题与解决3.1 Session不共享问题3.2 Cookie跨域的问题3.3 CAS原理一、什么是单点登录?单点登录的英文名叫做:Single Sign On(简称SSO)。在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分...

2019-05-28 16:18:41 224

原创 JAVA递归生成权限树

递归生成一个权限树,可通过以下过程实现:1.首先从权限数据表中获取所有根节点。 2.为根节点建立次级子树并拼接上。 3.通过递归为子节点建立次级子树并接上,直至为末端节点拼接上空的“树”。每条权限有自己的id、父节点parentId、权限名称name、权限还拥有次级权限children。权限表:CREATE TABLE `module` ( `id` int(10) NOT...

2019-05-24 17:47:10 2919 2

转载 漫画:什么是 HTTPS 协议?

什么是HTTP协议?HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。HTTP协议通过请求/响应的方式,在客户端和服务端之间进行通信。这一切看起来很美好,但是HTTP协议有一个致命的缺点:不够安全...

2019-05-24 10:01:20 162

转载 各位根本不会写 Java!包括我哈

目录1、技术点2、开发工具3、Bean4、Bean 的验证5、拥抱 lombok6、重构7、设计模式8、技能9、总结以下专题教程也许您会有兴趣1、技术点本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。2、开发工具...

2019-05-23 13:18:19 163

转载 什么是java OOM?如何分析及解决oom问题?

最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习。1)什么是OOM?OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明:Throw...

2019-05-17 09:51:32 233

转载 spring boot与spring mvc的区别是什么?

Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop,ioc 提供了依赖注入的容器 ,aop 解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XM...

2019-05-17 09:41:23 205

转载 权限管理模块设计

我们比较常见的就是基于角色的访问控制,用户通过角色与权限进行关联。简单地说,一个用户拥有多个角色,一个角色拥有多个权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间、角色与权限之间,通常都是多对多的关系。如下图:基于这个,得先了解角色到底是什么?我们可以理解它为一定数量的权限的集合,是一个权限的载体。例如:一个论坛的“管理员”、“版主”,它们都是角色。但是所能...

2019-05-15 17:33:16 333

转载 static关键字的四种用法

目录static关键字1.修饰成员变量2.修饰成员方法3.静态块4.静态导包总结static关键字1.修饰成员变量在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法来说的。请看下面的例子:(未避免程序太过...

2019-05-15 13:53:15 131

转载 final关键字的几种用法

目录final关键字1.修饰数据2.修饰方法参数3.修饰方法4.修饰类总结在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。final关键字在java中,final的含义在不同的场景下有细微的差别,...

2019-05-15 13:46:55 576

转载 JVM类加载过程

目录类加载过程加载验证准备解析初始化类加载过程Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢?系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。加载类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义...

2019-05-13 15:58:47 281

转载 TCP的三次握手与四次挥手(详解+动图)

目录背景描述常用的熟知端口号TCP的概述TCP报文首部TCP连接的建立(三次握手)为什么TCP客户端最后还要发送一次确认呢?简单示意图:为什么要三次握手为什么要传回 SYNTCP连接的释放(四次挥手)​为什么客户端最后还要等待2MSL?为什么建立连接是三次握手,关闭连接确是四次挥手呢?如果已经建立了连接,但是客户端突然出现故障了怎么办?传了...

2019-05-13 14:08:30 979

转载 Spring Boot(六):如何优雅的使用 Mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo 和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。Orm 框架的...

2019-05-13 11:59:02 182

转载 在Intellij IDEA中使用Debug

目录一、Debug开篇二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断Debug十、附:JRebel激活Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运...

2019-05-09 16:39:08 370

转载 String.format()字符串格式化

问题在开发的时候一段字符串的中间某一部分是需要可变的 比如一个Textview需要显示”XXX用户来自 上海 年龄 21 性别 男”其中的 XXX 是用户名 每个用户也是不一样的地区 上海 为可变的string数据年龄 21 为可变的int数据性别 男 为可变的string数据遇到这种情况你们是怎么样解决的呢?把这段字符串保存在常量类里吗?不!我们应该遵循Google的开...

2019-05-09 14:18:23 3828

转载 【面试】吃透了这些Redis知识点,面试官一定觉得你很NB(干货 | 建议珍藏)

是数据结构而非类型很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。这一点必须要记住。所以任何东西只要能转化成字节数组(byte[])的,都可以存到redis里。管你是字符串、数字、对象、图...

2019-05-09 13:55:39 172

转载 【IO】迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章

网上有很多讲同步/异步/阻塞/非阻塞/BIO/NIO/AIO的文章,但是都没有达到我的心里预期,于是自己写一篇出来。常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是一...

2019-05-09 13:44:50 143

转载 程序员编程中,有哪些好的习惯一开始就值得坚持

目录#1 - 在开始编码之前先规划和组织代码#2 - 避免大块重复代码,小块也不行#3 - 使用易于阅读的命名约定#4 - 注释所有代码,即使它看起来很明显#5 - 在构建时测试和调试代码#6 - 实现版本控制系统#7- 多吃枸杞,养生、护发、防猝死。说一些基础的、适用于初学者的好习惯。#1 - 在开始编码之前先规划和组织代码在项目的开始阶段,不要上手直...

2019-05-07 16:08:02 226

转载 java数据脱敏处理,手机号,身份证号和银行卡号打码展示

目录方式1:substring分割方式2:正则匹配验证方式3:StringUtils.overlay1 先引入commons-lang3,这个基本每个项目都用到2 数据处理3 测试结果方式1:substring分割String phone = "13123456789";String phoneNumber = phone.substring(0, 3) +...

2019-05-07 14:01:31 3690

转载 Java日志框架:slf4j作用及其实现原理

目录简单回顾门面模式我们为什么要使用slf4jslf4j应用举例slf4j实现原理简单回顾门面模式slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式,门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:门面模式的核心为Facade即门面对象,门面对象核心为几个...

2019-05-06 15:28:48 117

转载 权限管理系统之集成Shiro实现登录、url和页面按钮的访问控制

目录一、引入依赖二、增加Shiro配置三、自定义Realm四、登录认证1.登录页面2.处理登录请求五、Controller层访问控制1.首先来数据库的数据,两张图是用户角色、和角色权限的数据。2.设置权限六、前端页面层访问控制1.首先设置html标签引入shiro2.控制按钮可见七、小结用户权限管理一般是对用户页面、按钮的访问权限管理。Sh...

2019-05-05 11:52:51 943

转载 理解 IntelliJ IDEA 的项目配置和Web部署

目录1、项目配置的理解1.1 Project1.2 Modules1.2.1 增删子项目1.2.2 子项目配置1.2.3 增删框架(Web部署-1)1.3 Libraries1.4 Facets1.5 Artifacts(Web部署-2)2、参考链接1、项目配置的理解IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎...

2019-05-05 11:16:08 273

空空如也

空空如也

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

TA关注的人

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