自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

转载 redis 分布式锁

转自 https://mp.weixin.qq.com/s/eHsuEc8Dq3h1Kz1uqBWsjA分布式锁可以解决在分布式环境下的多资源竞争问题,常见的分布式锁实现有以下3种:基于数据库的唯一索引方式或乐观锁方式。基于Redis单线程特性的原子操作。基于Zookeeper的临时有序节点。本文主要介绍Redis如何实现分布式锁的获取...

2019-06-26 11:26:00 121

转载 spring security使用和原理简析(3)

转自 https://www.colabug.com/4927991.html假如没有spring security我们自己实现对url权限验证,则必然也是添加拦截器对于请求进行过滤,所以Spring Security 的核心之一就是它的过滤器链。我们就从它的过滤器链入手,下图是Spring Security 过滤器链的一个执行过程,本文将依照该过程来逐步的剖析其认证过程...

2019-06-26 11:22:00 452

转载 spring security使用和原理简析(2)

转自https://pjmike.github.io/2018/10/12/%E6%B5%85%E6%9E%90Spring-Security-%E6%A0%B8%E5%BF%83%E7%BB%84%E4%BB%B6/上一篇我们主要讲述了如何搭项目,这里我们就来简单探究一下原理Spring Security的核心类Spring Security的核心类主要包括以下几个:...

2019-06-23 18:31:00 168

转载 spring security使用和原理简析(1)

主要参考:https://blog.csdn.net/u012373815/article/details/55225079源码参考:https://github.com/527515025/springBoot项目需求1:实现了用户、角色、权限的动态管理,可以管控到接口地址,已经访问方式(get,post)2:自定义登录接口3:结合spring-session,来保...

2019-06-23 17:09:00 124

转载 java 父子类加载顺序

转自:https://yq.aliyun.com/articles/653204?utm_content=m_1000018740先上桌结论:父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父类非静态属性 > 父类非静态代码块 > 父类构造器 > 子类非静态属性 > 子类非静态代码块 &...

2019-06-03 14:47:00 118

转载 Apache Kafka核心概念

1、Kafka集群结构在第一章我给出过一个消息系统通用的结构图,也就是下图:实际上kafka的结构图是有些区别的,现在我们看下面的图:producer和consumer想必大家都很熟悉,一个生产消息,一个消费掉消息。这里就不再做太多解释。此图和第一张图可以看到有几个区别:1、多了zookeeper集群,通过前几章的学习我们已经知道kafka是配合zookeep...

2018-11-27 14:59:00 80

转载 elstaticsearch 入门(五)

它是一个面向文档的数据库,既然是数据库那就来说一下它和数据库的对应关系:关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)Elasticsearch(非关系型数据库) ⇒ 索引(index) ⇒ 类型(type) ⇒ 文档 (document)⇒ 字段(Fields)Elasticsearch是如何做到快速索引的呢?Elasticsearch采...

2018-11-09 09:58:00 3299

转载 kafka实现分布式事务

不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据源之间进行多次等待. 有一种方法同样可以解决分布式事务问题, 并且性能较好, 这就是我这篇...

2018-10-08 16:03:00 574

转载 mysql主从同步配置

一、原理mysql主从配置的流程大体如图:1)master会将变动记录到二进制日志里面;2)master有一个I/O线程将二进制日志发送到slave;3) slave有一个I/O线程把master发送的二进制写入到relay日志里面;4)slave有一个SQL线程,按照relay日志处理slave的数据;二、操作步骤按照原理,我们开启mysql主从复制,我...

2018-10-08 12:01:00 75

转载 HBase架构原理

一、什么是HBase HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价的PC Server上搭建大规模结构化存储集群。 HBase是Google BigTable的开源实现,与Google BigTable利用GFS作为其文件存储系统类似,HBase利用Hadoop HDFS作为其文件存储系统;   ...

2018-09-28 17:57:00 101

转载 Hadoop NameNode HA模式的搭建以及原理

搭建HA(高可用)模式的集群参见(http://blog.cheyo.net/92.html)转自:http://www.it165.net/admin/html/201407/3465.html社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现。为什么要Namenode HA?1. Name...

2018-09-27 14:28:00 110

转载 hadoop三大核心组件

Hadoop集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。(1)HDFS集群:负责海量数据的存储,集群中的角色主要有NameNode/DataNode/SecondaryNameNode。(2)YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有ResourceManager/NodeManager(3)MapRe...

2018-09-25 16:59:00 1628

转载 Hbase 列簇属性详解

DESCRIPTION ENABLED 'ns1:season', {NAME => 'autumn', DATA_BLOCK_ENCODING => 'NONE'...

2018-09-14 11:37:00 737

转载 Elasticsearch 入门(四)

Es 分片交互过程分析一、Elasticseach如何将数据存储到分片中问题:当我们要在ES中存储数据的时候,数据应该存储在主分片和复制分片中的哪一个中去;当我们在ES中检索数据的时候,又是怎么判断要查询的数据是属于哪一个分片。数据存储到分片的过程是一定规则的,并不是随机发生的。规则:shard=hash(routing)%nu...

2018-09-13 16:19:00 125

转载 Elasticsearch 入门(三)

在ElasticSearch中,集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间的关系Cluster包含多个node,Indices不应该理解成动词索引,Indices可理解成关系数据库中的databases,Indices可包含多个Index,Index对应关系数据库中的database,它是用来存储相关文档的。El...

2018-09-13 15:58:00 141

转载 Elasticsearch 入门(二)

一 精确值 VS 全文Elasticsearch 中的数据可以概括的分为两类:精确值和全文。精确值如它们听起来那样精确。例如日期或者用户 ID,但字符串也可以表示精确值,例如用户名或邮箱地址。对于精确值来讲,Foo和foo是不同的,2014和2014-09-15也是不同的。另一方面,全文是指文本数据(通常以人类容易识别的语言书写),例如一个...

2018-09-12 14:50:00 143

转载 Elasticsearch 入门(一)

一 环境搭建系统环境:win10的linux子系统,Ubuntu子系统依赖环境:java 8的环境启动命令:打开到解压目录,./bin/elasticsearch -d遇到的问题:1 es6无法使用root用户:创建elsearch用户组及elsearch用户groupadd elsearchadduser elsearch(u...

2018-09-11 14:34:00 262

转载 Java 详解 JVM 工作原理和流程

转自http://www.cnblogs.com/lishun1005/p/6019678.html,https://zhuanlan.zhihu.com/p/39536807作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和J...

2018-09-07 15:08:00 60

转载 mysql 练习题

转自https://www.cnblogs.com/zh605929205/p/6972589.html一、表关系  请创建如下表,并创建相关约束二、操作表1、自行创建测试数据2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;3、查询平均成绩大于60分的同学的学号和平均成绩;4、查询所有同学的学号、姓名、选课数、总成绩;5、查询姓“李”的老...

2018-09-05 10:44:00 71

转载 求二叉树的深度和宽度[Java]

转自http://blog.csdn.net/htyurencaotang/article/details/12406223这个是常见的对二叉树的操作。总结一下:设节点的数据结构,如下:1 class TreeNode {2 char val;3 TreeNode left = null;4 TreeNode right = n...

2018-08-27 13:14:00 89

转载 JVM 常用参数

java启动参数共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;标准参数中比较有用的:verbose-verbose:cla...

2018-08-21 17:04:00 61

转载 JVM GC

新生代老年代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的...

2018-08-21 15:12:00 61

转载 jdk1.8 HashMap

本文为转贴:HaspMap源码分析(JDK 1.8)作者:zuckerbergJu2.0链接:https://juejin.im/post/5a7719456fb9a0633e51ae14一、概述HashMap是我们在编程中遇到极其频繁、非常重要的一个集合类,如果能对HashMap做进一步的性能优化是非常有价值的而JDK 1.8做到了,所以非常有必要学习HashM...

2018-08-21 10:26:00 108

转载 ConcurrentHashMap源码分析

JDK 1.8的实现已经抛弃了Segment分段锁机制,利用CAS+Synchronized来保证并发更新的安全,底层采用数组+链表+红黑树的存储结构。一 putval final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) thro...

2018-08-20 20:00:00 85

转载 java多线程的应用场景

场景1假如有Thread1、Thread2、ThreaD3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?1)通过java.util.concurrent.Executors中的方法创建一个线程池,用这个线程池来启动线程。启动所有要启动的线程后,执行线程池的shutdown()方法,即在所有线程执行完毕后...

2018-08-20 18:38:00 181

转载 tomcat连接数与线程池

转自 http://www.cnblogs.com/kismetv/p/7806063.htmlConnector的protocolConnector在处理HTTP请求时,会使用不同的protocol指定的protocol取值及对应的协议如下:HTTP/1.1:默认值,使用的协议与Tomcat版本有关org.apache.coyote.http11.Http11P...

2018-08-14 17:20:00 92

转载 tomcat配置文件说明

转自 https://www.cnblogs.com/kismetv/p/7228274.html核心组件1 server:Server元素在最顶层,代表整个Tomcat容器,因此它必须是server.xml中唯一一个最外层的元素。一个Server元素中可以有一个或多个Service元素。在第一部分的例子中,在最外层有一个<Server>元素,shutdown...

2018-08-14 16:24:00 78

转载 java wait notify/notifyAll

转自https://www.cnblogs.com/moongeek/p/7631447.htmlwait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 同步代码块里使用 wait()、notif...

2018-08-09 16:38:00 66

转载 Spring Aop

转自:http://www.cnblogs.com/yulinfeng/p/7811965.html,https://www.cnblogs.com/liuruowang/p/5711563.html通知类型介绍(1)Before:在目标方法被调用之前做增强处理,@Before只需要指定切入点表达式即可(2)AfterReturning:在目标方法正常完成后做增强,@Afte...

2018-08-09 11:33:00 44

转载 java 线程池原理分析

转自https://blog.csdn.net/u010963948/article/details/80573898使用线程池的好处降低资源消耗提高响应速度提高线程的可管理性以ThreadPoolExecutor为例,线程池的工作流程图如下饱和策略AbortPolicy:为Java线程池默认的阻塞策略,不执行此任务,而且直接抛出一个运行时异...

2018-08-07 15:30:00 62

转载 java lock和synchronized

转自http://www.cnblogs.com/dolphin0520/p/3923167.htmlsynchronized的缺陷一个代码块被synchronized修饰只有两种情况会释放锁获取锁的线程执行完了该代码块,然后线程释放对锁的占有;线程发生异常,此时JVM会让线程自动释放锁所以会产生以下的问题那么如果这个获取锁的线程由于要等待IO或者其...

2018-08-07 13:36:00 84

转载 jdk 8 内存模型

转自 https://www.cnblogs.com/paddix/p/5309550.html,https://my.oschina.net/wangsifangyuan/blog/711329JVM内存模型虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象...

2018-08-07 10:59:00 82

转载 java volitile关键字

转自https://www.cnblogs.com/dolphin0520/p/3920373.html//线程1boolean stop = false;while(!stop){ doSomething();} //线程2stop = true;第一:使用volatile关键字会强制将修改的值立即写入主存;第二:使用volati...

2018-08-06 16:25:00 164

转载 java Callable、Future和FutureTask

java并发编程:Callable、Future和FutureTask我们知道创建线程的方式有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。Future提供了三种功能:  1...

2018-08-06 15:52:00 56

转载 java web 二

接上一篇前端问题前端界面主要使用vue的element的ui组件来实现的,引用以下组件就可以使用vue的框架了,详见https://cn.vuejs.org/ <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <s...

2018-01-23 17:06:00 97

转载 java web 一

需求:可以使用在网页调用脚本打包,也可以添加修改打包配置技术选型:spring mvc +vue数据存储:项目功能十分简单,先期通过读写json文件来实现。后续看情况是否引入数据库后台问题记录1controller返回json数据在controller上添加@ResponseBody的注解,并在servlet的配置中添加如下配置 <mvc:anno...

2018-01-23 16:25:00 79

空空如也

空空如也

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

TA关注的人

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