自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hikari maxLifetime 问题记录

com.zaxxer.hikari.pool.PoolBase : HikariPool-3 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6e2d668f (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.

2023-06-21 15:54:19 3688

原创 undertow服务线程过多问题排查

应用服务使用的是docker容器创建的linux环境,在这个环境下,如果使用Java SE 8u131 (JRE 1.8.0_131-b11)以下的版本,通过Runtime.getRuntime().availableProcessors(),获取cpu核数的使用,取到的是宿主机的核数;XNIO task 线程:默认情况下该类线程对应的线程池初始化所依赖的核心线程数和最大线程数是一致的,都是XNIO-1 I/O线程数的8倍;应用系统1300+多个线程,而且线程不会销毁,达到了1300个线程的告警阈值;

2022-10-24 15:41:40 5775 1

原创 Mockito mock与spy的区别

#前言Mockito是一个强大的mock工具,本文将重点讲述Mockito中mock与spy的区别。

2022-10-08 15:19:09 2160

原创 Scala往List中添加元素

对于习惯了使用java来编程的同学,在使用Scala的list的时候,找不到我们熟悉的add等函数,这里简要介绍一下scala操作list集合。

2022-09-13 10:13:43 4779

原创 scala实现遍历中的break和continue

对于习惯了使用java来编程的同学,在使用Scala的遍历集合时,应该会遇到需要终止遍历的情况,但是Scala中没有break 和continue这些关键词使用,这里我们可以使用如下的替代方案。

2022-08-27 10:40:15 592

原创 java SpringBoot中执行python、shell脚本

最近项目上有一个需求需要暴露rest请求,这个rest请求要去执行python或者shell脚本;

2022-08-06 08:54:17 603

原创 自定义创建springBoot starter

平时我们在工作中总会写一些非业务相关的公共代码,这些公共代码通常会单独放置到一个模块中,在使用springBoot进行开发时,spring团队为我们提供了许多开箱即用的starter,那么怎么创建一个自己的starter,将这些公共的非业务代码封装起来呢。...

2022-07-30 00:25:56 202

原创 大数据-数据联接架构/数据模型建设

通过数据湖的建设,用户不再需要到各个源系统调用数据,而是统一从数据湖调用;由于入湖的数据,很零散且都是未经过清洗加工的原始数据,用户很难知道数据之间的关联关系;数据联接分层的建设就显得顺理成章了。...

2022-07-21 23:35:58 1164

原创 大数据-数据湖建设

本篇文章主要介绍数据湖建设的一些方法论。

2022-07-17 11:38:37 2698

原创 大数据-数据底座架构/数据中台建设

在信息化向数字化转型的过程中,企业积累了海量的数据,并且还在爆发式的增长。数据很多,但是真正能产生价值的数据却很少。数据普遍存在分散,不拉通对齐等问题,缺乏统一的定义及架构,找到想要的,能用的数据越来越难。如何实现数据的汇聚和联接,打破数据孤岛与垄断,就显得格外重要。...............

2022-07-16 11:17:31 11485

原创 全国主要城市经纬度SQL脚本

全国主要城市经纬度SQL

2022-07-09 12:32:45 947

原创 Scala函数、至简原则、高级函数、闭包/柯里化、隐式转换

为什么要使用匿名函数,它有啥优点,它适合哪些场景呢?作为参数使用再来分析一下匿名函数,这里是否还能继续简化呢,答案是可以的简化后我们上面的计算公式就变成了如下的样式作为返回值使用二、闭包与柯里化闭包:一个函数,引用了它外部的数据,我们将这个整体称为一个闭包柯里化:将一个参数列表的多个参数,变成多个参数列表的过程称为函数柯里化;柯里化是闭包的一种表达方式,但是闭包不一定非得使用柯里化;三、隐式转换四、练习练习一给定一个数值数组,遍历该数组进行运算,如每个元素加10,每个元素翻倍练习

2022-07-05 13:56:37 180

原创 Scala 常用语法 基础语法

Scala跟Java一样,需要在一行代码结束时候用英文分号标识重点说明以下几种数据类型:具体可参考:https://www.scala-lang.org/files/archive/api/2.12.13/scala/这里的变量 a 指向了地址 Addr_2 这个地址里保存了值 “abc”。其中变量 a 被 val 标记,说明 a 指向的对象 就只能是声明时初始化的 5,不能再被改变。变量 b 被 var 标记,说明 b 指向了 声明时初始化的 5,但是今后还可以发生改变。基本用法使用注意事项:使

2022-07-04 09:58:57 311

原创 Scala macos安装、环境变量配置

最近在使用spark sql的过程中,有一些特异性的需求没有函数可以支持,或者说支持的不是很友好,需要写一些UDF函数(自定义函数)进行处理,而spark的底层语言就是Scala编写的,所以要学习Scala的语法来编写函数;Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)https://www.scala-lang.org/download/2.12.13.htmlmac os安装包安装,注意需要配置环境变量;三、总结现在

2022-07-03 22:02:24 783

原创 Docker实战--Nginx镜像拉取、构建、上传发布

如果不指定镜像地址的话,默认是从Docker官方镜像市场下载镜像;https://hub.docker.com/查看刚才下载的Nginx镜像被动拉取什么是被动拉取呢,就是直接启动某个镜像容器,如果没有该镜像的话,docker引擎会自动从镜像市场拉取修改欢迎页重启容器查看效果三、上传发布先登录docker hub开始上传......

2022-07-01 00:24:52 3487

原创 web项目使用maven打包docker镜像项目部署

maven管理的web项目,怎么直接编译出docker镜像?

2022-06-26 17:18:11 826

原创 Docker与虚拟机VM比对

Docker Engine是一个Client/Server应用程序。Docker engine主要组件有3部分:

2022-06-26 16:05:58 543

原创 Docker基础-常用命令

Docker入门 基础命令

2022-06-25 00:04:58 294

原创 Mysql备份与复制

前言近期有身边的小伙伴在面试的时候被面试官问到关于mysql主从复制的原理,今天就将Mysql中关于备份与复制的内容整理一下,供小伙伴们参考一、备份1、备份的方式角度:热备份(数据库运行中进行备份,不会影响数据库的运行状态)冷备份(数据库停止下来进行备份)温备份(数据库运行中进行备份,会对数据库产生影响,如加个全局读锁)2、备份后文件的内容角度:逻辑备份(备份的是一条条可执行的sql,适用于数据库升级、迁移等,缺点是恢复所需时间长裸文件备份(备份的是物理文件)3、备份数据

2022-03-19 22:14:19 943

原创 IDEA使用问题备忘

1.问题描述:idea中添加jvm参数运行的时候Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.解决:找到workspace.xml,在如下位置添加配置<component name="PropertiesComponent"><property name="dynamic.classpath" value=

2022-03-15 22:20:11 97

原创 springCloud面试之Feign

feign组件中的LoadBalancerFeignClientpublic class LoadBalancerFeignClient implements Client {public Response execute(Request request, Options options) throws IOException { try { //获取本次请求的URI URI asUri = URI.create(request.url(

2022-02-19 23:06:15 2858

原创 springCloud面试之Hystrix

什么是HystrixHystrix是一个通过资源隔离实现服务熔断降级的中间件Hystrix的作用熔断降级Hystrix原理处理流程,我下面的贴图来自GitHub:流程图这里我又画了一个简化版如下图流程解释:构造一个 HystrixCommand或HystrixObservableCommand对象,用于封装请求,并在构造方法配置请求被执行需要的参数;执行命令,Hystrix提供了4种执行命令的方法,后面详述;判断是否使用缓存响应请求,若启用了缓存,且缓存可用,直接使用缓存响应

2022-02-16 23:32:24 1499

原创 springCloud面试之Ribbon

前言通过Eureka的学习,我们知道Eureka客户端会定期同步服务端的微服务列表,那拿到这些服务列表又做了哪些操作呢?今天的主角ribbon的作用就是跟这些微服务打交道。Ribbon是什么?ribbon是款客户端的负载均衡组件。Ribbon的原理ribbon的主要作用:服务列表:ribbon内部维护了两个服务列表,其一是所有从注册中心同步获取的服务列表A,另一个是所有可用状态的服务列表B;定时ping:ribbon内部会有一个定时任务,通过ping的方式同步服务列表A中的状态,如果是可使用

2022-02-15 23:55:07 767

原创 springCloud面试之feign+ribbon+hystirx交互概览

前言有很多小伙伴可能已经了解了springcloud的几个核心组件,但是对他们之间是如何交互的还比较模糊,下面就为大家解开它们之前神秘的面纱;feign+ribbon+hystirx交互图看到这张图,

2022-02-13 16:42:46 828

原创 springCloud面试之Eureka

前言eureka相关的教程网上已经很多了,大家可以查询一下随便看看即可,我这里着重讲一下eureka中的三级缓存,并说一下基于eureka注册中心做的平滑上线的方案;Eureka server端及client端交互流程eureka注册中心的作用主要是作为管理各个微服务通信状态的媒介,各个微服务启动后将自己的信息登记到注册中心,并每隔一段时间进行一次心跳续约,表名自己还活着,而注册中心不仅要管理好这些注册上来的微服务信息,同时还负责将这些注册信息定期同步给各个微服务,这样各个微服务在调用其他微服务时则不

2022-02-12 23:28:22 790

原创 springCloud核心组件介绍

前言新年伊始,一些已经拿到年终奖的小伙伴内心是否已经开始躁动了呢,是否想在新一轮的金三银四换个坑呢;如果是的话,面试需要的八股文要开始背了呦;今天开始把自己整理的微服务相关的技术整理出来,希望能帮助到各位有志之士,说的不对的地方还请指正正题我的分享主要分为下面几个部分springcloud核心原理之Eurekaspringcloud核心原理之Ribbonspringcloud核心原理之Hystrixspringcloud核心原理之Feignspringcloud汤坑之路

2022-02-12 21:43:29 326

原创 Mybatis原理

Mybatis原理写在前面:好久没有写了,这阵子忙着面试,然后过年,然后过完年交接工作,来到新的公司工作有三周了,新工作也算有点轨迹了;下面就接着搬运吧;一、回顾JDBC的调用在分析mybatis原理之前,我们先来回顾一下jdbc是怎么调用的public class TestJDBC { private static String url = "jdbc:mysql://127.0.0.1:3306/hello"; private static String userName = "

2021-03-20 23:58:29 124

原创 Mybatis四大组件、四大对象、三个组成部分

一、Mybatis四大组件二、SqlSession四大对象三、映射器三大组成部分总结:Mybatis四大对象构成mybatis的整个生命周期;sqlSession四大对象,描述SQL执行的流程;映射器组成部门,描述最底层SQL执行的细节;...

2021-01-10 00:27:46 3225 1

原创 Mybatis插件的使用及其原理

一、Mybatis插件的使用1、我们先来看一下mybatis中怎么声明一个插件下面代码的是一个对用户信息加解密的插件@Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }), @Signature(type = Executor.class, method = "query", args = { M

2021-01-10 00:07:44 896 1

原创 分布式事务入门

分布式事务入门一、为什么会产生分布式事务我们从单体架构不断的演变成为SOA架构、微服务架构的时候就会一个是事务里包含多个系统,多个数据库的操作,这个时候传统事务就解决不了;数据库分库分表:在单库单表场景下,当业务数据量达到单库单表的极限时,就需要考虑分库分表,将之前的单库单表拆分成多库多表;分库分表之后,原来在单个数据库上的事务操作,可能就变成跨多个数据库的操作,此时就需要使用分布式事务。业务服务化:业务服务化即业务按照面向服务(SOA)的架构拆分整个网站系统,所有的业务操作都以服务的方式对外发布

2020-12-27 21:59:20 166

原创 分布式锁实现的几种方式

分布式锁实现的几种方式写在前面:本篇文章主要搬自本人的云笔记,不当之处,欢迎指正,共同学习;1、数据库锁的方式1.1、基于表记录的实现方式准备条件:创建表ABC,并做唯一索引version;//1、线程A加锁: insert into ABC(version)values (versionID);//2、线程A释放锁: delete from ABC where version =versionID;如果数据库中有该锁记录,线程B再保存数据进行加锁就会发生唯一索引异常,这时就成

2020-12-02 23:47:33 315

原创 多角度查看类的装载

多角度查看类的装载写在前面:本篇文章主要搬自本人的云笔记,主要以总结为主;有不当之处,欢迎指正,共同学习;一、类装载的过程类装载是通过类加载器将class文件内容加载到jvm内存区,该过程主要分为三个部分加载1. 通过classLoader加载class文件,并将.class文件读到内存中2. 这里会创建一个class对象,且有且仅会创建一个class对象;链接1. 校验:检查有效性,校验一些符号引用什么的2. 准备:分配内存(保存类信息使用),初始值(这里的初始值,是指的默认值,不是代

2020-11-29 21:28:46 196 1

原创 JVM面试必知必看

JVM看这一篇写在前面:本篇文章主要搬自本人的云笔记,主要以总结为主;有不当之处,欢迎指正,共同学习;JVM整体认识JVM内存分为: **类加载器**(ClassLoader) **运行时数据区**(Runtime Data Area) **执行引擎**(Execution Engine) **本地库接口**(Native Interface) 各个组成部分的职能:程序在执行之前先要把java代码转换成字节码(class文件),jvm首先需要把字节码通过一定的方式 类加载器(Clas

2020-11-26 21:05:01 771 1

全国主要城市经纬度SQL脚本

全国主要城市经纬度SQL脚本

2022-07-09

空空如也

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

TA关注的人

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