自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 HashMap.Entry源码

这个是HashMap的内部类,通过EntrySet用来存储所有的map的值。为什么我们用Iterator可以来进行遍历map的数据?原因就是有这个内部类,EntrySet ---> AbstractSet --> Set --> Collection --> Iterator; (--> 表示继承或是实现关系)这样们就可以通过Iterator来迭...

2020-03-25 11:25:28 503

原创 HashMap.Node源码

HashMap的内部类,用来存储链表上面的节点数据 // 内部类,重新实现map的Entry接口 static class Node<K,V> implements Map.Entry<K,V> { // 存入hash值 final int hash; // 存入key final K key;...

2020-03-25 11:09:54 584

原创 hashMap.TreeNode

这个是hashMap的内部类,与红黑树操作有相关,这个内部类看的不是很懂,大概懂了不到50%的样子,有机会一定回来复习。// ------------------来处于LinkedHashMap------------------------ static class Entry<K,V> extends HashMap.Node<K,V> { //...

2020-03-25 11:05:49 467

原创 AbstractMap源码

package java.util;import java.util.Map.Entry;import sun.net.www.content.image.gif;// 抽象类,实现Map集合,hashMapp, hashTable均实现的这个类public abstract class AbstractMap<K,V> implements Map<K,V>...

2020-03-25 10:58:25 145

原创 Map源码

package java.util;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Function;import java.io.Serializable;// Map是一个接口public interface Map<K...

2020-03-25 10:56:48 296 1

原创 两张表,若如果想让B中的bname字段的值等A表中对应id的aname值

有个朋友问了我这个一个数据库的问题,如下两张表,若如果想让B中的bname字段的值等A表中对应id的aname值表Aid aname 1 1 2 2 3 3 表Bid bname 1 2 3 请写出正确的sql语句。我给出的答案如下,亲测可以通过UPDATEBLEFTJOIN...

2020-03-23 09:01:13 336

原创 rocket消息的重试机制

在消息的发送和消费过程中,都有可能出现错误,如网络异常等,出现了错误就需要进行错误重试,这种消息的重试需要分2种,分别是producer端重试和consumer端重试。producer端重试生产者端的消息失败,也就是Producer往MQ上发消息没有发送成功,比如网络抖动导致生产者发送消息到MQ失败SyncProducer.javapackage com.woodie.rocket...

2020-03-20 02:28:14 513

原创 rocketMQ数据存储

RocketMQ中的消息数据存储,采用了零拷贝技术(使用 mmap + write 方式),文件系统采用 Linux Ext4 文件系统进行存储。消息数据的存储在RocketMQ中,消息数据是保存在磁盘文件中,为了保证写入的性能,RocketMQ尽可能保证顺序写入,顺序写入的效率比随机写入的效率高很多。RocketMQ消息的存储是由ConsumeQueue和CommitLog配合完成的,Com...

2020-03-19 07:16:06 1443

原创 rocketMQ重复消息的解决方案

重复消息的解决方案造成消息重复的根本原因是:网络不可达。只要通过网络交换数据,就无法避免这个问题。所以解决这个问题的办法就是绕过这个问题。那么问题就变成了:如果消费端收到两条一样的消息,应该怎样处理?消费端处理消息的业务逻辑保持幂等性 保证每条消息都有唯一编号且保证消息处理成功与去重表的日志同时出现第1条很好理解,只要保持幂等性,不管来多少条重复消息,最后处理的结果都一样。如数据库Whe...

2020-03-19 06:55:26 1833

原创 rocketMQ消息模式(集群和广播)

消息模式DefaultMQPushConsumer实现了自动保存offset值以及实现多个consumer的负载均衡。//设置组名DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("HAOKE_IM");通过groupname将多个consumer组合在一起,那么就会存在一个问题,消息发送到这个组后,消息怎么分配呢?...

2020-03-19 06:42:15 3782 1

原创 rocketMQ之consumer的push和pull模式

push和pull模式在RocketMQ中,消费者有两种模式,一种是push模式,另一种是pull模式。push模式:客户端与服务端建立连接后,当服务端有消息时,将消息推送到客户端。pull模式:客户端不断的轮询请求服务端,来获取新的消息。但在具体实现时,Push和Pull模式都是采用消费端主动拉取的方式,即consumer轮询从broker拉取消息。区别:Push方式里,consum...

2020-03-19 05:14:11 2803

原创 rocketMQ消息的分布式事务

原理Half(Prepare) Message指的是暂不能投递的消息,发送方已经将消息成功发送到了 MQ 服务端,但是服务端未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状态,处于该种状态下的消息即半消息。Message Status Check由于网络闪断、生产者应用重启等原因,导致某条事务消息的二次确认丢失,MQ 服务端通过扫描发现某条消息长期处于“半消息”时,需要主...

2020-03-18 06:31:28 128

原创 rocket顺序消息

顺序消息在某些业务中,consumer在消费消息时,是需要按照生产者发送消息的顺序进行消费的,比如在电商系统中,订单的消息,会有创建订单、订单支付、订单完成,如果消息的顺序发生改变,那么这样的消息就没有意义了。OrderConsumer.javapackage com.woodie.rocketmq.order;import org.apache.rocketmq.clien...

2020-03-18 06:15:48 152

原创 rocketMQ消息过滤器

RocketMQ支持根据用户自定义属性进行过滤,过滤表达式类似于SQL的where,如:a> 5 AND b ='abc'consumerFilter.javapackage com.woodie.rocketmq.filter;import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;import or...

2020-03-18 05:54:25 994

原创 rocket同步消息&异步消息

同步消息package com.woodie.rocketmq.sendmsg;import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendResult;import org.apache.rocketmq.common.mess...

2020-03-18 05:45:23 309

原创 rocketMQ创建topic

package com.woodie.rocketmq.topic;import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rocketmq.client.producer.DefaultMQProducer;/** * 测试手动创建topic */public clas...

2020-03-18 05:38:26 1714

原创 MongoDb使用到的一些命令

# 显示所有的库show dbs# 显示所有的表show tablesshow collections# 删除一张表, 下面表示删除user表db.user.drop()# 删除数据库、需要先切换到删除 的数据库use testdb #切换到testdbdb.dropDatabase()# 数据的插入# 语法:db.collection_name.insert(do...

2020-03-17 17:30:41 123

原创 graphQL与数据库、web整合及实现graphql分页,动态传参

数据库中的数据:https://blog.csdn.net/qq_26896085/article/details/104843889mapper包下EmployeeMapper.java这里使用了Mybatis-plus,如果只是对单表进行查询,接口继承BaseMapper即可package com.woodie.mapper;import com.baomidou.myb...

2020-03-15 17:56:12 2269 2

原创 java通过SDL方式构建graphql查询,并自定义graphql标量

实体类看这里:https://blog.csdn.net/qq_26896085/article/details/104854058创建一个employee.graphqls文件#这里的Date为处定义的标量,在文件的开始进行声明scalar Dateschema { query: EmployeeQuery}type EmployeeQuery { employ...

2020-03-15 05:16:38 617

原创 修改GraphQL的源码Scalars

最近在学习graphql的时候,有个表有Date类型的数据,但是在设置字段类型的时候,发现graphql只支持其基本的类型,如图:不包含Date类型的数据。强行使用GarphQLString,输出的数据如下于是想到自己写一个方法来支持Date类型,仔细的看了一下Scalars源码,自己动手写了一个,先看下测试结果:最终写出的代码如下:MyScalars.ja...

2020-03-14 07:33:32 260

原创 mysql官方有个自带的测试数据库

mysql官方有个自带的测试数据库,叫employees,超过三十万的数据,含六个表格。在MySQL官网上提供的GitHub链接可以下载官网地址:https://dev.mysql.com/doc/employee/en/github地址:https://github.com/datacharmer/test_db官方安装教程:https://dev.mysql.com/doc/emplo...

2020-03-13 16:42:45 6867

原创 解决Lambda expressions are not supported at language level '5'

1、file --> project Structure --> Modules2、file --> settings --> build、execution、deployment --> compiler --> java compiler

2020-03-13 05:46:43 449

原创 GraphQL的Schema 和类型规范

Schema 是用于定义数据结构的,比如说,User对象中有哪些属性,对象与对象之间是什么关系等。参考官网文档:http://graphql.cn/learn/schema/Schema定义结构schema { #定义查询 query: UserQuery }type UserQuery { #定义查询的类型 user(id:ID) : User #指定对象...

2020-03-13 05:06:44 1198

原创 GraphQl部份查询的规范

GraphQL 是由 Facebook 创造的用于描述复杂数据模型的一种查询语言。这里查询语言所指的并不是常规意义上的类似 sql 语句的查询语言,而是一种用于前后端数据查询方式的规范。官网(中文):https://graphql.cn/规范地址:http://spec.graphql.cn/RESTful是我们已经很熟悉的用于api通信的规范,对于一次请求,我只需要id和name属性...

2020-03-13 04:52:00 384

转载 MyCat1.6.7.1单库分表的真实使用案例详解

MyCat单库分表详解前言 主流分表中间件 单库分表需求说明 MyCat 单库分表支持说明 MyCat Linux安装之Tar包解压 MyCat 安装之制作Docker 镜像 MyCat配置文件说明 单库分表之取模分片算法 单库分表之枚举分片算法【本文核心】 单库分表之全局唯一性自增长ID 单库分表踩过的坑总结 总结前言MyCat官网:http://mycat.io...

2020-03-07 20:11:19 526

原创 MySql数据库集群通过MyCat实现表数据id的自动增长

数据库集群环境 服务 端口 服务器 容器名字 MySql-pxc01 13306 192.168.142.130 Node1(主)分片 MySql-pxc02 13306 1...

2020-03-07 02:35:56 519

转载 数据库分片简单认知

数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。一、垂直切分一个数据库由很多表构成,每个表对应着不同的业务,垂直...

2020-03-01 19:11:07 171

数据结构上机指导

数据结构c语言指导,链表,栈队,图表,各个经典例题

2016-01-11

空空如也

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

TA关注的人

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