java编程访问hdfs_以编程方式访问Java基本类型的大小

java编程访问hdfs

许多不熟悉Java的开发人员首先要了解的一件事是Java的基本原始数据类型 ,其固定(与平台无关)的大小(以位或字节为单位用二进制补码表示 )以及它们的范围(Java中所有数字类型都是带符号的) )。 有许多不错的在线资源列出了这些特性,其中一些资源是有关原始数据类型的Java教程课程, Java的 八种数据类型 , Java的原始数据类型和Java基本数据类型。

Java允许人们以编程方式访问基本Java基本数据类型的这些特征。 在Java中,大多数原始数据类型的最大值和最小值已通过相应的引用类型的MAX_VALUEMIN_VALUE字段提供了一段时间。 J2SE 5为大多数类型引入了SIZE字段,该字段以位为单位提供每个类型的大小(二进制补码)。 现在,JDK 8为大多数此类提供了一个称为BYTES的新字段,该字段以字节为单位显示类型的大小(二进制补码)。

DataTypeSizes.java

package dustin.examples.jdk8;import static java.lang.System.out;
import java.lang.reflect.Field;/*** Demonstrate JDK 8's easy programmatic access to size of basic Java datatypes.* * @author Dustin*/
public class DataTypeSizes
{/*** Print values of certain fields (assumed to be constant) for provided class.* The fields that are printed are SIZE, BYTES, MIN_VALUE, and MAX_VALUE.* * @param clazz Class which may have static fields SIZE, BYTES, MIN_VALUE,*    and/or MAX_VALUE whose values will be written to standard output.*/private static void printDataTypeDetails(final Class clazz){out.println("\nDatatype (Class): " + clazz.getCanonicalName() + ":");final Field[] fields = clazz.getDeclaredFields();for (final Field field : fields){final String fieldName = field.getName();try  {switch (fieldName){case "SIZE" :  // generally introduced with 1.5 (twos complement)out.println("\tSize (in bits):  " + field.get(null));break;case "BYTES" : // generally introduced with 1.8 (twos complement)out.println("\tSize (in bytes): " + field.get(null));break;case "MIN_VALUE" :out.println("\tMinimum Value:   " + field.get(null));break;case "MAX_VALUE" :out.println("\tMaximum Value:   " + field.get(null));break;default :break;}}catch (IllegalAccessException illegalAccess){out.println("ERROR: Unable to reflect on field " + fieldName);}}}/*** Demonstrate JDK 8's ability to easily programmatically access the size of* basic Java data types.* * @param arguments Command-line arguments: none expected.*/public static void main(final String[] arguments){printDataTypeDetails(Byte.class);printDataTypeDetails(Short.class);printDataTypeDetails(Integer.class);printDataTypeDetails(Long.class);printDataTypeDetails(Float.class);printDataTypeDetails(Double.class);printDataTypeDetails(Character.class);printDataTypeDetails(Boolean.class);}
}

执行后,以上代码将以下结果写入标准输出。

输出

Datatype (Class): java.lang.Byte:Minimum Value:   -128Maximum Value:   127Size (in bits):  8Size (in bytes): 1Datatype (Class): java.lang.Short:Minimum Value:   -32768Maximum Value:   32767Size (in bits):  16Size (in bytes): 2Datatype (Class): java.lang.Integer:Minimum Value:   -2147483648Maximum Value:   2147483647Size (in bits):  32Size (in bytes): 4Datatype (Class): java.lang.Long:Minimum Value:   -9223372036854775808Maximum Value:   9223372036854775807Size (in bits):  64Size (in bytes): 8Datatype (Class): java.lang.Float:Maximum Value:   3.4028235E38Minimum Value:   1.4E-45Size (in bits):  32Size (in bytes): 4Datatype (Class): java.lang.Double:Maximum Value:   1.7976931348623157E308Minimum Value:   4.9E-324Size (in bits):  64Size (in bytes): 8Datatype (Class): java.lang.Character:Minimum Value:

更新:请注意,正如Attila-Mihaly Balazs在下面的注释中指出的那样,上面显示的java.lang.Floatjava.lang.DoubleMIN_VALUE值不是负数,即使这些常量值对ByteShort是负值也是如此, IntLong 。 对于FloatDouble的浮点类型 , MIN_VALUE常量表示可以存储在这些类型中的最小绝对值 。

尽管Java原始数据类型的特性可以随时在线获得,但是很高兴能够在需要时轻松地以编程方式访问这些细节。 我想用字节来考虑类型的大小,而JDK 8现在提供了查看以字节为单位直接测量这些大小的能力。

翻译自: https://www.javacodegeeks.com/2014/04/programmatic-access-to-sizes-of-java-primitive-types.html

java编程访问hdfs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1059 C语言竞赛(PAT乙级 C++)

题目 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —…

【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

一、基本配置 开发环境:ubuntu16.04 二、准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的,所以选择64位 1、拷贝搜狗输入法到ubuntu cp /media/sf_share/6q/sogoupinyin_2.3.1.0112_amd64.deb . 2、安装搜狗输入法 首次安装会报…

Spring Boot和Hibernate:打印查询和变量

办公室已经很晚了,您陷入了这个带有JoinColumns和层叠的奇怪的Jpa代码中,而您找不到错误所在。 您希望有一种方法可以查看打印的查询以及值。 稍微调整一下Spring Boot应用程序就可以实现。 借助lombock,这是我们的jpa模型。 package com.g…

解决SSH登录无响应timed out问题

输入 ssh usernamexx.xx.xx.xx光标一直闪烁,直到提示连接超时timed out。 这是因为服务器端的防火墙禁用了ssh服务的端口,默认为22. 有两种解决方法: 1)直接禁用防火墙 2)只开启22号端口 以Ubuntu为例: 1&…

restful json_Dropwizard:轻松的RESTful JSON HTTP Web服务

restful json寻求快速, 轻松地创建可用于生产环境的RESTful JSON HTTP Web服务的Java开发人员应考虑使用Dropwizard框架。 Dropwizard汇集了相互补充的广受好评的库,因此您可以了解重要的内容:编写和交付工作代码。 对于那些对所用库的详细信…

1061 判断题(PAT乙级 C++)

题目 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是…

gem for onenote安装教程

https://www.xiazaiba.com/jiaocheng/52255.html

使用Java :: Geci生成setter和getter

在本文中 ,我们创建了非常简单的hello-world生成器,以介绍框架以及通常如何生成生成器。 在本文中,我们将研究访问器生成器,它是在Java :: Geci的核心模块中定义的,它是商业级的,而不是仅用于演示的生成器。…

1062 最简分数(PAT乙级 C++)

题目 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数 N1/M​1​​ 和 N​2/M​2​​ ,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。 输…

使用xshell上传本地文件到服务器

1.查看linux上是否安装rz工具 2,查看安装是否完成,然后上传文件到服务器

ubuntu镜像下载

官方下载地址(不推荐) https://www.ubuntu.com/download 推荐使用 Ubuntu 20.04.4 LTS (Focal Fossa) 其余下载地址 中科大源 http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/ 阿里云开源镜像站 http://mirrors.aliyun.com/ubuntu-releases/…

Dev-C++ 一直提示源文件未编译,原因及解决办法

原因 编译命令换行(可能有的同学和我一样喜欢换行写),导致编译通不过,如果选择编译运行,便会提示"源文件未编译"。 如图 解决办法 这种写法不对,正确如下(两个命令间有一个空格&…

ubuntu 下安装qemu

(1)安装qemu 仿真ARM需要使用qemu-system-arm,安装模拟器 sudo apt-get install qemu-kvm qemu-kvm-extras (2)下载内核镜像。以下名称叫ubuntu.iso (3)创建一个虚拟磁盘 sudo qemu-im…

python 怎么查看变量的数据类型

方法 type(variable_name)示例 a hello b type(a) print(b)a 10 b type(a) print(b)结果 <class str> <class int>

Valhalla项目:LW2内联类型的初步了解

我总结了最近在Valhalla LW2 项目 “ 内联类型 ”中取得的一些进展&#xff0c;这些进展最近在我的博客文章“ Valhalla LW2进度-内联类型 ”中公开了。 在这篇文章中&#xff0c;我通过针对最近发布的Valhalla Early Access Build jdk-14-valhalla 1-8&#xff08;2019/7/4&a…

QCOW2镜像格式

QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots, smaller images on filesystems that don’t support sparse files, optional AES encryption, and optional zlib compression 现在比较主流的一种虚拟化镜…

for循环简介及实例(输出九九乘法表)

for循环简介 简介 for循环是3大循环其中一种&#xff0c;相比while循环和do while循环&#xff0c;它更加灵活&#xff0c;而且完全包含了while循环的功能&#xff0c;用for语句可以解决编程中所有循环问题。 语法格式 for(语句1;表达式1;表达式2) 语句 //语句1一般用于设置…

Windows下使用net user命令管理账户

准备工作-以管理员身份运行命令提示符&#xff08;cmd&#xff09; 鼠标左键单击Windos标志或者按下键盘Windows键&#xff0c;下滑菜单&#xff0c;在Windows系统 中找到命令提示符。 2.右键&#xff0c;更多->以管理员身份运行 net user 命令用法 1.查看所有用户 net…

Java中带有NetSuite数据实体的对象关系映射(ORM)

对象关系映射&#xff08;ORM&#xff09;技术使使用关系数据源更容易&#xff0c;并且可以将逻辑业务模型与物理存储模型联系在一起。 遵循本教程&#xff0c;将与NetSuite数据的连接集成到基于Java的ORM框架Hibernate中。 您可以使用Hibernate将面向对象的域模型映射到传统的…

vmware中ubuntu虚拟机扩容

两种扩容方式&#xff1a; 重新创建一块虚拟硬盘 扩大原来的硬盘&#xff1a;如果装系统时没有进行手动分区&#xff0c;系统只有两个分区&#xff08;根分区和交换分区&#xff09;&#xff0c;这种情况我们直接扩展根分区的大小。 我们是为了解决当前用户空间不够的问题&…