
内存中占用多少字节是不会让你轻而易举获取的。如果想要知道一个数据在内存中的大小,建议你看看JVM相关规范的书,对象在内存的大小不是不能计算,因为这不仅仅是一个数据,数据存放相关的信息,以及此数据可能调用的方法,以及此数据本身的类型信息,以及数据在内存中的堆内存中的索引信息,以及存放这个索引的内存信息,以及你这个数据类型中引用的常量池中的信息。。。等等等不可能让你准确知道。因为内存是不断更新的,垃圾会被不断回收,回收算法的执行,数据在内存中的位置也会发生相应的移动。严格的说指定一个类型的数据除了基本类型外,其他都是不连续的。如果楼主用过C或者C++的比如说链表的结构,现在的问题就好比你想知道一个具体链表占了多大内存。呵呵,水平有限,不能准确回答你要的结果。
可以使用以下三种方法:
一、基于对数的解决方案:
valueOf 方法返回的相关Number对象持有传递的参数的值。
该参数可以是基本数据类型,字符串(String),等等。 这个方法是一个静态方法。该方法可以采取两个参数,其中一个是String,另一个是基数。
使用语句:int numberOfDigits = StringvalueOf(n)length();。
二、使用对数方法:
javalangStrictMathlog10() 方法返回以10为底的对数的double值。
它包括了一些情况: 如果参数为NaN或小于零,那么结果为NaN。 如果参数为正无穷大,那么结果为正无穷大。 如果参数为正零或负零,那么结果是负无穷大。 如果参数等于10N的整数n,那么结果是n。
使用语句:int nDigits = floor(log10(abs(the_integer))) + 1;需要使用inclue mathh库。
三、判断数据的大小:
整数类型,任意一个数字<10就是一位数,实现代码如下:
参考资料:
MDN文档--DateprototypvalueOf()
MDN文档--Mathlog10()
以上就是关于java怎么获得数据在内存中长度全部的内容,包括:java怎么获得数据在内存中长度、java 获取int类型数据长度的方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)