自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 频繁 GC 问题排查以及UseContainerSupport与MaxRAMPercentage的正确使用

使用姿势的不正确 ,InitialRAMPercentageme没设置 导致走了默认的 1.5的比例,导致jvm启动后 分配的实际jvm内存极小,导致系统频繁触发fullGC ,所以赶紧调整使用姿势 ,将MaxRAMPercentage 和 InitialRAMPercentagez设置一样即可,另外如果你的整个物理服务器(或容器)内存大小超过250 MB,那么你不必配置“-XX: MinRAMPercentage”,只需配置“-XX: MaxRAMPercentage”就足够了。为何如此小气的分配。

2023-08-28 12:19:44 1180 1

原创 聊聊Java8之后的JDK升级内容(看这一篇就够了)

这一次,Spring 直接来了个大招,SpringBoot3和Spring6的最低依赖就是JDK17!跨过 JDK 8-16,直接升级到 JDK 17。那么为什么是 JDK 17呢?

2023-02-12 20:00:58 1585

原创 MySQL如何流式读取千万级大数据(数据分析)

随着系统的运作,业务数据的流入,我们系统中的信息也越来越多,在数据量达到百万甚至千万级以上时,我们如何从数据库中拿去到这些数据,进行数据分析,这是一个比较麻烦的难题。有人会说我不停的去分页查询,是否也可以拿到我想要的数据呢?是可以的,但是这样的效率和资源的消耗也是很大,我们想达到的效果其实是以流式读取的方式获取到资源数据,那什么是流式读取呢,下面我为大家结合常用的查询形式与流式的区别,更好的理解流式读取的形式到底是什么样子的。本章主要以MySQL数据库为例。我们先介绍下JDBCJDBC可以理解成一.

2021-10-15 18:52:33 4098 1

原创 ElasticSearch-深入理解数据检索与写入原理(四)

本章笔者和大家进一步去探索ES搜索引擎技术,深入去探索下ES的数据是如何检索、如何写入的。并结合具体命令和集群架构的形式,来看下在集群中检索和写入的原理。笔者也结合自身理解,对他的流程进行绘图,方便大家更好的去想象这个检索流程,以便大家理解,如有分歧的地方,欢迎大家留言交流。ElasticSearch批量操作文本与DSL语言入门(三)深入理解文本类型keyword和text的存储和match和term关键字对数据的查询定义映射字段我们先通过mapping定义我们索引中数据字段类型,类似mysq.

2021-08-23 09:31:40 478

原创 老生常谈:单体应用与微服务架构

现在越来越多的项目设计都是微服务和分布式项目,大家是否真的理解了这方面的设计理念,和他们出现的优势呢,这期笔者结合我们早期的单体应用服务,和现在比较热门的微服务架构项目进行一些列对比,展示出他们各自的优缺点,以便大家思考。单体应用优势简单粗暴,一个应用打包所有功能本地开发调用方便,没有很长的调用链本地函数调用,没有网络调用开销线上查找问题相对简单一点痛点问题系统耦合度很高,导致开效率降低随着需求和代码量激增,各个服务之间的边界模糊了依赖于开发团队的个人水平在开发某个新功能的时.

2021-08-12 15:37:47 390

原创 ElasticSearch批量操作文本与DSL语言入门(三)

文档批量操作api创建index 索引,并设置默认的分词器-ikPUT /dxt{ "settings": { "index":{ "analysis.analyzer.default.type":"ik_max_word" } }}批量增删改查 _bulk{“actionName”:{“index”:“indexName”,"_type":“typeName”,"_id":“id”}}{“field1”:“value1”,“field2”:“value

2021-08-11 11:23:38 613

原创 ElasticSearch分词器插件与Restful-API应用实战(二)

上一篇我们去安装了ElasticSearch和可视化工具kibana,本章咱们针对可视化工具,去操作一些ES提供的Restful-API,去实际上调用一些ElasticSearch的功能,让我们看看ES到底有哪些功能吧。分词器顾名思义,文本分析就是把全文本转换成一系列单词(term/token)的过程,也叫分词。在 ES 中,Analysis 是通过分词器(Analyzer) 来实现的,可使用 ES 内置的分析器或者按需定制化分析器。举一个分词简单的例子: 比如你输入 Mastering Elas.

2021-08-02 19:19:13 399 1

原创 ElasticSearch 简介与安装(一)

ElasticSearch简介Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到实时搜索,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。应用场景像我们百度上搜索的词条,商城搜索的商品关键字等都是通过ES搜索引擎去做的查询。ElasticSearch和LuceneLucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库(框 架)Lucene缺点:1)只能在Java项

2021-07-30 19:10:14 421

原创 揭开Spring自身异步实现的秘密~@EnableAsync源码解析

我们在开发过程中经常会碰到一些比较复杂的操作,这些操作可能不必及时相应结果,一般这个时候我们希望触发后,让其自己去慢慢执行,最后我们只需要查询到相关结果即可,这个时候一般就是采用异步操作的形式。通常大家为了并行操作,会选用创建一个线程去执行,这样就需要书写比较多的线程代码,无法便捷开发。spring为我们提供一种注解的形式,可以实现异步操作。一、应用开启异步任务使用方法:1).方法上或类加@Async注解2).启动类或者配置类上@EnableAsync二、源码解析EnableAsync.

2021-07-27 18:52:16 826

转载 MySQL与PostgreSQL哪个更好?

今天看了一下PostgreSQL和MySQL的对比,发现一篇文章描述的很好,就转发了出来。大家可以一起瞻读下。原地址 https://www.biaodianfu.com/mysql-vs-postgresql.html网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理。MySQLMySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL,如WordPress、Drupal等大多数php开源.

2021-07-21 17:59:31 676

原创 Java程序员需要认识的英语单词-持续更新ing

最近在阅读源码的过程中遇到很多的单词,作为一个程序员真的需要去背记一些单词来提高自己的源码阅读能力,尤其是一些常在源码中命名属性字段和命名方法名的单词。笔者准备长期积累持续更新。能让一些英语不太好,又想更好的理解源码的读者,通过对这些整理的单词背记后,更好的去阅读源码。建议大家20个一组的去记忆。candidate 候选者dependency 依赖depend 依赖resolver 分解器 / 分析qualifier 限定符generic 通用型 / 泛型prim.

2021-04-21 01:01:16 300 1

原创 深入理解动态代理模式下的编程思想——JDK动态代理源码的底层实现

最近笔者在深入了解一些开源框架,比如Spring,mybatis这些框架,去阅读源码学习作者的一些好的设计思路和写法。通过阅读源码你会学到很多大神的编程思想,其中有很多很好的设计模式。看过很多源码的话,你会发现很多地方都采用了代理设计模式来使得框架的灵活性开发,今天主要根据JDK的动态代理来介绍下这个代理模式。首先做个小的铺垫,很多描述代理模式的时候会用两个名词 代理对象 和 目标对象。代理对象代理的就是目标对象。这俩的关系在程序里不是恒定的。就比如 一种恋爱关系 A->B->C .

2021-04-14 17:26:12 918 6

原创 关于分布式架构下接口的幂等性和并发性控制

关于分布式架构下接口的幂等性和并发性控制废话不多说直接上代码主要思路通过注解形式实现幂等,利用redis的lua脚本解决并发执行定义注解/** * 幂等注解 * get请求直接 key * post的请求 body格式 user.name */@Target(ElementType.METHOD) //注解目标(方法上,类上)@Documented@Retention(RetentionPolicy.RUNTIME)//编译生效public @interface Idempot

2021-04-01 16:50:39 2603 11

原创 Jvm虚拟机(三)-JVM的基础配置和异常分析-图文总结

结合前两章的内容总计下我们JVM使用过程中,一些常见的参数配置,和可能会出现的异常分析。JVM常见JVM参数配置GC:-verbose:gc表示输出虚拟机中GC的详细情况-XX:PrintGC每次触发GC的时候打印相关日志-XX:+PrintGCDetails每次触发GC的时候更详细的相关日志堆:-Xms20M 堆初始值,也可以称之为最小可用值-Xmx20M 堆最大可用值-Xmn10M 新生代最大可用值-XX:SurvivorRatio=8 设置Eden和.

2020-11-21 20:06:55 163

原创 Jvm虚拟机(二)-HotSpot虚拟机对象探秘-图文总结

第二章主要简单介绍下对象创建和内存布局,介绍了下虚拟机中内存对象的内存使用方式。对象的创建虚拟机中对象的创建类加载类加载可以说是在Java堆中进行的。其中分配方式的选择又是根据其堆内存空间的是否规整来决定的。“指针碰撞”(Bump The Pointer)通过拨动指针来划分内存“空闲列表”(Free List)空闲列表记录未分配的内存空间对象的内存布局对象在堆内存中的储存布局侧重点就是对象头存储着对象自身的运行时数据,包含一些 哈希码(HashCode)和GC分代年龄,锁.

2020-10-09 15:56:21 210

原创 Jvm虚拟机(一)-基础结构-图文总结

近期开始进行一些编程经典的书籍阅读,单看书很难理解,所以把一些相对重点东西梳理出来,以思维导图的形式来整理。我阅读的是《深入理解虚拟机》(第3版)。Graal VM开篇讲解了Java的历史,JDK的版本历程,还有虚拟机的演变史,当然这些都是耳闻能详的。在第三版提到了一个Graal VM比较有意思,他是2018年4月,Oracle Labs新公开了一项黑科技:Graal VM,如图1-4所示,从它的口号“Run Programs Faster Anywhere”就能感觉到一颗蓬勃的野心,这句话显然是与.

2020-09-21 13:53:44 286

原创 RabbitMQ实战(二)你看你也行~

RabbitMQ实战(一)你看你也行~之前文章RabbitMQ的理解和安装部署已经完成,接下来我们进行Spring-Boot和RabbitMQ整合添加依赖//相关依赖 版本和项目boot版本相匹配就好<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId><.

2020-05-20 18:11:51 727

原创 RabbitMQ实战(一)你看你也行~

最近也是沉迷了一下MQ中间件的知识,决定整理一下并结合所学知识`整理到项目中去

2020-05-20 17:30:08 540

原创 Docker的必知必会

近期也是在搭建服务器的时候考虑到docker容器的使用下面是一些总结的知识点概括什么是Dockerdocker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中.docker思想看成集装箱:没有集装箱之前运输货物,东西零散容易丢失,有了集装箱之后货物不容易丢失,我们可以把货物想象成程序,目前我们要把程序部署到一台新的机器上,可能会启动不起来,比如少一些配置文件什.

2020-05-13 09:55:24 251

原创 深入理解SpringCloud与微服务构建(读书有感)(二)

深入理解SpringCloud与微服务构建(读书有感)(二)第二章 Spring Cloud 简介第三章 构建微服务的准备第四章 开发框架 Spring BootSpring Boot简介自动装配:起步依赖:Actuator组件SpringBoot 整合JPASpringBoot 整合RedisSpringBoot 整合Swagger2 搭建Restful API在线文档第二章 Spring ...

2020-01-16 16:39:58 366 1

原创 线程异步处理——状态同步

分享一次 在工作上 没有MQ的 通过单起线程做状态处理最近需要一个合同签署的第三方接口,由于该接口的处理响应较慢,每次会请求超时,所以需要一个补偿接口,也就是状态同步接口,如果有MQ工具的最好用MQ来实现,不过思路是差不多的。我和第三方在商定后,第三方给出一个状态回响接口,来进行状态同步,而我则把状态落库,对于我方H5的调用进行秒响应的形式。下面展示一些 内部代码 没前后关联的地方我都用注...

2020-01-15 13:32:00 287

原创 深入理解SpringCloud与微服务构建(读书有感)(一)

深入理解SpringCloud与微服务构建(读书有感)(一)传统单体式架构的介绍微服务是什么?怎么来划分这个微?目前考虑的 三大难题Spring Cloud 常用组件最近阅读了《深入理解SpringCloud与微服务构建》这本书,因为有记笔记的习惯,所以想整理下发一篇感想,不过文笔比较差,只能当笔记看了。目前是第一章节的传统单体式架构的介绍开篇对传统的单体式架构进行了简单的介绍:单体式架构...

2020-01-08 09:50:20 1318 2

空空如也

空空如也

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

TA关注的人

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