Java
深入浅出 OkHttp 源码解析及应用实践
作者:vivo 互联网服务器团队- Tie Qinrui OkHttp 在 Java 和 Android 世界中被广泛使用,深入学习源代码有助于掌握软件特性和提高编程水平。 本文首先从源代码入手简要分析了一个请求发起过程中的核心代码,接着通过流程图和架构图概括地介绍了OkHttp的整体结构,重点分析了拦截器的责任链模式设计,最后列举了OkHttp拦截器在项目中的实际应用。 一、背景介绍 在生产
流程中明细表驳回变成历史数据不可编辑的操作
1.布局全部弄好显示 2.给首布局添加明细有数据则显示的jq控制 3.驳回到首节点,后处理给下个审批人的明细添加数据,给历史数据添加状态为1,布局中明细根据状态1给对应标签添加disabled=true,然后因为提交表单disabled是不会返回数据到后端的, 所以需要在提交事件把disabled移除掉。 3.1驳回到首节点,后处理给下个审批人的明细添加数据,给历史数据添加状态为1 3
spring bean的生命周期
1. Spring Bean的生命周期简介 Spring bean 的生命周期是指 Bean 在 Spring(IoC)中从创建到销毁的整个过程。 在Spring框架中,Bean的生命周期包括以下阶段: 实例化:通过构造函数或工厂方法创建Bean实例。 属性赋值:调用Bean实例的setter方法将属性值注入到Bean中。 初始化:执行Bean实例的初始化方法,例如init-method指定的方
解决无法引入mysql-connector-j的问题
解决无法引入 mysql-connector-j 的问题 开发环境 Windows 10 Oracle JDK 1.8 Maven 3.8.8 IntelliJ IDEA 2022.2.2 问题 在使用 Spring initializr 创建 Spring Boot 项目时,无法引入 mysql-connector-j 这个依赖,报错信息: com.mysql:mysql-con
【Java】CentOs7安装和配置Java环境
1、检查系统环境,查询Java的安装信息 出现上图内容表示已经安装,如果需要卸载,运行下面的指令 2、安装JDK 查看JDK软件包列表 安装需要的版本 查看安装结果 3、配置环境变量 设置JAVA_HOME、CLASSPATH、PATH环境变量,将下面的三行添加到 /etc/profile 中: &nbs
K8S Pod 优雅停机
优雅停止(Gracful Shutdown)与 502/504 报错 如果 Pod 正在处理大量请求(比如 1000 QPS+)时,因为节点故障或「竞价节点」被回收等原因被重新调度, 你可能会观察到在容器被 terminate 的一段时间内出现少量 502/504。 为了搞清楚这个问题,需要先理解清楚 terminate 一个 Pod 的流程: 1.Pod 的状态被设为 Terminating,(
如何在Linux 上安装JDK
在Linux上安装JDK的步骤如下: 下载JDK 首先需要从Oracle官网下载JDK安装包,可以根据实际需求选择不同版本的JDK。 解压JDK 将下载的JDK安装包解压到指定的目录 创建多级目录 [root@wei01 ~]# mkdir /root/02InstallStorage/JDK/newest -p 1.切换到JDK目录 [root@8
关于mapStruct
遇到问题 可以解决Convert后手动set的问题 可解决多数据源同时转换的问题 官方文档 https://mapstruct.org/documentation/stable/reference/html/#non-shipped-annotations mapStruct的常用操作 同名同属性字段转换 //无需特别声明 直接转换即可 Target convertToTarget(So
用好kafka,你不得不知的那些工具
前言 工欲善其事,必先利其器。本文主要分享一下消息中间件kafka安装部署的过程,以及我平时在工作中针对kafka用的一些客户端工具和监控工具。 kafka部署架构 一个kafka集群由多个kafka broker组成,每个broker将自己的元数据信息注册到zookeeper中,通过zookeeper关联形成一个集群。 prettyZoo客户端 既然kafka依赖zookeeper,我难免就需
stream流,通过集合里面的对象属性过滤数据
使用方法: List<BuLtReasonCodeDTO> categoryList = searchvo .stream() .filter(distinctByKey(BuLtReasonCodeDTO::getReasonCategory)) .collect(Collecto
kafka单机离线部署脚本
公司数仓项目加了一套kafka,写了个部署脚本。 因为是离线安装的,有需要大家就自己准备安装包吧 脚本部署了jdk、zookeeper、kafka,都做了服务化包括开机自启。
【2】从零玩转OSS阿里云存储服务之Java代码操作-2-cong-ling-wan-zhuan-oss-a-li-yun-cun-chu-fu-wu-zhi-java-dai-ma-cao-zuo
接上一个文章讲解还有一个东西忘记说 AccessKey 这玩意用来搞认证的 差不多 开通就好了..等会要用到 步入正题创建oss模块也就是一个项目 导入依赖 创建OSSUploadUtil.java 创建Config.properties配置文件到resources下 创建SystemConfig.java 处理配置文件 创建config文件夹下的OSSConfig.java 在测
【1】从零玩转OSS阿里云存储服务之阿里云平台等操作-1-cong-ling-wan-zhuan-oss-a-li-yun-cun-chu-fu-wu-zhi-a-li-yun-ping-tai-deng-cao-zuo
介绍 阿里云对象存储服务(Object Storage Service,简称 OSS)为您提供基于网络的数据存取服务。 使用 OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 代码实现文章 开始使用 使用 OSS 管理控制台 使用阿里云管理控制台来完成 OSS 基本操作的流程如下: OSS使用流程--- 登陆阿里云控制台搜索 OSS对象存储 进入到
SpringBoot-MybatisPlus-Dynamic(多数据源)-springboot-mybatisplus-dynamic-duo-shu-ju-yuan-
SpringBoot-MybatisPlus-Dynamic(多数据源) 前言 基于工作上班累死了。。。打开自己电脑 不知道干些啥 就康康 MP 网站康康 更新了啥 咦~~~还挺多 看到了多数据源集成 挺简单的 来玩玩看看 简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。其支持 Jdk 1
javaScript正则截取自定义标签-javascript-zheng-ze-jie-qu-zi-ding-yi-biao-qian
1、匹配双标签(包括内容),过滤标签,不保留内容。 2、匹配标签(不包括内容),过滤标签,保留内容。 3、去掉标签内的属性(比如style和class) 你的压力来源于无法自律,只是假装努力,现状跟不上内心欲望,所以你焦虑又恐慌。——杨不易
ja-netfilte-ja-netfilte
https://gitee.com/ja-netfilter/ja-netfilter https://3.jetbra.in/ 将下载的 jetbra.zip 解压,找到 config-jetbrains 文件夹里面的文件全部复制到, ja-netfilter config 包当中,然后就是修改 IDEA 的 VM 文件,这里注意,在最新版的 IDEA 使用的 JDK 版本为 JDK17 所以
IntelliJ IDEA官方宣布中文汉化包正式发布-intellijidea-guan-fang-xuan-bu-zhong-wen-han-hua-bao-zheng-shi-fa-bu
23日JetBrains宣布中文语言包正式发布。这意味着它旗下的知名IDE工具IntelliJ IDEA、AppCode、CLion、DataGrip、GoLand、PyCharm、PhpStorm、RubyMine 和 WebStorm 及其所有捆绑插件的 UI已经全部汉化完毕。 参与汉化的不仅仅有Jetbrains内部的工程师,也有很多忠实用户参与了汉化的翻译、测试和审校。在本地化的过程中,
Halo新年灯笼-halonewyaer
前言 这不是快过年了博客整点新年效果啊我记得见到过一个灯笼不多说直接来 这灯笼好听好看的配置到halo当中 一、使用halo后台编辑你对应的模板 首页-》外观-》主题编辑 拉到最下面编辑 拉到最底下复制一份 更改为你想要的名称(用于按钮控制) 示例: 二、灯笼代码编写 将此代码贴入 将此代码贴入主题的自定义css样式当中 css样式 三、设置打开新年灯笼 进入主题设置点击其他选
【并发编程特性】并发编程特性之五种特性的探讨-volatileandsynchronized
前言 编写正确的程序很难,而编写正确的并发程序则难上加难。与串行程序相比,在并发程序中存在更多容易出错的地方。那么,为何我们还要使用并发程序?线程是Java语言中不可或缺的重要功能,它们能使复杂的异步代码变得简单,从而极大地简化了复杂系统的开发。 JMM内存图: 一、共享性 数据共享性是线程安全的主要原因之一。 如果所有的数据只是在线程内有效,那就不存在线程安全性问题,3. 这也是我们在编程
react-query-builder查询构建器中文文档
简介 react-query-builder是一个React组件库,用于构建可配置的查询构建器。 使用react-query-builder,您可以轻松地构建复杂的查询表单,使用户能够以直观的方式构建和执行查询。 以下是一些常见的用例: 构建高级搜索表单,允许用户根据不同的条件搜索数据。 在数据可视化应用程序中使用,以允许用户筛选和过滤数据。 作为电子商务应用程序中的筛选器,允许用户根据价格范围
从零玩转EasyPoi-cong-ling-wan-zhuan-easypoi
EasyPoi Excel和 Word简易工具类 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法 官网 基础示例 basedemo.md 测试项目: http://git.oschina.net/lemur
从零玩转Docker之docker-compose快捷部署中间件-dockercompose2
搭建 Nacos v2.2.2 mkdir -p /root/docker/nacos/logs mkdir -p /root/docker/nacos/application.properties mkdir -p /root/docker/nacos/data CockerCompose 搭建Minio 分布式文件管理 Docker部署 DockerCompose部署
从零玩转Activiti7工作流-2021-09-12-16-22-07
Activiti 讲师:波波 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。 课程内容的介绍 Activiti基础篇 Activiti进阶篇 Activiti整合篇 一、Activiti基础篇 1.工作流介