啊杰的博客

愿做一个默默成长的程序员。加油!

自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Solr原理

1.倒排索引基本概念       文档(Document):一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如Word,PDF,html,XML等不同格式的文件都可以称之为文档。再比如一封邮件,一条短信,一条微博也可以称...

2019-01-05 14:07:20

阅读数 1082

评论数 0

Dubbo原理分析

接触了dubbo框架已经接近一年,今天把dubbo框架的实现总结一下。 1.前言 未有dubbo之前,我们在应用与应用跨应用调用,一般可以采用基于TCP的socket来实现(当然也可以用netty或者httpclient),当采用这种调用方式,会有一个严重弊端,那就是当服务过多时,导致调用者与...

2018-12-22 22:01:23

阅读数 116

评论数 0

深入理解数据库索引的实现原理

什么是索引 索引是帮助数据库高效获取数据的数据结构。索引是在基于数据库表创建的,它包含一个表中某些列的值以及记录对应的地址,并且把这些值存储在一个数据结构中。索引是以索引文件的形式存放于磁盘中。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。 索引的优缺点 在mysql...

2018-12-21 15:59:26

阅读数 116

评论数 0

数据库事务相关知识总结

数据库事务的四个基本要素(ACID) 1.原子性(A):事务的原子性是指事务是一个不可分割的工作单位,这组操作要么全部发生,否则全部不发生。发生错误就回滚。 2.一致性(C):在事务开始以前,被操作的数据的完整性处于一致性的状态,事务结束后,被操作的数据的完整性也必须处于一致性状态。比如转账:...

2018-12-21 13:52:13

阅读数 103

评论数 0

Java并发之AQS学习笔记

Java并发包(JUC)中有几个重要并发类如CounDownLatch、Semaphore、CyclicBarrier以及我们重要的可重入锁ReentrantLock等。它们的底层实现就是基于AQS实现的。看过源码之后,会惊叹设计者的设计之妙!说到AQS,在Java并发中,还有一种CAS算法,它是...

2018-12-13 21:28:42

阅读数 130

评论数 0

Java并发之死锁与解决方法

死锁   线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,...

2018-12-12 23:14:07

阅读数 150

评论数 0

Java并发之线程池学习笔记

JUC包下有一个重要的线程池的实现,大大优化方便了我们对线程的使用,而不再是传统的new一个Thread。线程池相对传统的直接创建线程主要有三个优点: 1.统一管理线程,可以重用存在的线程,避免多次的创建、消亡的开销,使得性能表现得更好 2.可以有效控制最大并发线程数,提高系统资源利用率,同时...

2018-12-12 22:44:22

阅读数 83

评论数 0

二叉树常用算法实现(Java)

 剑指offer与LeetCode刷题过程中二叉树相关算法的实现总结 /** * Copyright (C), 2018, 杨智杰 * FileName: BinaryTree * Author: 猪猪 * Date: 2018/11/24 12:14 * Descrip...

2018-12-02 22:55:12

阅读数 157

评论数 0

TCP三次握手四次挥手

确认ACK,仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1; 同步SYN,在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1; 终止FIN,用来释放连接。当FIN=1,表明此...

2018-12-02 22:42:03

阅读数 74

评论数 0

初入红黑树

说红黑树之前,首先有必要理解各种树的概念。这里有一篇写得很好相关概念的介绍,并且有相关操作的算法代码实现 https://www.cnblogs.com/kuotian/p/5333956.html 红黑树是一种自平衡二叉查找树。 1.红黑树的性质: 一般的,红黑树,满足以下性质,即只有满...

2018-11-26 21:50:39

阅读数 107

评论数 0

深入理解JVM--Java程序如何在虚拟机中运行

Java 虚拟机将运行时内存区域划分为五个部分,分别为方法区、堆、PC 寄存器、Java 方法栈和本 地方法栈。Java 程序编译而成的 class 文件,需要先加载至方法区中,方能在 Java 虚拟机中运行。 JVM将字节码编译成机器码有两种方式:第一种是解释执行,即逐条将字节码翻译成机器码并...

2018-11-25 21:46:26

阅读数 113

评论数 0

深入理解JVM--内存模型及其内存溢出异常

要想深入理解JVM,必然先理解JVM的内存模型。根据Java虚拟机规范,Java虚拟机所管理的内存区域包括以下几个运行时内存区域,如下图所示。接下来逐一讲解每个内存区域的具体作用。 1.程序计数器(线程私有) 程序计数器是一块很小的内存区域,它可以看作是当前线程所执行的字节码的行号指示器。...

2018-11-05 22:57:04

阅读数 81

评论数 0

实战-SpringBoot与Shiro安全框架整合实现认证以及权限管理

SpringBoot是最近比较火的变态版spring系列框架,但是本文这里不是讲解springboot相关方知识的博文,如果有兴趣,博主会抽空整理写一篇。至于Shiro的相关理论知识以及实战(SSM),博主在之前的博文有详细介绍。 1.实战-Shiro安全框架(一)认证 2.实战-Shiro安...

2018-11-02 11:56:25

阅读数 318

评论数 0

实战-Shiro安全框架(二)权限控制

  上一篇讲解了shiro的认证流程以及实现。这一篇,笔者要详细讲解shiro的另一重要部分就是权限控制,简称授权。   授权流程跟认证流程很相似,大致过程为当前用户subject调用isPermitted*/hasRole* 接口时,将会委派给security manager,security...

2018-10-27 20:52:57

阅读数 169

评论数 0

实战-Shiro安全框架(一)认证

  Shiro是一个很不错的安全权限框架,可以完成认证、授权、加密、会话管理、缓存等。既能用于javase,也可以用于JavaEE中。这里,笔者以Javaee中为例,讲解一下shiro的第一部分--认证。   认证,通俗的说,就是我们web系统的登陆。使用shiro框架后,就不用我们向之前那样写...

2018-10-27 15:08:03

阅读数 193

评论数 0

hibernate快速入门(适合初学者)

    hibernate是一个ORM(对象关系映射)框架,ORM简单的说就是我们的实体对象与数据表的映射,由实体对象映射出数据表。hibernate是非常优秀的dao层的框架之一。使用hibernate框架,可以大大提高我们的开发效率,摆脱繁琐的jdbc原始操作,甚至都不用写sql语句了,这是我...

2018-05-24 16:24:22

阅读数 141

评论数 0

ActiveMQ与Spring的整合

ActiveMQ是遵循jms规范编写的,所以单独使用ActiveMQ时,步骤稍微有点繁琐,但又比较死板。但ActiveMQ可以与spring完美整合,整合后,ActiveMQ的使用就相当方便了。目前企业开发绝大多数用到spring,所以ActiveMQ与Spring的整合过程有必要学习。接下来笔者...

2018-02-12 23:00:31

阅读数 213

评论数 0

java_三大变量-静态变量、成员变量、局部变量

这篇博客中,笔者将详细介绍java中类中三大变量-静态变量、成员变量、局部变量。局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以...

2018-02-12 22:24:57

阅读数 300

评论数 0

java_类与对象

今天笔者将要介绍的是java的基础篇--类与对象。对象:对象是类的一个实例。万物皆对象,对象具有状态与行为特征。比如一只猪有名字,有年龄,会有睡觉,吃饭等行为。类:类是一类对象的集合。它描述一类对象的行为和状态。比如人类是男人与女人的统称。java中的类public class User { /...

2018-02-12 21:51:27

阅读数 124

评论数 0

Redis集群搭建

1.1. Redis集群的搭建Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。Redis集群至少需要6台服务器。搭建伪分布式。可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-70061.1.1.    集群搭建环境1、使用ruby脚本...

2018-02-11 15:15:38

阅读数 132

评论数 0

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