自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咖啡的博客

相信你的日积月累,总有一天会是别人的望尘莫及!

  • 博客(492)
  • 资源 (2)
  • 收藏
  • 关注

转载 内存溢出的解决思路

内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。 引起内存溢出的原因有很多种,常见的有以下几种:  1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;  2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;  3.代码中存在死循环或循环产生过多重复的对象实体;  4.使用的第三方软件中的BUG;  5.启动参数内存值设定的过小;内存溢出的解决方案: 第一步,修改JVM启动参数,直接增加内存...

2020-11-23 17:37:46 5002

转载 rabbitmq消费者“无故消失”

导读:9月1号17:12左右,发现影子队列存在大量“unacked”(收到了消息,但是还没有手动确认消息)的消息,一段时间后“unacked”的数量没有减少,但是观察消费者端的日志,并没有新消息进来,原因竟是。。。关键词:rabbitmq,Tcp Window full问题背景:9月1号17:12左右,收到实施人员投诉,有部分设备不能正常升级、收不到控制台下发的指令等问题,同事查看control工程(后面简称control)那边的日志,发现control没有收到设备上报的影子信息,所以.

2020-11-18 14:11:32 4580

转载 RabbitMQ

当初我学RabbitMQ的时候,第一时间就上GitHub找相应的教程,但是令我很失望的是没有找到,Spring,Mybatis之类的教程很多,而RabbitMQ的教程几乎找不到,看的最多的就是朱小厮大佬的博客。后来想着索性自己总结一下吧,有不恰当的地方欢迎小伙伴指出。这篇文章主要是对着我在GitHub上的源码解释的,因此本文并没有太多的源码。写了挺长时间的,为了防止迷路,欢迎大家star和forkgithub地址:https://github.com/erlieStar/rabbitmq-exa

2020-11-18 14:08:31 434

转载 Java连接mongodb,Java运行mongodb js脚本

java创建mongodb客户端,并且根据用户登陆信息,获取相应的mongodb的database。对于创建mongodb的连接客户端,对于这个创建ibatis中也有此类用法。他们大致意思是相同的。其实这些难度都是很小的,大部分难的是一个写法。记下这个写法写这些东西都不是事情。public MongoDatabase createMongoDatabase() { MongoClien...

2019-12-31 11:22:51 1996 5

转载 RabbitMQ消息丢失的情况处理

第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了第三种:消费端弄丢了数据。刚消费到,还没处理,结果进程挂了,比如重启了。解决方案一:针对生产者方案1.开启RabbitMQ事务可以选择用 RabbitMQ ...

2019-12-31 09:49:02 3932 1

转载 Java调用JavaScript脚本的例子

脚本引擎管理器构造一个 ScriptEngineManager,调用它的 getEngineFactories 方法,可用获取到当前Java环境所有支持的引擎工厂,可用通过循环去获取每个引擎工厂的属性。请参考以下代码:public static void main(String[] args) { // 构造一个脚本引擎管理器 ScriptEngineMan...

2019-12-30 14:46:18 337

转载 MongoDB的脚本操作 - Map/Reduce、Script、Group的使用

MongoDB支持javascript脚本的解析。可以简化一些数据聚合、或一些脚本特殊处理。下面我们验证一下JAVA环境下调用脚本的操作。包括map/reduce操作,执行script操作,以及group的操作。初始化数据对象 public static final String COLLECTION_NAME = "jmr1"; public static fina...

2019-12-30 14:34:59 361

转载 解决TIME_WAIT过多造成的问题

1、 time_wait的作用:TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止 在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出conne...

2019-12-10 16:56:14 2249

原创 Byte[]和BASE64之间的转换操作

Byte[]和BASE64之间的转换操作(1)static void Main(string[] args){ string factString = "中华人民共和国"; byte[] myByte; string Base64Str; //先把字符串按照utf-8的编码转换成byte[] Encoding myEncoding = En...

2019-12-10 16:54:31 11998

转载 KafkaConsumer多线程优化

优化目的:KafkaConsumer是以单线程模式运行,为了提升consumer的消费能力,多线程是一个很好的选择。KafkaConsumer和KafkaProducer不同,后者是线程安全的,因此我们鼓励用户在多个线程中共享一个KafkaProducer实例,这样通常都要比每个线程维护一个KafkaProducer实例效率要高。但对于KafkaConsumer而言,它不是线程安全的,所以实现多...

2019-12-10 16:54:18 2135

转载 MySQL中的锁(表锁、行锁)

锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。概述 相对其他数据库而言,MySQL的锁机制比较简单...

2019-12-10 16:50:00 240

转载 mysql 幻读的详解、实例及解决办法

事务隔离级别(tx_isolation)mysql 有四级事务隔离级别 每个级别都有字符或数字编号读未提交 READ-UNCOMMITTED | 0:存在脏读,不可重复读,幻读的问题读已提交 READ-COMMITTED | 1:解决脏读的问题,存在不可重复读,幻读的问题可重复读 REPEATABLE-READ | 2:解决脏读,不可重复读的问题,存在幻读的问题,默认隔离级别,使用...

2019-12-10 15:30:45 249

转载 MySQL事务的四种隔离级别总结

一、事务的四个基本要素(ACID)原子性:事务开始后所有操作,要么全部不做,要么全部做完;事务执行过程中出错,会回滚到事务开始前的状态,一个事务不可能只执行其中一部分操作。一致性:事务开始前和结束后,数据库的完整性约束没有被破坏;比如A想B转钱,A扣了钱,B也一定增加了钱。隔离性:同一时间,只允许一个事务请求同一数据,不同事务之间没有干扰;比如A正在从一张银行卡中取钱,这个过程中,B不能对这...

2019-12-10 15:26:42 149

转载 ARP协议工作原理

ARP协议工作原理每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把自己IP地址与Mac地址的映射关系广播给其他主机。网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。某个主机需要发...

2019-11-12 17:14:40 3518

原创 eleasticsearch6.8.4依赖

eleasticsearch坑很多,一起踩一踩,哈哈哈 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <...

2019-11-09 15:13:56 346

转载 ES结构化搜索

一、ES的cat api查看mappingGET /my_index/_mapping/my_type检测健康状态GET _cluster/health操作索引: PUT /test_indexDELETE /test_indexGET /test_index操作文档:PUT /index/type/id 数据已存在则覆盖DELETE /index...

2019-11-08 15:41:32 286

原创 ES7.4.0依赖

ES7.4.0依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> ...

2019-11-07 11:21:48 1781

转载 (摘抄)日均5亿查询量的京东订单中心,为什么舍MySQL用ES?

作者介绍张sir,京东到家研发工程师,主要负责订单中心、商家中心、计费等系统。京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearc...

2019-10-28 14:38:21 254

原创 感慨

人这一生,在不同的时段,有很多无奈,现实的,偶然的。在一些人生的转折点,不得不做出选择,不选择就没办法顺着希望的方向走。选择了,总也无法避免辜负对自己有恩的人。如果没有那么多现实的坎坷,就没有这么多现实的无奈。没办法,此恩铭记于心,我真的需要选择。...

2019-10-28 11:48:00 202 1

转载 Kibana安装及使用说明

Linux版:https://blog.csdn.net/cb2474600377/article/details/78963247Mac/Win版:https://blog.csdn.net/yanxiaobo1991/article/details/77118640

2019-10-28 10:32:02 544

原创 RestHighLevelClient操作ES7.4.0

记录一下,后续研究RestHighLevelClient: /** * 插入数据 * */ @Test public void index() { try { // 1. 初始化 RestHighLevelClient client = new RestHighLevelCli...

2019-10-25 14:13:07 6047 1

转载 java实现mongodb的map-reduce过程

String map = "function () {"+ " var key = this.custNo; "+ " var value = {custNo: this.custNo,loanNo:this.loanNo,"+ " list:[{"+ " certNo:this.list.certNo,"...

2019-10-21 11:40:36 513

转载 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚

@Transactianal注解有一些属性,见Spring-Framework-Reference Table17.3 Transactional-settings@Transactional(propagation=Propagation.REQUIRED) //控制事务传播。默认是Propagation.REQUIRED@Transactional(isolatio...

2019-10-14 16:41:21 252 1

转载 Flink-demo速成与常见算子

1、一个flink任务的不同状态我们先来简单看下,一个flink任务从创建到消亡会经历哪些状态。在启动一个Flink job的时候,可以从控制台看到job和task的多个状态的切换Flink job的状态变化在执行ExecutionMap期间,每个并行任务经历多个阶段,从创建到完成或失败。2、一个简单的flink任务 //1. 构建执行环境 final Str...

2019-10-14 11:51:36 521

转载 Flink API介绍

Flink API介绍Flink提供了三层API,每层在简洁性和表达性之间进行了不同的权衡。flink-apiProcessFunction是Flink提供的最具表现力的功能接口,它提供了对时间和状态的细粒度控制,能够任意修改状态。所以ProcessFunction能够为许多有事件驱动的应用程序实现复杂的事件处理逻辑。DataStream API为许多通用的流处理操作提供原语,比...

2019-10-12 10:42:23 1221

转载 MapReduce过程详解及其性能优化

废话不说直接来一张图如下:从JVM的角度看Map和ReduceMap阶段包括:第一读数据:从HDFS读取数据1、问题:读取数据产生多少个Mapper?? Mapper数据过大的话,会产生大量的小文件,由于Mapper是基于虚拟机的,过多的Mapper创建和初始化及关闭虚拟机都会消耗大量的硬件资源; Mapper数太小,并发度过小,Job执行时间过...

2019-09-27 09:49:55 301

转载 Flink读取kafka数据并以parquet格式写入HDFS

大数据业务场景中,经常有一种场景:外部数据发送到kafka中,flink作为中间件消费kafka数据并进行业务处理;处理完成之后的数据可能还需要写入到数据库或者文件系统中,比如写入hdfs中;目前基于spark进行计算比较主流,需要读取hdfs上的数据,可以通过读取parquet:spark.read.parquet(path)以下代码完成消费kafka数据,并以parquet格式写入hdfs...

2019-09-26 17:47:40 4578 2

原创 大话Elasticsearch常用操作和核心原理

写的比较全文章 :https://blog.csdn.net/sdksdk0/article/details/78469190

2019-09-26 14:48:42 142

转载 spark 写数据到elasticsearch

pom.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/...

2019-09-26 14:13:14 472

原创 springboot flink数据流写入ES6代码实现

flink初学2:flink数据流写入ES6/** * flink数据写入ES6 * @author hao.yang * @date 2019/9/24 */public class Flink2Es { public static void flinkToES() { Map<String, String> config = ne...

2019-09-26 11:52:45 1752

原创 springboot flink消费kafka消息代码实现

flink初学:springboot flink消费kafka消息/** * flink消费kafka消息 * @author hao.yang * @date 2019/9/24 */public class Kafka2Flink { public static void main(String[] args) throws Exception { fi...

2019-09-26 11:50:46 7335 4

原创 flink初步学习

2019-09-26 11:29:46 205

转载 使用Flink实现索引数据到Elasticsearch(ES5)

由于在学习的是ES6,因此记录一下ES5的实现方式,具体参考官方:https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/connectors/elasticsearch.html#installing-elasticsearch官方的学习还是非常好的,很清晰。使用Flink处理数据时,可以基于Flink提供的批式...

2019-09-24 11:19:41 1444

转载 Linux常用指令

文件:     touch:建立空文件  :  touch a(文件名):创建文件a   touch ../路径:跨目录创建文件   touch a b:创建多个文件    echo:向文本添加内容 :  >:新增内容,覆盖之前内容   >>:追加内容,不覆盖   echo 内容>文件名    mv:移动、改名   :  移动:mv 文件名 路径   ...

2019-09-18 09:33:34 256

转载 Linux网络设置

重启网络最后reboot重启系统

2019-09-18 09:30:00 224

转载 Linux权限设置

一、查看文件目录和权限使用 ls 不带参数只显示文件名称,通过ls –al可以显示文件或者目录的权限信息。文件类型:d:文件夹-:普通文件l:链接文件权限:w:具有写的权限r:具有读的权限x:具有可执行的权限第一组:文件所有者的权限(也就是文件的创建者)的权限第二组:与文件所有者同一组的用户的权限第三组:不与文件所有者同组的其他用户的权限例...

2019-09-18 09:26:42 300

原创 mongo集群部署

1、mongo下载、安装(1)下载安装包官方地址:https://www.mongodb.com/download-centerwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.3.tgz(2) 部署目录解压压缩文件,将bin目录拷贝到目标路径/opt/local/mongo-clus...

2019-09-16 16:24:10 1003

转载 查看Linux磁盘及内存占用情况

查看磁盘使用情况:df -k:以KB为单位显示磁盘使用量和占用率df -m:以Mb为单位显示磁盘使用量和占用率df –help:查看更多df命令及使用方法查看内存占用情况:1.topPID:当前运行进程的IDUSER:进程属主PR:每个进程的优先级别NInice:反应一个进程“优先级”状态的值,其取值范围是-20至19,一    共40个级别。这个值越小,表...

2019-09-16 15:57:42 328

转载 LocalDate、LocalDateTime与timestamp、Date的转换

1.LocalDate转DateLocalDate nowLocalDate = LocalDate.now();Date date = Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());2.LocalDateTime转DateLocalDateTime localDateTime = Lo...

2019-09-02 15:40:51 1633

转载 Stream流式思想概述

Stream流式思想概述主要用来对集合和数组进行转换,用Stream中的一些方法对其进行操作。这得益于Lambda表达式的出现。一、使用传统的方式,遍历集合,对集合中的数据进行过滤public class Demo01List { public static void main(String[] args) { //创建一个List集合,存储姓名 ...

2019-08-21 14:57:11 2000

spring-mybatis

简单学生用户管理系统,适合初学者学习。推荐初学者看一看!

2018-08-05

spring4mvc

初学者值得一看!初学者值得一看!初学者值得一看!初学者值得一看!初学者值得一看!

2018-08-05

空空如也

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

TA关注的人

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