【JDK 11】关于 Java 模块系统,看这一篇就够了

继 2014 年 3 月 Java 8 发布之后,时隔 4 年,2018 年 9 月,Java 11 如期发布,其间间隔了 Java 9 和 Java 10 两个非LTS(Long Term Support)版本。作为最新的LTS版本,相比 Java 8,Java 11 包含了模块系统、改用 G1 作为默认 GC 算法、反应式流 Flow、新版 HttpClient 等诸多特性。作为 JDK 11 升级系列的第一篇,本文将介绍此次升级最重要的特性——模块系统。 1 模块系统简介 如果把 Java...阅读全文

掘金 2020-07-04 22:07 掘金

借用Arthas分析maven非包版本冲突导致找不到类问题

背景: 微服务应用xxx.jar依赖netty-all-4.1.25Final,项目中使用通信工具async-http-client-2.0.31内置耦合了io.netty的几个同包名同类名的类;Tomcat应用运行时报:java.lang.NoSuchMethodError: io.netty.channel.DefaultChannelId.newInstance()Lio/netty/channel/DefaultChannelId;。But netty-all包中是存在DefaultCh...阅读全文

CSDN博客 2023-08-22 08:00 CSDN博客

项目中途引入Mybatis-plus后报错:Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory_杨四郎2018的博客

项目中途引入Mybatis-plus后报错:Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory 1、网上有提供解决办法1:   在引入mybatis-plus之前,是存在mybatis的包和pagehelper包的,把这两个注释掉就可以了。   分页就使用mybatis-plus自带的IPage。 <!-- SpringBoot集成mybatis框架 --> <!--<dependency>...阅读全文

CSDN博客 2023-04-23 12:03 CSDN博客

shell脚本输出中文乱码

Scala入门到精通——第三十节 Scala脚本编程与结束语 摘要: 本节主要内容 REPL命令行高级使用 使用Scala进行Linux脚本编程 结束语 1. REPL命令行高级使用 在使用REPL命令行时,有时候我们需要粘贴的代码比较大,而普通的粘贴可能会些一些问题,比如中文粘贴会出现乱码、多行代码粘贴时会出错,此时需要用到REPL的高… 猫耳_ 5年前 364 点赞 评论 Scala 命令行 Linux阅读全文

掘金 2021-04-23 00:00 掘金

使用Arthas获取Spring应用上下文的2种方法 - cdfive

背景 项目中有时我们需要对应用进行诊断和调试,如调用某个接口进行业务验证、业务执行、数据修复、刷新缓存、查询数据、跑批量任务等等。 微服务项目 如基于Dubbo搭建的微服务,我们可使用Dubbo支持的telnet运维管理,其中invoke命令方便直接调用Dubbo接口; 也可整合swagger-dubbo,方便在网页界面上直接调用Dubbo接口。 web项目 如使用了SpringMVC、Jersey等框架,可考虑暴露一些运维相关的内部rest api,里面调用业务方法,用于某些场景下人工操作处理...阅读全文

博客园 2022-04-01 22:10 博客园

K8s 为什么要弃用 Docker?

以下文章来源于云原生技术社区,作者Tony,侵删在写“K8s”系列文章的过程中,很多读者留言询问 K8s 弃用 Docker 的事,担心现在学习 Docker 是否还值得,是不是该切换到 containerd 或其他运行时。这些怀疑有一定的道理。两年前,K8s 发布“弃用 Docker”的消息时,确实在社区引起了“轩然大波”,影响甚至蔓延到了社区之外,K8s 不得不写了好几篇博客来重复解释原因。两年过去了,虽然 K8s 1.24 已经实现了“弃用 Docker”的目标,但很多人似乎对这一点还不是...阅读全文

知乎 2022-10-12 16:21 知乎

Arthas热替换java的class文件_arthas 替换class_fengchengwu2012的博客

1、arthas操作class、classloader的常用命令 (1)classloader - 查看 classloader 的继承树,urls,类加载信息,使用 classloader 去 getResource (2)dump - dump 已加载类的 byte code 到特定目录 (3)jad - 反编译指定已加载类的源码 (4)mc - 内存编译器,内存编译.java文件为.class文件 (5)redefine - 加载外部的.class文件,redefine 到 JVM 里 (...阅读全文

CSDN博客 2023-08-28 10:59 CSDN博客

【博客555】prometheus的step,durations,rate interval,scrape interval对数据查询结果的影响_promql.lookbackdelta_lulu的云原生笔记的博客

prometheus的step,durations,rate interval,scrape interval对数据查询结果的影响 1、场景:在查询prometheus数据时出现很多诡异的现象 1、为什么同样的查询语句在不同的时间点查询,对过去某一时刻的数据展示却不一样 2、为什么有时候峰值在使用不同step,不同duration查询时,会不一样,甚至消失 3、为什么scrape interval变化了,会使某些规则的结果不准确 等等疑问 2、原理剖析:rate与irate,step,datap...阅读全文

CSDN博客 2022-12-12 10:15 CSDN博客

从Tomcat到Spring Boot

package com.domain.app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplicati...阅读全文

张京 2018-08-26 12:21 张京

怎么打印当前ClassLoader 加载了哪些Jar_java 打印加载的jar_共饮一杯无的博客

classloader类加载器_基于java类的加载方式详解 08-29 下面小编就为大家带来一篇classloader类加载器_基于java类的加载方式详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Java 动态加载jar文件示例 01-23 Java 动态加载jar文件示例,轻松实现插件式开发 解决classloader的jar包 11-07 包括commons-logging commons-beanutils commons-lang ezmorph...阅读全文

CSDN博客 2023-04-25 14:27 CSDN博客

Log4j2中的同步日志与异步日志 - Ye_yang

1.背景 Log4j 2中记录日志的方式有同步日志和异步日志两种方式,其中异步日志又可分为使用AsyncAppender和使用AsyncLogger两种方式。 2.Log4j2中的同步日志 所谓同步日志,即当输出日志时,必须等待日志输出语句执行完毕后,才能执行后面的业务逻辑语句。 下面通过一个例子来了解Log4j2中的同步日志,并借此来探究整个日志输出过程。 log4j2.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <Configuration...阅读全文

博客园 2017-12-01 23:50 博客园

图文解释 读写分离、垂直拆分、水平拆分、分库分表

1. 前言 相信你经常被 读写分离、垂直拆分、水平拆分、分库分表 这几个名词搞得很懵逼。我有时候也很懵逼,那么今天就来把这几个数据库常用术语搞清楚,同时也记录一下。 2. 读写分离 这个相对比较好理解一些,就是将数据库分为主从库,一个主库(Master)用于写数据,多个从库(Slaver)进行轮询读取数据的过程,主从库之间通过某种通讯机制进行数据的同步,是一种常见的数据库架构。下面这张图就展示了 “一主二从” 的结构: 2.1 为什么要读写分离 大多数互联网数据操作往往都是读多写少,随着数据的增...阅读全文

掘金 2020-01-10 10:49 掘金

Prometheus range query中的step参数

详细解释Prometheus range query中的step参数的作用。 Prometheus有两种query:instant query、range query。本文要讲的就是range query中的step参数。 range query是非常常见的一种query,看看它有哪些参数: query=<string>: PromQL表达式。 start=<rfc3339 | unix_timestamp>: 时间范围的开始。 end=<rfc3339 | unix_timestamp>: 时...阅读全文

颇忒脱的技术博客 2018-12-28 00:00 颇忒脱的技术博客

Prometheus核心概念:你是如何在项目中使用Summary类型的Metric的?-腾讯云开发者社区

1 背景在微服务项目中,我们通常需要监测客户请求的耗时,进而掌握系统整体的性能情况。若发现某些请求耗时非常高,那肯定会对客户体验造成影响。并且高耗时的服务非常容易成为整个服务的瓶颈,在高并发下很可能引发微服务雪崩效应,进而导致整个服务不可用。2 微服务项目中如何监测请求耗时呢?例如常见的监测手段是:某个请求的最大耗时。(木桶效应里的最短的那块板)某个请求的耗时百分位。(请求耗时的整体分布情况)例如:请求:http://127.0.0.1/hello最大耗时:300ms [需要重点关注,什么情况下...阅读全文

腾讯云 2021-02-08 14:44 腾讯云

【Mongo】shell命令行模式执行mongo命令_ITPUB博客

例子: mongo --host 172.31.36.77 --port 27017 -u admin -p 'HpyD9KAd(JDkHRY9' admin --eval "db.currentOp()" 1. 交互式 mongo shell 大部分的 mongodb 教程,在第一章都会讲解这种方式。 mongo 127.0.0.1:27017 use test db.users.findOne() 2. mongo --eval 运行一段脚本 不进入交互模式,直接在 OS 的命令行下运行一段...阅读全文

blog.itpub.net 2018-05-09 17:13 blog.itpub.net

【云原生】Grafana Alerting 告警模块介绍与实战操作 - 大数据老司机

目录一、概述二、Grafana Alerting 模块介绍三、配置图表四、告警告警规则五、配置告警通道(Contact points)1)Email1、配置smtp(grafana.ini)2、配置消息模板3、配置告警通道2)WebHook1、编写webhook api服务2、在grafana页面上配置3)Alertmanager 一、概述 在版本4.0+ grafana中增加了Alerting 告警模块,丰富了grafana功能,以前告警需要借助AlertManager,但是有grafana告...阅读全文

博客园 2022-12-24 22:26 博客园

保姆级别的 PromQL 教程-腾讯云开发者社区

这篇文章介绍如何使用 PromQL 查询 Prometheus 里面的数据。包括如何使用函数,理解这些函数,Metrics 的逻辑等等,因为看了很多教程试图学习 PromQL,发现这些教程都直说有哪些函数、语法是什么,看完之后还是很难理解。比如 [1m] 是什么意思?为什么有的函数需要有的函数不需要?它对 Grafana 上面展示的数据有什么影响?rate 和 irate 的区别是什么?sum 和 rate 要先用哪个后用哪个?经过照葫芦画瓢地写了很多 PromQL 来设置监控和告警规则,我渐渐...阅读全文

腾讯云 2021-09-27 00:00 腾讯云

kafka发送消息分区选择策略详解 | 戒修

背景面试被问到kafka消息发送是分区选择的策略,当时回答说是随机选择一个分区;或者通过消息key的hash值和分区数计算出分区。当时只是猜测的,并没有查看过kafka的源代码来证实,今天就通过源码来证实一下。 发送消息的一个简单例子12345678910111213141516171819 private static void sendMsg() { String topicName = "kafka-test"; // 设置配置属性 Properties props = new Prope...阅读全文

沉迷技术的小沙弥 2017-02-27 00:00 沉迷技术的小沙弥

Linux系统性能监控工具:tsar 安装、配置、以及使用 - 宇宙神奇

介绍tsar 是淘宝自己开发的一个监控工具,可用于收集和汇总系统信息,例如CPU,负载,IO和应用程序信息,例如nginx,HAProxy,Squid等。结果可以存储在本地磁盘或发送到Nagios。tsar 可以通过自己开发模块轻松扩展,这使得它成为一个强大的监控工具。 总体架构Tsar是基于模块化设计的程序,程序有两部分组成:框架和模块。框架程序源代码主要在src目录,而模块源代码主要在modules目录中。框架提供对配置文件的解析,模块的加载,命令行参数的解析,应用模块的接口对模块原始数据的...阅读全文

博客园 2017-09-06 10:08 博客园