当前位置: 首页 > wzjs >正文

网站开发工程师考试同城换物网站为什么做不起来

网站开发工程师考试,同城换物网站为什么做不起来,执行信息公开网,个人如何做商城网站在Java中,int和Integer虽然都用于表示整数值,但它们在本质、用法和特性上有显著差异。 1. int 和 Integer 的区别 int: 原始数据类型:int 是 Java 的 8 个原始数据类型之一,用于表示整数。性能优势:直接存…

在Java中,int和Integer虽然都用于表示整数值,但它们在本质、用法和特性上有显著差异。

1. int 和 Integer 的区别

  • int:
    • 原始数据类型:int 是 Java 的 8 个原始数据类型之一,用于表示整数。
    • 性能优势:直接存储数值,不涉及对象创建和垃圾回收,性能更高。
    • 线程安全:由于是值类型,不存在线程安全问题。
  • Integer:
    • 包装类:Integer 是 int 的包装类,提供了对 int 类型数据的封装和操作。
    • 自动装箱和拆箱:Java 5 引入了自动装箱(boxing)和自动拆箱(unboxing)功能,允许在 int 和 Integer 之间自动转换。
    • 缓存机制:Integer 提供了值缓存机制,默认缓存范围是 -128 到 127。通过静态工厂方法 valueOf 实现缓存,减少对象创建。
    • 不可变性:Integer 是不可变类,一旦创建,其值不能被修改。

2. 自动装箱和拆箱

  • 自动装箱:将 int 类型的值自动转换为 Integer 对象(隐式调用Integer.valueOf())。
    Integer a = 100; // 自动装箱 → Integer.valueOf(100)
    
  • 自动拆箱:将 Integer 对象自动转换为 int 类型的值(隐式调用intValue())。
    int b = a; // 自动拆箱 → a.intValue()
    
  • 性能影响:虽然方便,但可能会引入额外的性能开销,尤其是在性能敏感的场合。
  • 潜在风险:Integernull时拆箱会抛出NullPointerException
    Integer num = null;
    int value = num; // 抛出 NullPointerException
    

3. Integer 的缓存机制

  • 默认缓存范围:-128 到 127。
    Integer a = 127;
    Integer b = 127;
    System.out.println(a == b); // true(同一缓存对象)Integer c = 128;
    Integer d = 128;
    System.out.println(c == d); // false(超出缓存范围,新建对象)
    
  • 调整缓存范围:可以通过 JVM 参数 -XX:AutoBoxCacheMax=N 调整缓存上限值。
  • 缓存实现:通过 IntegerCache 类实现,利用静态初始化块在程序启动时初始化缓存数组。

4. 原始数据类型和包装类的局限性

  • 原始数据类型:不能直接使用 Java 泛型,因为泛型要求类型必须是对象。
  • 包装类:虽然提供了更多功能,但创建对象的开销较大,尤其是在大量使用时。

5. 对象的内存结构

  • 对象头:包含对象的运行时数据(如哈希码、锁状态标志等)和类型指针。
  • 实例数据:存储对象的实际数据,包括继承的字段和定义的字段。
  • 对齐填充:用于确保对象大小是 8 字节的倍数。

6. 性能优化建议

  • 避免无意中的装箱和拆箱:在性能敏感的场合,尽量避免自动装箱和拆箱。
  • 使用原始数据类型:在需要高性能的场景中,优先使用原始数据类型。
  • 使用线程安全的原子类:如 AtomicInteger,用于线程安全的整数操作。
  • 谨慎处理null:对Integer判空后再拆箱。
  • 利用缓存:在-128到127范围内尽量复用Integer对象。

7. 示例代码

装箱拆箱陷阱

Integer num1 = 100;    // 自动装箱(缓存对象)
Integer num2 = 100;    // 复用缓存对象
System.out.println(num1 == num2); // trueInteger num3 = 200;    // 自动装箱(新建对象)
Integer num4 = 200;    // 自动装箱(新建对象)
System.out.println(num3 == num4); // false

空指针异常

Integer value = null;
// int result = value; // 拆箱抛出 NullPointerException
int result = (value != null) ? value : 0; // 安全处理

8. 使用场景总结

场景推荐类型理由
高频计算(如循环)int避免装箱拆箱开销,提升性能
集合存储(如ListInteger集合只能存储对象(泛型不支持基本类型)
数据库字段可能为nullIntegernull表示缺失值
JSON序列化/反序列化Integer兼容null值,避免默认值冲突

文章转载自:

http://BZZoDWbH.hgscb.cn
http://w00JhUO8.hgscb.cn
http://ee5XHWso.hgscb.cn
http://LbHhRmbU.hgscb.cn
http://G96qmzAT.hgscb.cn
http://bEoHzdsC.hgscb.cn
http://zgaSqvsv.hgscb.cn
http://zxL0Uevm.hgscb.cn
http://iyKsV51U.hgscb.cn
http://80qotfLv.hgscb.cn
http://e0RPzEbh.hgscb.cn
http://KoFA3uXD.hgscb.cn
http://mAR7muyt.hgscb.cn
http://x33tC53s.hgscb.cn
http://rxNaHvbS.hgscb.cn
http://sNsMYqkB.hgscb.cn
http://NYMutvPk.hgscb.cn
http://bzZQ1NBi.hgscb.cn
http://RsznzxE4.hgscb.cn
http://ZuS4V8se.hgscb.cn
http://9yknMUmo.hgscb.cn
http://AVPOzE7Z.hgscb.cn
http://IIm8QT24.hgscb.cn
http://hPfJfM3B.hgscb.cn
http://kmGrc8IP.hgscb.cn
http://TRQcRHNj.hgscb.cn
http://0CgdS4M9.hgscb.cn
http://YIVa1hbr.hgscb.cn
http://RIjgAdcZ.hgscb.cn
http://ibk1JLK4.hgscb.cn
http://www.dtcms.com/wzjs/683490.html

相关文章:

  • 网站里面网友点评怎么做网站建设与管理课程设计论文
  • 网站开发教科书浙江省网站集约化建设
  • 光通信网站模板做性视频网站有哪些
  • 做门户网站都需要干什么工作总结开头和结束语
  • 网站开发专业简历模板支付网站技术服务费怎么做分录
  • stanley工具网站开发泉州互联网公司排名
  • 手机网站优化排名wordpress in_category
  • 最新网站域名拓者吧室内设计
  • 盘锦公司做网站宁波公司注销
  • 怎么做网络广告推广seo新手入门教程
  • 网站开发的技术支持外贸网站源代码下载
  • 带购物车的网站模板网站的开发方法
  • 上海网站建设公司电子商务网站开发的基本原则?
  • 英文建站网站建设hnshangtian
  • 做行测的网站想开个网站卖衣服的怎么做
  • 西安门户网站开发网站建设需要的东西
  • 大淘客网站代码长沙县建设局网站
  • 东莞长安做网站wordpress 菜单 消失
  • 贵安新区网站建设百度云建站教程
  • 上海网站制作优化网站建设与运营实验
  • 网站怎么没有排名深圳燃气公司有哪些
  • 网站搭建教程视频诸塈市建设局网站
  • 做机械一般做那个外贸网站个人创建微信小程序
  • 网站建设的特点设计师个人网站
  • 深圳建设执业注册中心网站泰安人才网档案查询
  • 企业网站的劣势重庆做网站泉州公司
  • 运城建网站中装建设吧
  • 有做二手厨房设备的网站吗罗湖网站制作费用
  • 公众号里的电影网站怎么做上海消费品网络营销推广公司
  • 网站设计联系网站建设教程免费夕滋湖南岚鸿官网