雨神66_个人页

个人头像照片 雨神66
0
3
0

个人介绍

这个人很懒,什么都没有留下。

擅长的技术

  • Java
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    [@徐雷frank][¥20]你是如何调用 wait()方法的?使用 if 块还是循环?为什么?

    if可能出现假唤醒,应该用while(condition)。因为当wait这步被唤醒时,很可能condition已经不满足了,所以还需要判断condition。
    踩0 评论0
  • 回答了问题 2019-07-17

    [@小川游鱼][¥20]为什么 Java 中的 String 是不可变的(Immutable)?

    我觉得是因为string内部用的char数组存放的字符串。如果可变的话,需要在数组的尾部申请连续的内存,很可能被占用了,导致申请失败。还不如重新分配内存存放新的字符串,旧的gc掉。
    踩0 评论0
  • 回答了问题 2019-07-17

    [@小川游鱼][¥20]Java 中怎样将 bytes 转换为 long 类型?

    这样是否题目要求的呢? public class ByteUtil { private static final long HEX_LONG = 0x0000000000000000L; private static final byte HEX_BYTE = (byte) 0xff; public static Long byteToLong(Byte[] bytes) { if (bytes == null || bytes.length != 8) { throw new RuntimeException('param error.'); } long result = HEX_LONG; for (int i = 0; i = 0; i--) { sb.append((x & 0x0000000000000001) == 1l ? '1' : '0'); x >>= 1; } return sb.reverse().toString(); } public static Byte[] getBytesFromLong(Long x) { Byte[] bytes = new Byte[8]; for (int i = 0; i >= 8; } return bytes; } public static void main(String[] args) { System.out.println(byteToLong(getBytesFromLong(1236786534l))); System.out.println(byteToLong(getBytesFromLong(-1236786534l))); System.out.println(byteToLong(getBytesFromLong(-0l))); System.out.println(byteToLong(getBytesFromLong(0l))); // System.out.println('Long.maxvalue=' + Long.MAX_VALUE + ',byteToLong=' // + byteToLong( // new Byte[] { HEX_BYTE, HEX_BYTE, HEX_BYTE, HEX_BYTE, HEX_BYTE, // HEX_BYTE, HEX_BYTE, HEX_BYTE, })); } }
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息