## 0. 阅读完本文你将会学会- 写出更优雅高效的Java代码## 1. 前言周六逛B乎的时候正好刷到这样一个问题 **"Java开发手册(黄山版)怎么样?"**,我仔细一看这不是孤尽老师的著作吗?居然已经更新到了黄山版。上次... 如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。- 工具类不允许有 public 或 default 构造方法。- 类非 static 成员变量并且与子类共享,必须是 protected。 - 类非 static 成员变量并且...
## 一、前言- 开发Java项目过程中,难免会碰到一些 性能 问题,这时候就需要一些工具,帮忙排查- 本文主要介绍 JDK自带的上古神器 jstat、jmap,用于分析内存问题,另简单介绍 MAT、gceasy、HeapDump 等- 以 openjdk... 前6列 输出各个内存区域使用百分比 (没有容量大小),依次是 幸存区survivor0、1、新生代Eden、老年代Old、元数据 Metaspace、Compressed class space- GC 结尾的列 表示 GC次数,GCT 结尾的 表示 GC耗时,依次是 Y...
若在引入依赖后工程无法启动了,或者之前都正常运行的逻辑却在某些场景下突然报错了等等,依赖冲突可能就是罪魁祸首。不过不用担心,因为依赖冲突这个问题几乎在任何一个稍具规模的Java工程里都会存在。举个例子,你... (ClassLoader.java:521) ...25 common frames omitted("hello world!"); ```这是典型的依赖冲突问题,什么?你说编译没问题?照着文档写的?还能打包?TOO NAIVE...你以为你引了这个版本的依赖,工程里跑的就是...
java -jar arthas-boot.jar```## 三、watch命令 ### 1. [基本用法](https://arthas.aliyun.com/doc/watch.html) - 观察指定函数的调用情况,如 入参、返回值、抛出异常,通过编写 OGNL 表达式查看- 命令格式:`watch 类全名或类名表达式 函数名表达式 {观察表达式} -x 输出深度 -n 次数`- 观察表达式:默认 {params, target, returnObj},分别是 参数列表、被观察对象、返回值- `-x 输出深度`:默认为 1,最大为 4。默认的 观...
版本控制应用于桶(Bucket)中所有对象(Object)。开启桶的版本控制后,如果发生误删除或者覆盖对象的情况,您可以将对象恢复至任意的历史版本。TOS Java SDK 提供的若干接口均支持多版本功能的操作。TOS 中桶的版本控制状态包含未开启、开启(Enable)和暂停(Suspended)三种,本文介绍如何通过 TOS Java SDK 进行桶的多版本状态管理。 多版本说明如果您的桶的多版本功能处于开启状态(Enable),调用 SDK 的 putObject 时,每个上传的对象都...
本文为您介绍如何通过一站式流水线对 Java 源码进行编译构建,归档构建产物 JAR 包,并完成 Java 托管应用的自动化 Kubernetes 部署。 场景介绍通过持续交付的一站式流水线,可完成 Java 项目的编译构建、制品归档和自... 避免多个路径下存在同名文件时无法分辨。 制品文件路径 填写制品上传后,存储在制品仓库中的目标路径。本示例为/,表示存储至根目录。 失败时跳过 开启后当前步骤运行失败直接跳过。本示例不开启。 高级设置保持默...
## 一、前言- 开发Java项目过程中,难免会碰到一些 性能 问题,这时候就需要一些工具,帮忙排查- 本文主要介绍 JDK自带的上古神器 jstat、jmap,用于分析内存问题,另简单介绍 MAT、gceasy、HeapDump 等- 以 openjdk... 前6列 输出各个内存区域使用百分比 (没有容量大小),依次是 幸存区survivor0、1、新生代Eden、老年代Old、元数据 Metaspace、Compressed class space- GC 结尾的列 表示 GC次数,GCT 结尾的 表示 GC耗时,依次是 Y...
若在引入依赖后工程无法启动了,或者之前都正常运行的逻辑却在某些场景下突然报错了等等,依赖冲突可能就是罪魁祸首。不过不用担心,因为依赖冲突这个问题几乎在任何一个稍具规模的Java工程里都会存在。举个例子,你... (ClassLoader.java:521) ...25 common frames omitted("hello world!"); ```这是典型的依赖冲突问题,什么?你说编译没问题?照着文档写的?还能打包?TOO NAIVE...你以为你引了这个版本的依赖,工程里跑的就是...
TOS Java SDK 的 listObjectVersions 接口用于列举桶中的多版本对象。本文介绍如何通过 listObjectVersions 接口简单列举指定桶中的多版本对象、列举所有多版本对象、列举包含指定前缀的多版本对象、列举指定目录下的多版本对象和子目录等。 注意事项要列举多版本对象,您的账号必须具备 tos:ListBucketVersions 权限,具体操作请参见 IAM 策略概述。 参数说明listObjectVersions 接口支持的参数如下。 参数 描述 prefix 本次查...
java -jar arthas-boot.jar```## 三、watch命令 ### 1. [基本用法](https://arthas.aliyun.com/doc/watch.html) - 观察指定函数的调用情况,如 入参、返回值、抛出异常,通过编写 OGNL 表达式查看- 命令格式:`watch 类全名或类名表达式 函数名表达式 {观察表达式} -x 输出深度 -n 次数`- 观察表达式:默认 {params, target, returnObj},分别是 参数列表、被观察对象、返回值- `-x 输出深度`:默认为 1,最大为 4。默认的 观...
TOS 支持为对象设置自定义标签,并根据对象标签,完成特定对象的生命周期管理。本文介绍如何通过 TOS Java SDK 管理对象标签。 注意事项设置对象标签,您必须具有 tos:PutObjectTagging 权限,具体操作,请参见权限配置指南。 获取对象标签,您必须具有 tos:GetObjectTagging 权限,具体操作,请参见权限配置指南。 删除对象标签,您必须具有 tos:DeleteObjectTagging 权限,具体操作,请参见权限配置指南。 每个对象最多添加 10 个标签,并且...
Java SDK 支持多种方式上传数据,以下简要说明每种上传方式的参数限制。 上传说明普通上传:单个上传对象大小不超过 5GiB。 追加上传:每次追加的大小不能小于 128KiB,追加后的单个对象总大小不能大于 5GiB。 分片上传:当文件数据较大时,建议使用分片上传。除了最后一个分片,其他分片大小需要大于等于 5MiB。上传的分片的编号也有范围限制,其范围是 [1,10000]。 断点续传上传:对于本地大文件,建议使用断点续传方式,可支持并发上传、...
对象元数据是对象的属性描述,包括 HTTP 标准属性(HTTP Header)和用户自定义元数据(User Meta)两种。TOS Java SDK 支持对单个对象设置元数据,以及查看对象元数据信息。 设置对象元数据注意 要设置对象元数据,您的账... 如果没有扩展名则设置默认值 binary/octet-stream。 options.setContentType("text/plain"); // 设置内容被下载时的名称。 options.setContentDisposition("attachment; filenam...