## 0. 阅读完本文你将会学会- 写出更优雅高效的Java代码## 1. 前言周六逛B乎的时候正好刷到这样一个问题 **"Java开发手册(黄山版)怎么样?"**,我仔细一看这不是孤尽老师的著作吗?居然已经更新到了黄山版。上次... 如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。- 工具类不允许有 public 或 default 构造方法。- 类非 static 成员变量并且与子类共享,必须是 protected。 - 类非 static 成员变量并且...
对象序列化二进制存储,下面在来详细介绍下flink内存管理。## 完全JVM内存管理存在的问题基于JVM的数据分析引擎都需要面对将大量数据存到内存当中,就不得不面对JVM存在的几个问题:- java对象存储密度低:比如... 用来存放排序的数据。其次,把sort buffer分成两块区域,一个区域是用来存放所有对象完整的二进制数据。另一个区域用来存放指向完整二进制数据的指针以及定长的序列化后的key(Key+pointer)。如果需要序列化的 key 是...
## 一、前言- 开发Java项目过程中,难免会碰到一些 性能 问题,这时候就需要一些工具,帮忙排查- 本文主要介绍 JDK自带的上古神器 jstat、jmap,用于分析内存问题,另简单介绍 MAT、gceasy、HeapDump 等- 以 openjdk... 前6列 输出各个内存区域使用百分比 (没有容量大小),依次是 幸存区survivor0、1、新生代Eden、老年代Old、元数据 Metaspace、Compressed class space- GC 结尾的列 表示 GC次数,GCT 结尾的 表示 GC耗时,依次是 Y...
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)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。本文介绍如何通过 TOS Java SDK 的 getBucketLocation 接口获取桶所在的地域(Region)信息。 注意事项只有桶的所有者(Owner)才能查看桶所在的地域(Region)。 示例代码如下代码展示如何获取桶的地域(Region)信息。 java import com.volcengine.tos.TOSV2;import com.volcengine.tos.TOSV2ClientBuilder;import com.volcengine.tos.TosClientExc...
桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。本文介绍如何通过 TOS Java SDK 的 createBucket 接口创建一个新的桶。 注意事项存储桶命名规范如下:只能包括小写字母 a~z、数字和短横线(-)。 开头和结尾只能是数字或字母。 长度必须在 3~63 个字符之间。 通过与 TOS 同地域的其他火山引擎产品访问 TOS 时,推荐您使用内网 Endpoint。关于地域和 Endpoint 的更多信息,请参见地域和访问域名。...
TOS 支持跨区域复制,您可以将一个地域的对象复制到不同地域的存储桶中。配置跨区域复制规则后,当您在源桶中上传新文件时,TOS 会自动将文件同步至目的桶内。该功能用于满足异地容灾和数据复制的需求。 设置跨区域复制规则您可以通过 TOS Java SDK 的 putBucketReplication 接口设置指定桶的跨区域复制规则。 注意事项设置跨区域复制规则之后,才会同步相应文件。 跨区域复制采用异步复制机制,根据您的文件大小,需要的时间为几分钟至...
桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。TOS 支持针对桶设置生命周期(Lifecycle)规则,自动删除过期的对象(Object)和未合并的分片数据,或将到期的对象转化为低频或归档存储类型,从而节约用户存储费用。本文介绍如何通过 TOS Java SDK 管理桶的生命周期规则。 设置生命周期规则您可以通过 TOS Java SDK 的 putBucketLifecycle 接口设置指定桶的生命周期规则。 注意 要为桶配置生命周期...
本文介绍 TOS 中较大对象的常见使用场景。 上传大对象:请参见分片上传。 下载大对象:请参见范围下载。 拷贝大对象:请参见分片拷贝。
桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。当请求桶中的对象数据不存在时,TOS 默认返回 404 错误。但如果您设置了桶的回源规则,填写了对象数据的正确地址,TOS 将会通过回... Java SDK 的 putBucketMirrorBack 接口设置指定桶的回源规则。 注意 要为桶设置镜像回源规则,默认您必须为桶所有者。 一个存储桶仅支持创建一条回源规则。 镜像回源最大能够支持 5GiB 的对象。如果需要请求超过 5G...
本文介绍如何快速使用 TOS Java SDK 完成常见操作,包括客户端通用示例、创建桶、上传对象、下载对象、列举对象和删除对象。 前提条件安装SDK 初始化客户端 客户端通用示例以下代码以上传对象为例,展示使用 TOS Ja... (对象存储的逻辑概念)下,可以为对象名添加以 / 结尾的前缀,且支持多级文件夹,例如对象名 folder1/folder2/objectName 是指将 objectName 上传到 folder1 文件夹下的 folder2 文件夹下。 上传对象到某个文件夹时,由...
普通上传是指通过 TOS Java SDK 的 putObject 接口上传单个对象(Object)。SDK 统一使用 InputStream 类作为上传的数据流参数。您可根据业务需要使用不同形式的数据流传入,如上传字符串或字节数组可以使用 ByteArra... 注意事项上传对象前,您必须具有 tos:PutObject 权限,具体操作,请参见权限配置指南。 上传对象时,对象名必须满足一定规范,详细信息,请参见对象命名规范。 TOS 是面向海量存储设计的分布式对象存储产品,内部分区存储...
桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。TOS针对桶(Bucket)资源的权限控制包括桶授权策略(Bucket Policy)和桶访问控制(Bucket ACL)。本文介绍如何通过 TOS Java SDK 管理桶的授权策略(Policy)。有关桶的访问控制管理请参考读写权限配置。 设置桶策略您可以通过 TOS Java SDK 的 putBucketPolicy 接口设置指定桶的授权策略。 注意 设置桶策略,您的账号必须具备 tos:PutBucketPolicy 权...