Java 日看一类(1)之IO包中的Bits

java.io(一):Bits java.io@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 阅读详情

初学Java,每天辨析一个类的使用和对其用法进行讲解(可能无法做到很深层次的辨析,作者水平有限),以此来督促自己的学习。


Bits类属于java的IO包

其文件头的注释是这样写的:

*Utility methods for packing/unpacking primitive values in/out of byte arrays.

*using big-endian byte ordering.

 大意为:

一种对字节数组高效的封装/解包手段

使用大端字节序



第一句的意思显而易见,那么什么又叫做大端字节序?


字节序为大于一个字节大小的数据在内存中的存储顺序(你可以理解为字节为内存最小单元的大小),一般来说一个数据的存储空间在内存中是相邻的,对于CPU读取时,需要辨别多个存储单元所存储数据的顺序,顺序错了可能会得到完全不一样的数据。

一般读取方式为顺序读取,分为两种,大端字节序(big-endian)和小端字节序(little-endian)

大端模式:数据的高位存储在低地址处,低位存储在高地址处

小端模式:数据的高位储存在高地址处,低位存储在低地址处



回到主题————


Bits类所含有的参数:无;

Bits类所含有的方法:

static boolean getBoolean(byte[] b, int off)

static char getChar(byte[] b, int off)
static short getShort(byte[] b, int off)
static int getInt(byte[] b, int off)
static float getFloat(byte[] b, int off)
static long getLong(byte[] b, int off)
static double getDouble(byte[] b, int off)
static void putBoolean(byte[] b, int off, boolean val)
static void putChar(byte[] b, int off, char val) 
static void putShort(byte[] b, int off, short val)
static void putInt(byte[] b, int off, int val)
static void putFloat(byte[] b, int off, float val)
static void putLong(byte[] b, int off, long val)
static void putDouble(byte[] b, int off, double val)

get方法为获得字节数组中第“off”位数据的方法,数据类型即为返回值类型(将其类型转换,字节型转化为对应类型),比如char型大小为两个字节,则getchar方法将“off”位和“off+1”位的二进制流合成一个16位的二进制编码(依照大端模式排序)然后char转换并返回;int是四个字节,所以需要“off”位到“off+3”位合成一个32位的编码然后转化并返回;其余方法同理。


put方法则是将val数据插入到字节数组中“off”位,过程为get方法的逆过程,以putchar为例:先将val转化为二进制码,然后将其拆分为两个字节放置在“off”位和“off+1”位上(同样依照大端模式)




Bits类作为一种“方法”或者“手段”,并不存在构造函数(系统创建的默认构造函数不算),且主体14个方法全部都是静态方法,这就意味着我们不需要创建Bits类的实例而仅需把其当成一个封装好的“黑盒子”来直接使用即可。

尤其需要注意的一点是,Bits类为非public类型,仅能被同属于IO包的类所引用。


新版本大疆智图4.5 永久许可摄影测量建模软件 大疆智图支持常见格式的成果输出,包括 TIFF 正射影像和高程模型、LAS 格式点云,以及 B3DM、OSGB、OBJ 等六种常用格式的三维模型,还包括 DXF 和 SHP 等格式的等高线。大疆智图 DJI Terra是领先的三维重建软件,提供先进的技术和简单的操作,一站式解决方案,从航线规划到数据的获取,以及模型重建、数据分析等都提供独一无二的支持,优化项目工程,提供自动化优势,获得更有效智能的决策和行动,最终用户可以获得理想的结果,减轻工作压力,提高作业效率。质量报告和剖面查看功能有助于分析点云质量。 阅读详情

相关推荐

Kerberos基础及KDC服务(理论知识)

kerberos基础理论讲解+KDC服务

Siobhan_Mxin的博客 9716

java bits_Java IO笔记(Bits)

本篇讲述的是位于java io包中的Bits类。这是一个工具类,其中封装好了一些方法,用于处理原始数据和字节数据之间的转化,下面先附上源码。package java.io;class Bits {/** 该方法提供了两个参数,第一个参数是一个byte型数组b,其中已经存放了字节数据,第二个参数off为数据读取的起点位置,从数组off索引出取出数据,如果为1则* 返回true,否则返回false*/...

weixin_31437055的博客 430

fNIRS 公开数据集整理

关注“心仪脑”查看更多脑科学知识的分享。 关键词:数据整理、fNIRS 之前我们向大家推送了 Public Neuroscience Dataset 系列主题的第一期:《EEG公开数据集》,我们同时意识到大家对于神经科学公开数据集的需求。本期是该系列主题的第二期,我们在延续第一期初衷的基础上,整理了功能性近红外光谱(fNIRS)技术的公开数据集。 fNIRS 是一种非侵入性、便携且价格低廉的光学神经成像技术,它具有可观的空间和时间分辨率。因fNIRS技术问世较EEG晚了许多,所以应用此技术开展研究发.

psybrain的博客 4272

浅谈java.io包中数据转换类Bits

有人说,若想看看完美优雅的继承和装饰,今天偶然间看到了一个并没有向外提供功能的io工具类Bits,简单分享下学习心得,有错误之处还望道友指出,谢谢 package com.gg; /** * 解析io包中的Bits这个类,可以看出这个类并没有被public修饰,所以只适合同包中的类相互访问,仅仅作为同包中做数据流转、切换 * 此例子来源于java1.8(代码是拷出来的) */ class...

guoguo_guojiang的博客 438

从零到自动化:用Python脚本搞定华为CE12800的NETCONF初始配置(含完整代码)

本文详细介绍了如何使用Python脚本实现华为CE12800交换机的NETCONF初始配置自动化。从环境准备、脚本架构设计到SSH连接与NETCONF配置实战,提供了完整的代码示例和错误处理建议,帮助运维工程师高效完成网络设备自动化配置,提升工作效率。

weixin_42525551的博客 401

Unity适配Nintendo Switch平台开发

查看文档、下载SDK,都需要账号登录。

凝遥的笔记本 2104

Java位集合之BitMap,BitSet和布隆过滤器 解析

Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。节省存储空间Bitmap主要用于快速检索关键字状态,通常要求关键字是一个连续的序列(或者关键字是一个连续序列中的大部分), 最基本的情况,使用1bit表示一个关键字的状态(可标示两种状态),根据需要也可以使用2bit(表示4种状态),3bit(表示8种状态)。Bitmap。

上善若泪 5175

VMware 安装 Windows11

一、下载win11的镜像文件 可以在MSDN网站下载: MSDN系统库-致力于原版windows生态服务 二、创建虚拟机 1.双击打开VMware虚拟机,点击创建新的虚拟机 2.选择典型(推荐),然后点击下一步 3.在安装程序光盘映像文件下,点击浏览按钮,选择Windows 11ISO镜像文件所在的路径,在Windows 11安装文件路径中不要有中文或其他特殊符号,否则有可能引起错误。然后点击下一步 4.在选择客户机操作系统界...

m0_56015193的博客 7023

java.io.Bits类 数据类型转换

packet java.io; class Bits; Bits类位于java.io包下功能主要是字节转换 将字节数组转换为基本数据类型 或者将基本数据类型转为byte数组(全部为网络字节序); Bits类源码 package java.io; class Bits { /** * 将字节转为Boolean * @param var0 源数组 * @param var1 ...

淡淡的心 1204

BMS菊花链芯片怎么选?一张表对比ADI、TI、NXP五大厂家的隔离通信方案

本文深入对比了ADI、TI、NXP等五大厂商的BMS菊花链芯片隔离通信方案,涵盖技术演进、核心参数和场景化选型策略。通过实测数据和开发经验分享,帮助工程师在新能源汽车和储能系统中选择最优方案,提升通信可靠性和成本效益。

weixin_33724046的博客 433

5、癌症数据预处理技术与深度学习在癌症预测中的应用

本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。

alice7model的博客 123

Java IO包源码解析---Bits

Bits是java.io包下面的一个工具类,提供了字节数组与boolean,char,short,int,long,folat,double之间的转换,转换之间使用的是大端模式:即高位储存在低地址。使用的都是位运算: class Bits { /* * Methods for unpacking primitive values from byte arrays start...

qq_22158743的博客 266

Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 配置管理太麻烦?试试这个统一管理工具

还在为 Claude Code、Codex、Gemini CLI 等 AI CLI 配置烦恼?🤯 这款桌面工具支持五大助手统一管理,一键切换 50+ 服务商,MCP 和 Skills 集中管理 🛠️,跨平台支持,让你的 AI 编程更高效 ⚡

XiaoqiangClub的博客 918

Java.io.Bits类源码阅读

/** * Utility methods for packing/unpacking primitive values in/out of byte arrays * using big-endian byte ordering. * 使用big-endian(大端模式)字节顺序将原始值打包/解包到字节数组中的实用方法。 */ class Bits { /* * Methods for unpacking primitive values from byte arrays st

qq_43147121的博客 262

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java IO笔记(Bits)

本篇讲述的是位于java io包中的Bits类。 这是一个工具类,其中封装好了一些方法,用于处理原始数据和字节数据之间的转化,下面先附上源码。   package java.io; class Bits { /* * 该方法提供了两个参数,第一个参数是一个byte型数组b,其中已经存放了字节数据,第二个参数off为数据读取的起点位置,从数组off索引出取出数据,如果为...

moonfish0607的博客 937

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IO包之Bits类

Bits类是default类型的并非public类型,所以Bits类仅仅只能被IO包下的类所引用构造方法无参数 所有方法都为静态方法,所以可以直接通过类名去访问其下的所有方法其文件开头写到:/** * Utility methods for packing/unpacking primitive values in/out of byte arrays * using big-endian byt...

青色橙子 697

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java.io 源码学习03 Bits类

1. Bits类是default类型的并非public类型,所以Bits类仅仅只能被IO包下的类所引用 构造方法无参数 所有方法都为静态方法,所以可以直接通过类名去访问其下的所有方法 2. 源码 /** Utility methods for packing/unpacking primitive values in/out of byte arrays using bi...

weixin_38389755的博客 309

Java IO类库之Bits

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33963594的博客 246

java.base模板java.io包Bits类,介绍

【代码】java.base模板java.io包Bits类,介绍。

qq_55010434的博客 285

java io 总结,JAVA IO 基本小结

JAVA IO 基本小结java的IO是基于流(stream)概念的,什么是流呢,作为初学者,我是这样理解的,在各个应用之间传送的是BITS,这些BIT可已被认为是流体,可以就认为是水流,那么用来在各个水源之间转移水的工具应该选择什么呢?一般情况下,水管是可以的,所以数据我将数据源比作水源,将流对象比作水管,这样就有了对流的第一步认识,它再也不神秘了。对于流,我们要研究些什么呢,我们主要是针对应用...

weixin_39849070的博客 106

Bits.java

package java.io; /** * Utility methods for packing/unpacking primitive values in/out of byte arrays * using big-endian byte ordering. */ class Bits { /* * Methods for un...

weixin_33913377的博客 86

java中的new BufferedReader(new InputStreamReader(System.in))

流 JAVA /IO 基本小结 通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in)) java的IO是基于流(stream)概念的,什么是流呢,作为初学者, 我是这样理解的,在各个应用之间传送的是BITS,这些BIT可已被认为是流体,可以就认为是水流,那么用来在各个水源之间转移水的工具应该选择什么呢?一般情况下,水管...

FE攻城狮 4万+

338. counting bits java_338. Counting Bits && 191. Number of 1 Bits

Given a non negative integer numbernum. For every numbersiin the range0 ≤ i ≤ numcalculate the number of 1‘s in their binary representation and return them as an array.Example:Fornum = 5you sho...

weixin_29280657的博客 107

如何为你的项目选择Bloom过滤器:bits-and-blooms/bloom与其他库对比

Bloom过滤器是一种空间高效的数据结构,用于快速判断一个元素是否属于某个集合。bits-and-blooms/bloom作为Go语言中广泛使用的Bloom过滤器实现,被Milvus和Beego等知名项目采用,以其高效的性能和简洁的API深受开发者青睐。本文将深入分析bits-and-blooms/bloom的核心特性,并与其他主流Bloom过滤器库进行对比,助你轻松选择最适合项目需求的实现方案。

gitblog_00120的博客 936

The signing key‘s size is 48 bits which is not secure enough for the HS256 algorithm

设置的私钥字符长度不满足要求, HMAC-SHA需要至少256bits的大小,一个字符是8bits,所以私钥至少需要32个字符。

m0_63309062的博客 1078

java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:658) at

java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:658) at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) at java.nio.ByteBuffer.allocateDirect(ByteBuf

2081
下一篇: Java日看一类(2)之IO包中的BufferedInputStream类
wyf95278
博客等级 码龄10年 38粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值