自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哈士奇

二狗子

  • 博客(424)
  • 资源 (27)
  • 收藏
  • 关注

原创 【物联网】EMQX(二)——docker快速搭建EMQX 和 MQTTX客户端使用

在上一篇文章中,小编向大家介绍了物联网必然会用到的消息服务器EMQ,相信大家也对EMQ有了一定的了解,那么接下来,小编从这篇文章正式开始展开对EMQ的学习教程,本章节来记录一下如何对EMQ进行安装。

2023-12-17 14:38:14 2113

原创 java爬网页图片到本地

如何用java实现爬网页的照片呢?

2022-11-29 17:21:38 665 1

原创 【Minio】新一代自建文件系统——Minio

说到文件,我们做技术开发,经常会把文件放到文件服务。常用的文件服务我们一般会用自建的,或者是云文件服务。常见的自建文件服务,一般我们会做机器挂载、自建文件服务器;而云文件服务,我们一般会用到第三方的文件服务,如七牛,阿里文件服务,或者是各种第三方的CDN。这里呢,我们就跟大家来说一下自建文件服务。在小编前面的博客中介绍过FastDFS。从搭建的博客中,大家可以感觉到,FastDFS搭建就比较复杂,处理文件也比较复杂。所以呢,在后面技术方案迭代中,Minio就孵化出来了。

2022-11-06 22:05:17 1126

原创 BloomFilter怎么用?使用布隆过滤器来判断key是否存在?

今天跟一个同事聊了一个问题,说最近在做推荐,如何判断用户是否看过这个片段呢?想了一下,正好可以使用布隆过滤器来完成这个需求。布隆,可不是LOL的布隆。我们的这个布隆是一个叫布隆的外国人,在1970年提出的一种方案:如果判断这个key不存在,那么就一定不存在,如果key存在,那么有可能不存在。所以不存在的时候,你永远可以详细布隆。布隆过滤器是一个高空间利用率的概率性数据结构,由Burton Bloom于1970年提出,用于测试一个元素是否在集合中。新创建的布隆过滤器是一串被置为0的Bit数组(假设有m位),

2022-07-13 22:47:06 35626

原创 【MQ】kafka(四)——kafka消费者如何消费的?如何防止重复消费?如何顺序消费?

前面博客小编向大家分享了 kafka如何保证消息不丢失?,基本是从producer和broker来分析的,producer要支持重试和acks,producer要做好副本和及时刷盘落地。这篇博客呢,就跟大家一起聊一下 kafka 消费者如何消费的?如何避免重复消费?消费流程:一般我们消费测试是不会变的,都使用默认的,也就是第一种,range策略。默认策略,保证基本是均衡的。计算公式 :n = 分区数/消费者数m = 分区数%消费者数前m个消费者,消费n+1个,剩余的消费n个eg:12个par

2022-07-10 15:13:32 37797

原创 【MQ】kafka(三)——如何保证消息不丢失?如何解决?

前一篇博客我们介绍了生产者为什么发送消息的吞吐量这么大,其实就是因为,生产者提供了内存缓冲区,把消息打包再发送,从而提高了吞吐量。那么,消息发送过去,到了broker就算是成功了吗?会不会丢失呢?这篇博客,就向大家介绍一下 kafka在什么情况下会出现消息丢失以及解决方案。首先我们还是要看一下,kafka的架构图:因为我们有三个角色:生产者,broker,消费者。消费者是消费消息,一般不会丢失,那么消息丢失就会出现在 生产者和 broker之间。当我们在配置生产者的时候,我们会有一个配置文件,这个配置文

2022-07-10 10:58:00 35746

原创 【MQ】kafka(二)——生产者写入为什么这么快?为什么吞吐这么高?

前面一篇博客,小编向大家宏观介绍了kafka是什么,在系统中干什么,以及一些kafka相关的名词介绍。这篇博客呢,小编就向大家介绍一下,生产者怎么把消息发到broker的?以及生产者发送的方法为什么吞吐量这么高?小编遇到的项目中,一般高峰期的时候,速度是7300条/秒,当搞活动的时候,速度会更高。我们先来看一下生产者写入数据的流程,然后再来分析一下生产者的内存模型。这里如果我们开启了acks = -1 的情况下, 要等所有的follower都要拉去日志完毕后,leader才会返回ack。其他问法:

2022-07-09 22:37:01 35251

原创 【MQ】kafka(一)——什么是kafka?在系统中干什么用?

kafka为什么有高的吞吐量?快来看看吧!~~~

2022-07-09 21:17:28 38590

原创 mongodb监听oplog 全量+增量同步

一、前言前一个项目中,涉及到了一次数据迁移,这次迁移需要从mongodb迁移到另一个mongodb实例上,两个源的数据结构是不一样的。涉及到增量和全量数据迁移,整体迁移数据量在5亿左右。本篇即讲理论,也讲实战,往下看↓!二、迁移思路通常的增量和全量迁移,思路基本一致:在开启全量的时候,开始增量监听,记录下增量的主键id当全量执行结束的时候,从新跑一边记录的增量主键id的记录,根据getbyId查询一下最新的记录,再upsert到新库中。思路就是这么样的。三、同步实战全量同步全量的操作

2022-02-17 19:21:17 3932

原创 PMP(二)——项目运行环境

一、前言      项目运行环境是项目健康生张的土壤,包含:事业环境因素,组织过程资产,组织系统。二、全局观三、介绍事业环境因素组织内愿景、使命、价值观、企业内部软件 硬件条件组织外法律、法规、标准、规范、市场、经济、自然环境组织过程资产过程、政策和程序模板 手册 指南 流程 政策 程序eg:项目立项要那些步骤验收要满足什么?PMO整理的计划模板,操作手册,管理指南组织知识库知识、经验、教训、数据、信

2021-11-07 19:48:37 383 1

原创 PMP(一)——项目管理介绍

一、前言      本节带来,项目管理介绍。二、内容2.1 项目      项目是为创造独特的产品、服务或成功而进行的临时性工作。就是三个特点: 独特性,临时性,不确定性。项目VS运营项目运营独一无二重复多次有始有终持续不断成功就成功逐步渐进责权不均衡责权均衡临时组织稳定组织效果向导效率向导不确定性确定

2021-11-07 19:17:50 9959

原创 PMP 项目管理师 认识和学习路线规划

一、什么是PMP?      什么是pmp呢?project management professional 项目管理专业人士资格认证。由美国项目管理协会(Project Management Institute,简称PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。全球206个国家认可      总的来说呢,pmp是一个项目管理认证的考试

2021-11-07 16:43:50 35397 1

原创 List<对象> 取其中的某个属性 List<id>

public class UserEntity implements Serializable { private Integer id; /** * 用户名 */ private String userName; /** * 用户手机号 */ private String phone;} public static void main(string args[]){ List&l

2021-10-21 15:36:23 1354

原创 es 修改 mapping 字段类型

一、原索引PUT my_index{ "mappings": { "_doc": { "properties": { "create_date": { "type": "date", "format": "yyyy-MM-dd ||yyyy/MM/dd" } } } }}二、创建新索引PUT my_index2{ "mappings": {

2021-08-06 16:44:00 13433 1

原创 java上传excel以及解析

一、前言在写管理后台的需求的时候,经常会用到上传excel的功能,需要我们解析Excel的内容,导入数据等。二、上传上传到文件服务器,文件服务有相关的上传接口,需要我们调用API上传。 @PostMapping("/v100/uploadFile") @ResponseBody public BaseResponse<String> uploadFile(HttpServletRequest request,

2021-07-23 10:42:50 20810

原创 ES计算余弦相似度

一、前言最近在项目中做数据推荐的功能,比如,猜你喜欢。主动给用户推荐用户喜欢的商品。如何判断某个商品是不是用户喜欢的呢?在调研过程中,发现es可以做相似度的计算,相似度可以表示用户对某个商品的喜爱程度。下面我就介绍一下如何实现的。二、数据源要进行数据计算,首先是要有数据基础。我们的数据源是什么呢?我们目前数据来源是用户行为。我们会采集用户近100天的用户行为。根据用户行为计算出用户的向量。比如我们会统计用户浏览行为,点击行为,分享行为等,根据这些行为的数据,来计算出用户的向量。当然我们计算的是多维度的

2021-07-19 17:53:14 17869 1

原创 JRebel热部署,从此告别一遍一遍重启项目

一、前言      在使用idea开发的时候,本地debug,每次修改完代码,都要重新重启才能生效。特别烦。每次都重启,非常恶心,效率不高。为了解决这个问题,向大家推荐一个idea的插件—— JRebel。二、JRebel是什么?      JRebel是一套JavaEE开发工具。      Jrebel 可快速实现热部署

2021-06-08 18:07:05 16878

原创 【Java】Jvm调优——结合项目总结调优心得

一、前言&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java 做到一定程度就会对jvm有一定的了解,了解运行时内存是什么样的,了解类加载机制等等。如果要做的更好的话,就要了解jvm性能调优的内容了。在这篇博客,小编结合自己的项目经验,对jvm调优的一些技巧做一些总结。当然现在的水平也是有一定限制的,希望有问题的地方,可以指出。二、根据什么来判断有性能问题?&nbs...

2021-01-05 14:01:43 13248 2

原创 【分库分表】sharding-jdbc + spring boot对大表进行分库分表

一、前言&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;最近小编跳槽了,刚好入职了一家移动互联网公司。非常的幸运。来新公司后的第一个项目就是对通知服务进行优化改进,其中,一个业务就是当用户登录的时候,就会登录访问通知表,根据用户id加载通知信息。由于通知量已经上亿了,在查询的时候是非常慢的。&amp;amp;nbsp;

2020-08-13 13:22:25 13295 7

原创 Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 问题解决方案

一、前言      今天生产上出现一个问题,更新数据库的时候,没有更新成功,经过定位问题,发现是update的sql报错了。      错误信息是:Mysql:Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column 二、原因和解决方案     &nbs

2020-07-06 17:52:07 12316

原创 gh-ost 生产字段增删改,加索引不死锁解决方案

gh-ost介绍      在做功能迭代的时候,我们总会遇到生产的数据库表结构不适合的时候。往往我们要添加字段,添加索引,修改字段等操作。但是如果生产的数据量是很大的,我们对表结构进行修改的时候会引起死锁,甚至会引起宕机。      这个时候,有一种解决方案,gh-ost,可以在不发生死锁的前提下,把数据表结构修改成功。gh-ost原理   &nbsp

2020-07-01 18:59:26 15838

原创 并发编程(六)——java中锁怎么使用?

Java锁的深度化      当多个请求同时操作数据库时,首先将订单状态改为已支付,在金额加上200,在同时并发场景查询条件下,会造成重复通知。SQL:Update悲观锁与乐观锁      悲观锁悲观的认为每一次操作都会造成更新丢失问题,在每次查询时加上排他锁。      每次去拿数据的时候都认为别人会修改,所以每次在

2020-06-22 13:33:25 15160

原创 并发编程(五)——线程池及原理剖析

线程池什么是线程池      Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,  &nbs

2020-06-15 17:01:29 14739

原创 centos 安装 sz rz

一、首先安装lrzszyum -y install lrzsz二、 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可rz三、下载文件,执行命令szsz这样子就可以很简单的上下传文件了。

2020-06-10 10:28:03 2520

原创 并发编程(四)——JUC并发包常用方法介绍

并发包(计数器)CountDownLatch      CountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表

2020-06-05 09:58:49 15276

原创 并发编程(三)——多线程之间如何实现通讯

多线程之间如何实现通讯什么是多线程之间通讯?      多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。画图演示多线程之间通讯需求      需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。      代码实现基本实现  &nb

2020-06-04 13:05:10 14786

原创 并发编程(二)——内存模型

并发编程之多线程线程安全什么是线程安全?为什么有线程安全问题?      当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。      案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:public class ThreadTrain impleme

2020-06-02 10:29:08 2374

原创 并发编程(一)——多线程快速入门

线程与进程区别      每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。      使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等

2020-06-01 10:09:15 2510

原创 【java8】 list to map

Map<String, String> courseNoTitleMap = listBOList.stream().collect(Collectors.toMap(CoursePriceInfoResultBO::getCourseNo, CoursePriceInfoResultBO::getTitle, (a, b) -> b));(a, b) -> b) 的意思是,(oldValue, newValue) -> newValue)...

2020-05-13 13:38:21 2428

原创 【Postman】配置cookie

2020-05-13 13:32:45 2479

原创 【java】-XX:-OmitStackTraceInFastThrow只有空指针,没有堆栈信息

-XX:-OmitStackTraceInFastThrow

2020-05-10 21:43:21 6115

原创 【Linux】查看存储空间命令整理

一、前言在使用centos的时候空间慢慢的都满了,满了后也不知道怎么处理、怎么查看。正好总结一下。二、命令查看磁盘空间使用:df -h查询目录下各个文件夹的占用存储大小:du -sh *查看内存使用情况:free -h三、小结以后用到更多命令再总结。不怕不知道,就怕不知道。...

2019-11-11 13:35:44 4915

原创 【mybatis】异常invalid comparison: java.util.Date and java.lang.String

原因主要是我要判断的是Date类型,但是在mybatis中使用了字符串的判断方式,这样就是错误的。就会报这个错误。解决方案<if test="createTime != null and createTime !='' " > create_time = #{createTime,jdbcType=TIMESTAMP}</if>改为<if t...

2019-11-07 18:42:08 339

原创 【java】String[] 转 list

str = “google”;//第一种:将字符串用split转成String数组,用Collections的addAll方法添加全部元素到list;String[] arr = str.split("");ArrayList list3 = new ArrayList();Collections.addAll(list3, arr);//第二种,Arrays.asList();//这...

2019-11-02 13:29:17 5289

原创 【java】使用Validate对javaBean进行校验

一、前言现在写代码,避免不了校验,比如校验字段是否为空呀、校验是否大于某个值呀、校验是否是email格式呀等等。现在写基本就是if … else …验证代码繁琐,重复劳动方法内代码显得冗长每次要看哪些参数验证是否完整,需要去翻阅验证逻辑代码二、基本上所有方法,开始的时候都要进行一下判断,这样重复代码很多。为了优化出更加简洁的代码。我们可以使用......

2019-10-24 20:24:17 1907 1

原创 【Nginx】Nginx如何配置指定接口的跳转

一、前言      最近项目上线,做的是重构的项目,需要把老接口的流量切到新接口上,客户端一直访问的是老接口的url,没有办法改变,如果要做处理,就可以使用nginx把要访问的url跳转到新的接口上。      比如:老接口要访问 http://gateway.i...

2019-10-11 20:39:50 6936 2

原创 mysql全文索引使用

一、前言      在以前的博客中小编介绍过mysql的执行流程,索引优化等。正好前一段时间项目有一个新的需求,就重新调研了一下mysql的全文索引,并对mysql的全文索引进行了压测,看看性能怎么样。以判断是否使用。——可想而知,性能不是很好。 下面小编就向大家再说说mysql的全文检索。   &nbs......

2019-04-29 10:27:33 40771 2

原创 springboot 使用 策略模式 去除过多的 if else 或 swich case!

一、前言      最近写代码的过程中,发现业务逻辑很多的时候,总会有很多的 if ... else,很多的 if ...else,有的时候就会丢去某些逻辑。有的时候也会用到swich case 来区分不同类型下执行不同的方法。但是往往这种情况的时候,会显得一个方法的代码非常长。为了破解这样的嵌套。我们可以使用策略模式来解决。本篇小编将......

2019-04-21 15:36:33 9073 2

原创 Redis队列使用

一、前言      前一段时间,项目中要开发一个活动,为了提高接口的吞吐量,把一些完成后的操作使用异步的方法来操作。刚开始的时候想的是使用一个异步的方法,处理方法完成后的其他操作。但是在压测的时候发现,并发量很多的时候,线程池就会被沾满了,然后所有的操作都会堆积在这里,吞吐量就下来了。为了解决这个问题。就想用队列来处理,但是为了这么一个......

2019-04-19 19:52:51 2560

原创 joda-time 时间处理工具

一、前言      说到java的时间处理,我们一般用到的有java.util包里面的Date 和 Calendar 类里面的方法。在使用过程中,或多或少也感觉到了其中的不方便。就促使我们一起找一些其他的方法来代替这些。      在本文中,小编就找来了Joda-tim...

2019-04-12 15:14:05 3341

深入分析AQS原理-王雷-v1.pptx

深入分析AQS原理-王雷-v1.pptx

2021-08-11

抖音风创意快闪PPT.pptx

抖音风创意快闪PPT.pptx

2021-08-11

婚礼快闪混搭版03.pptx

婚礼快闪混搭版03.pptx

2021-08-11

我们结婚啦vip02专用.pptx

我们结婚啦vip02专用.pptx

2021-08-11

【快闪】婚礼开场快闪PPT动画.pptx

【快闪】婚礼开场快闪PPT动画.pptx

2021-08-11

【快闪】红色喜庆婚礼快闪动画PPT模板.pptx

【快闪】红色喜庆婚礼快闪动画PPT模板.pptx

2021-08-11

【相册】韩式罗曼帝克婚礼相册PPT模板.pptx

【相册】韩式罗曼帝克婚礼相册PPT模板.pptx

2021-08-11

docker-compose.yml

docker-compose.yml

2021-08-11

hive-site.xml

hive-site.xml

2021-08-11

griffin-measure.jar

griffin-measure.jar

2021-08-11

补换证申请表(个人填写).docx

补换证申请表(个人填写).docx

2021-08-05

熊猫学习宣讲PPT.pptx

熊猫学习宣讲PPT.pptx

2021-08-05

河北大学自考学位申请缴费流程.doc

河北大学自考学位申请缴费流程

2021-06-23

多线程思维导图总结

这次的文档包含了“线程间的通信”以及经典的“生产者消费者”问题,同时你知道怎样停止处于冻结状态的线程吗?

2018-07-11

java微信登录授权源码java

微信授权登录,根据用户 的Appid和appsecreat进行获取相关的信息,授权登录

2017-12-31

jdom-1.1.3

通过使用jdom-1.1.3包含的类库,可以对xml进行分析,也可以封装xml文件,非常好用的一个类库

2017-10-05

Google 二维码显示 core zxing

对 Google 公司的信赖和个人崇拜,用Google做的生成二维码工具还是比较靠谱的。包括了core-3.3.0.jar和zxing-javase.jar

2017-10-05

commons-fileupload-1.3.3

使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包;commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前后台的一致性,注意在后台定义File文件对象名要与jsp页面中的file标签name名字一致,前台form标签属性一定要设置为enctype="multipart/form-data",而且传输方式必须是post方式。不然后台不认为提交的是文件类型,而认为是普通表单的提交。

2017-09-14

jstl.jar使用的jar包

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。 JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。 根据JSTL标签所提供的功能,可以将其分为5个类别。

2017-09-14

net.sf.json jar

net.sf.json jar包包含了一下:可以用来解析json,具体操作可以看小编的博客。 commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar

2017-09-14

faceppsdk.jar

Face人脸识别,人脸对比,人脸查询所需要的jar包,开发人脸识别必备的jar包。 这个jar包由Face++公司研究,开放使用。

2017-09-12

jsoup相关jar

【BigData】Jsoup+FusionCharts实现根据网页url解析网页数据,并用图表显示 jsoup-1.10.3.jar log4j-1.2.17.jar struts2-json-plugin-2.3.15.3.jar xwork-core-2.2.3.jar

2017-09-12

Quartz-2.0Demo

Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。

2017-08-13

Quartz.NET-2.5

Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。

2017-08-13

redis-3.0.0.gem

redis集群搭建使用脚本

2017-08-02

redis-3.0.0.tar.gz

提供redis源码

2017-07-18

C++知识点总结

2016-12-20

空空如也

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

TA关注的人

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