- 博客(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源码深度解析 第二章
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
原创 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存储引擎第五章(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中将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
原创 springdatajpa分页操作思维导图
利用mybatis的pagehelper进行分页时,代码层面相对于springdatajpa会简单很多。而springdatajpa进行分页时,只能呈现出当前页下一页等操作,无法呈现页码导航栏(如图一)的效果。图一思维导图如下所示:...
2020-10-24 13:56:20 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人