自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Rabbit官方文档中的work queue与exchange的区别

官方文档中对于rabbitmq消息模型的分类有七种,第一种和第二种差别不大,几乎完全一样。Rabbit的send和receive代码层面几乎一样,第一种说的是一个sender和一个receiver,而第二个说的是一个send和多个receiver(消息轮流发给多个receiver,每个receiver得到的消息数是均匀分配的),两种消息模型在代码层面上都没有用到exchange。第七种和第六种忽略掉。剩下的三种(3,4,5)就是在代码中提到了exchange的消息模型,这三种都属于订...

2021-02-09 16:08:37 465

原创 RabbitMQ实战 第二章

如图:注:交换器和绑定这样设计的好处有两点::和注:将durable设为true,也就是将队列或者交换机持久化的意思。事务...

2021-02-09 16:05:40 221

原创 redis设计与实现 第十五章

删除也一样,此处不再给出。旧版的复制P199-P201细说同步和命令传播操作。同步:命令传播:旧版复制缺陷P202例子:新版复制功能的实现P205-P209细说部分重同步的实现。具体内容略。P209-P211细说psync的实现。P211-P216细说复制(slaveof方法)的实现。心跳检测...

2021-01-27 14:23:22 228

原创 Redis设计与实现 第十一章

P139-P142说到这三个步骤。AOF文件的载入与还原注:aof持久化的开启,可以通过修改redis.conf文件完成。将no改为yes即可。always: 每次操作都会立即写入aof文件中everysec: 每秒持久化一次(默认配置)no:不主动进行同步操作,默认30s一次# If you have latency problems turn this to "yes". Otherwise leave it as# "no"...

2021-01-27 14:21:02 154

原创 Redis设计与实现 第十章

RDB持久化RDB文件的创建与载入补充:自动间隔性保存注:该配置在redis.conf 文件上配置。(如果是Windows上则是redis.windows.conf文件)P123-P125谈到保存的具体实现,略P125-P133细说RDB文件结构P133-P136细说实际RDB文件...

2021-01-27 14:18:52 95

原创 Redis设计与实现 第九章

Redis数据库切换数据库P93-P98介绍redis的键空间,包括更新键,删除键,添加键和就键取值等操作。注:unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。定时删除惰性删除定期删除P109-P111会讲到删除策略的具体实现,此处略。RDB对过期键的...

2021-01-27 14:15:23 107

原创 spring源码深度解析 第五章 part one

概述上述代码:1.2.接下来的步骤直接结合文章开头的代码来看吧,此处不再一一列举。介绍factorybean自定义初始化方法:缓存中获取单例bean从bean的实例中获取对象上述代码中的doGetObjectFromFactoryBean获取单例注:这里对ObjectFactory使...

2021-01-13 17:20:32 112

原创 spring源码深度解析 第三章

P37-P63都在细说上面五个步骤。P63-P67补充介绍了对其余三种标签的处理。

2021-01-13 17:15:11 221

原创 spring源码深度解析 第二章

P11的Demo略。该demo和黑马初学spring的视频教程中的demo一致。通过bean.xml的形式将bean加入到spring应用上下文中。再通过XMLbeanFactory读取bean.xml文件。功能分析:核心类:该段代码的时序图略。配置文件的封装:Spring利用resource接口来封装底层资源。获取xml的验证模式:介绍xml的两种约束:DTD...

2021-01-13 17:14:17 190 4

原创 spring源码深度解析 第一章

2021-01-13 17:08:18 122

原创 innodb存储引擎第六章(锁)

Lock和latchLatch是轻量级的锁,latch可以分为互斥锁和读写锁。无死锁检测机制。意向锁等待表锁操作的完成,意思是需要等待表一上的s表锁释放后,再对表一加上IX锁。上面说到,等待表锁操作的完成,意思是需要等待表一上的s表锁释放后,再对表一加上IX锁。通过表中数据可知,S与IX不兼容。具体可看P255-P258页。一次性非锁定读具体例子可参考P260页。...

2021-01-13 17:06:09 140

原创 innodb存储引擎第五章(part two 多种索引 )

什么时候需要添加索引?Show index:OrderDetails是一个table。Cardinality如何统计?联合索引注:这里的SQL语句,优化器使用了联合索引,联系最左匹配原则去思考, (userid,buy_date)复合索引,创建复合索引的规则是首先会对复合索引的最左边的,也就是第一个userid字段的数据进行排序,在第一个字段的排序基础上,然后再对后面第二个的buy_date字段进行排序。所...

2021-01-13 16:59:22 121

原创 VMware11安装Centos7教程

点击创建新的虚拟机选择自定义,下一步默认即可,下一步稍后安装操作系统,下一步默认即可,下一步修改名称,按需求修改路径按需求自己定义处理器数量以及核数,下一步默认即可,下一步选NAT模式,下一步默认即可,下一步默认即可,下一步选择创建新的虚拟磁盘,下一步按条件选择最大磁盘大小,勾选“将虚拟磁盘拆分成多个文件”,点击下一步磁盘文件默认即可。点击自定义硬件选择新CD/DVD,勾选 使用ISO映像..

2020-12-21 17:42:21 456

原创 VMware11上的Centos7在NAT模式下的网络配置

点击右上角的 编辑 ,选择 虚拟网络编辑器。修改子网ip和子网掩码如图所示,选择 Vmnet8(1处),取消勾选使用本地DHCP服务将IP地址分配给虚拟机(2处),最后点击3处的NAT设置。记住1处的网关。点击确定。Windows控制面板上右键点击VMware Network Adapter VMnet8,选择属性,选择IPV4,点击属性IP地址:与虚拟网关ip(上面要记住的192.168.1.2)在同个网段默认网关:虚拟网关的地址(192.16...

2020-12-21 17:34:41 157

原创 ArrayList源码解析

前言集合中的collection接口下的常用类的关系ArrayList中的成员变量/*** Shared empty array instance used for empty instances.*/private static final Object[] EMPTY_ELEMENTDATA = {};/*** Shared empty array instance used for default sized empty instances. We* di...

2020-12-12 21:24:17 244 3

原创 innodb存储引擎第三章读书笔记

参数文件日志文件错误日志慢查询日志查询日志二进制日志PID文件innodb存储引擎文件...

2020-12-03 16:23:55 116

原创 innodb存储引擎第五章(part one :聚集索引与非聚集索引)

开始介绍了二分查找,二叉查找树和二叉平衡树,Sedgewick的算法第四版中介绍过了,故就此略过。接下来我总结一下数据结构中的树:二叉排序树:略。AVL树:在二叉排序树的基础上加上平衡条件(即每个节点左右子树高度差≤1)2-3树:最简单的B树,有二节点和三节点(该节点有三个子节点,且该节点上有两个关键字)。平衡树:每个节点左右子树高度差≤1。完全二叉树:二叉树的基础上,每个节点所在的层,其右边节点不为空或全为空,其左边节点不为空。B树:每个节点的子节...

2020-12-03 16:12:54 139

原创 数据库(基础概念part three)

关系和关系模式关系是两个域的笛卡尔积的子集(或者元组的集合,我的 数据库(基础概念part two)解释过关系是什么),而关系模式是什么?百度百科有这样一句话:关系的描述称为关系模式(Relation Schema),关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。表示方式关系模式可以表示为R(U,F),这里的U是属性集,F是函数依赖。属性集是什么?一个关系里面,每一列称之为属性.

2020-12-02 17:00:12 427

原创 JAVA 中的解释器与编译器

Java编译器: JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具。编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。(百度百科的解释)注:这里的javac编译器可称为前端编译器,具体可看深入理解java虚拟机第二版P30...

2020-11-18 01:11:04 2165

原创 JVM参数类型与一些工具的使用

前言jvm的参数类型分为三类,分别是:标准参数 例如:-help -version-X参数 (非标准参数) 例如:-Xint -Xcomp-XX参数(使用率较高) 例如:-XX:newSize -XX:+UseSerialGC标准参数用java -help 检索出所有的标准参数。例一,通过java -version查看jvm版本例二,通过-D设置系统属性参数publicclassTestJVM{publicstaticvoidmain(Stri...

2020-11-16 12:22:23 166

原创 java序列化与json序列化

java序列化Java 序列化可以将一个对象表示为一个字节序列。(该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型)可以把这个序列化对象写入文件之后,然后也可以从文件中读取出来,并且对它进行反序列化(即将字节序列转为java对象)demo略掉了,demo用的是objectinputstream和objectOutputStream。demo可以查看(https://www.runoob.com/java/java-serialization.html)补.

2020-10-27 12:57:19 2046

原创 java集合概述

有序与无序有序、无序是指在进行插入操作时,插入位置的顺序性先插的位置在前,后插的位置在后,则为有序,反之无序(List是有序的,treeset是有序的,hashset是无序的,hashmap是无序的,treemap是有序的)常用方法Collection1.List方法:addgetremove 还有其他的indexof和toArray等等2.set方法:addremove遍历方式:collection实现类都有iterato...

2020-10-27 12:39:29 71

原创 Map的某种创建方式

  Map<String, Object> map = new HashMap<String, Object>() {   {   put("name", "June");    put("age", 12);   }  };外层的一组“{}”表示的是一个匿名类,内层的一对“{}”表示的是实例初始化块。实例初始化块的代码在编译器编译过后,是放在类的构造函数里面的,并且是在原构造函数代码的前面。...

2020-10-27 12:29:23 806

原创 java集合是否需要重写hashcode和equals方法总结

SEThashset类需要重写equals和hashcode来保证插入自定义类的唯一性。hashset的add方法利用了HashMap的putval方法。treeset有自然排序和定制排序,其add方法利用了treemap的put方法。treeset和treemap不需要重写equals和hashcode方法。treeset利用重写后的compare方法(如果是自然排序的话)保持元素唯一性。MAPhashmap需要重写equals和hashcode来保证插入自定义类作为key的.

2020-10-27 12:26:23 1286 2

原创 Springdatajpa中一对多时实体类的单向关联和双向关联

这个项目里都是单向关联,因为没有双向关联的需求。(即便如此,这个项目里还是要去处理某些循环引用的情况。)不过还是要对比一下。单向关联:单向关联指的是实体类A中有一个实体类B变量,但是实体类B中没有实体类A变量,即为单向关联。双向关联 :双向关联指的是实体类A中有一个实体类B变量,而实体类B中也含有一个实体类A变量,即为双向关联。在双向关联时,可能会存在对象序列化成JSON字符创时的死循环问题,因为A中包含B,B中也包含A,序列化A中的B时,因为B也含有A,A又含有B,所以..

2020-10-27 00:01:41 870

原创 springdatajpa 中get××方法与find××方法的区别

前言如果是数据库中的delete,update和insert操作,则不需要显式的在Repository的子接口中定义方法。具体可以去中文论坛查找相关资料。下面主要讨论select操作时get和find的区别。下面列举的就是springdatajpa的官方文档内容。getOne()方法getOne()返回对具有给定标识符的实体的引用。getOne在内部调用EntityManager.getReference()方法。根据文档,此方法将始终返回代理,而不会访问数据库(延迟获取)。如果请.

2020-10-26 23:52:52 3293

原创 URI和URL

URL包括URI和URN,所以URI不一定是URL,但是URL必定是URI。URI—Uniform Resource Identifier通用资源标志符Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的URI一般由三部组成①访问资源的命名机制②存放资源的主机名③资源自身的名称,由路径表示,着重强调于资源。URL—Uniform Resource Location统一资源定位符URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服

2020-10-26 23:39:58 117

原创 SpringMVC处理cookie和session

Cookie将cookie返回到浏览器,cookie在http请求头和响应头里面。@RequestMapping(value = "checkCookie") public String checkCookie(String username, String password, HttpServletResponse response){ // 新建Cookie Cookie username_cookie = new Cookie("username", ...

2020-10-26 23:38:53 560

原创 MVC模式在java web和框架中的实现

前言MVC设计模式在初学java web时就说过了,但是脱离代码去解释设计模式会显得很空。Jsp中java代码和HTML共存,Sun公司提供了两种jsp model(jsp开发模型):jsp model1和jsp model2。简而言之,jsp model1使用jsp+java bean的技术,jsp负责显示页面和流程控制,java bean负责封装数据和业务逻辑。而jsp model2采用jsp+servlet+java bean的技术,jsp model2中,将原model1里的流.

2020-10-26 23:34:46 339

原创 JDBC概述

JDBCStatement使用jdbc操控数据库时,一开始学习的时候是这样的Class.forName(“com.mysql.jdbc.Driver”);再通过DriverManager获取到Connection由Connection获得到statement再利用statement执行SQL语句,返回的结果为ResultSet类。(resultset类中提供了诸多方法来访问结果集中的数据)代码如下:import java.sql.Connection;impor.

2020-10-26 23:31:39 84

原创 springboot整合shiro

配置类代码:@Configurationpublic class ShiroConfiguration { @Bean public static LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { return new LifecycleBeanPostProcessor(); } @Bean public ShiroFilterFactoryBean shirF...

2020-10-25 23:20:46 81

原创 springboot整合shiro后的注册,登录,拦截与退出(思维导图)

2020-10-25 23:09:00 160

原创 springboot中将redis作为mysql缓存层

Property文件配置# redis缓存管理配置#设置缓存类型位redisspring.cache.type=redis#配置缓存名称spring.cache.cache-names=redisCache#是否允许redis缓存空值spring.cache.redis.cache-null-values=true#redis的键前缀spring.cache.redis.key.prefix=#缓存超时时间戳,配置为0则不设置超时时间spring.cache.r

2020-10-25 23:07:23 450

原创 Nginx实现反向代理和动静分离

修改 Nginx.conf文件(在Linux上是这个名称,Windows上有点不一样,不过区别不大)server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://127.0....

2020-10-25 22:51:12 160

原创 springboot整合elasticsearch

application.properties中的配置#ElasticSearchspring.data.elasticsearch.cluster-nodes = 127.0.0.1:9300项目代码:public List<Product> search(String keyword, int start, int size) { initDatabase2ES(); FunctionScoreQueryBuilder functionScoreQueryBu.

2020-10-25 22:45:03 246

原创 SpringMVC处理图片上传

@PostMapping("/categories")public Object add(Category bean, MultipartFile image, HttpServletRequest request) throws Exception { categoryService.add(bean);//调用service里的dao方法将bean存入数据库 saveOrUpdateImageFile(bean, image, request); return bean;}pu.

2020-10-25 22:27:13 183

原创 购买全流程思维导图

2020-10-24 13:57:19 596

原创 springdatajpa分页操作思维导图

利用mybatis的pagehelper进行分页时,代码层面相对于springdatajpa会简单很多。而springdatajpa进行分页时,只能呈现出当前页下一页等操作,无法呈现页码导航栏(如图一)的效果。图一思维导图如下所示:...

2020-10-24 13:56:20 199

原创 按分类进行排序的功能思维导图

2020-10-24 13:38:35 172

原创 订单页操作思维导图

2020-10-24 13:34:45 433

空空如也

空空如也

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

TA关注的人

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