V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
polyang
V2EX  ›  程序员

现在的程序员,这么简单的问题都能答错吗?

  •  
  •   polyang · 2021-05-06 19:39:26 +08:00 · 11293 次点击
    这是一个创建于 1330 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天作为面试官面了个应聘初级 Java 的程序员,该程序员工作 3 年,因为是初级,先问了几个简单的问题:

    1 、final 修饰的变量到底是指引用不能变还是引用的对象内容不能变?
    答曰:引用的对象内容不能变

    2 、有两个 Integer 类型的变量,他们的值都是 100,如果用==比较,结果是什么?
    答曰:false,他说==比较的是内存地址

    3 、关于 MySQL 的索引问题,like 会不会走索引?
    答曰:不会,而且还特别补充了一句,只要用到了 like 都不会走索引。

    4 、创建线程有哪几种方式?
    答曰:只知道线程池的方式,其他方式不清楚(然后我顺着这个问了他线程池,结果他说工作中没有用到过线程池,对线程池不是特别了解)。

    但其他的理论性东西又答的还可以,估计是背的面试题。
    99 条回复    2021-05-08 12:02:50 +08:00
    facelezz
        1
    facelezz  
       2021-05-06 19:46:07 +08:00
    这么水么 3 年经验都在干啥= =
    Amber2011
        2
    Amber2011  
       2021-05-06 19:47:22 +08:00 via Android
    我觉得如果 3 年正常工作的话,应该不会去面初级的吧
    zhoudaiyu
        3
    zhoudaiyu  
       2021-05-06 20:12:20 +08:00 via iPhone   ❤️ 2
    没写过 Java 的 123 也能答上来吧
    yeqizhang
        4
    yeqizhang  
       2021-05-06 20:16:58 +08:00 via Android
    第二个问题有点东西..其实有两种答案,不去搜索我也记不清。
    其它都是常应用到的...
    geekboy
        5
    geekboy  
       2021-05-06 20:28:48 +08:00
    这些都是基础题吧,想不通这些都答错其他的答得可以的情况
    ccde8259
        6
    ccde8259  
       2021-05-06 20:37:24 +08:00 via iPhone   ❤️ 31
    面试官用”对象内容”表述似乎不够准确,表述换成”对象的域或者对象属性不能变”会更合适更清晰。第二个单纯就是没背 Integer 缓存范围+没踩过基本类型的坑……
    许多无关痛痒的小细节往往自己很难去主动意识到,尤其是长期不去使用的领域。人的精力总是有限的,可能他的经历在你的面试域的投影有着无数的偏差。但是能不能在里面找到闪光点,能不能帮助候选人修正自己长期以来的谬误,也许是也是面试中重要的一环吧。
    bear2000
        7
    bear2000  
       2021-05-06 20:40:37 +08:00
    应届生面试题都比这个难...
    raaaaaar
        8
    raaaaaar  
       2021-05-06 20:42:03 +08:00 via Android   ❤️ 4
    。我是废物。。
    leafre
        9
    leafre  
       2021-05-06 20:43:00 +08:00
    2 有错吗?
    FreeEx
        10
    FreeEx  
       2021-05-06 20:56:16 +08:00 via iPhone   ❤️ 1
    @leafre Java 包装类型有用到常量池功能,可以参考我写的这篇文章《 Java 的奇技淫巧》 https://typesafe.cn/posts/java-unexpected-features/
    x340
        11
    x340  
       2021-05-06 20:57:35 +08:00 via iPhone
    @leafre true…Integer 源码里有事前实例化数组
    statement
        12
    statement  
       2021-05-06 21:01:21 +08:00 via iPhone   ❤️ 3
    散播焦虑。同三年同不会。 结论知道。 你要问原因。 三层 部分能回答出一层 知识多数不都是记得。 记得和背的。 应该没有什么区别
    zidian
        13
    zidian  
       2021-05-06 21:15:18 +08:00
    2 虽然知道,但是好像从没写过 Integer == Integer
    raysonx
        14
    raysonx  
       2021-05-06 22:39:25 +08:00 via iPhone
    其实要抬杠的话,两个 Integer 之间用==确实是比较的地址,只不过你不能说一定是 false 。常量池中的对象也是对象。。。
    dingwen07
        15
    dingwen07  
       2021-05-06 22:45:53 +08:00 via iPhone
    @zhoudaiyu #3 2 至少得知道包装类
    dingwen07
        16
    dingwen07  
       2021-05-06 22:50:47 +08:00 via iPhone   ❤️ 7
    等一下,2 不一定:

    Integer x = new Integer(100);
    Integer y = new Integer(100);
    System.out.println(x == y);

    这个会打印 false
    2kCS5c0b0ITXE5k2
        17
    2kCS5c0b0ITXE5k2  
       2021-05-06 22:51:45 +08:00
    国内的 Java 卷成这样 很大程度是因为伪造工作经验的人.
    limuyan44
        18
    limuyan44  
       2021-05-06 23:49:13 +08:00
    以我不到半年的 java 工作经验来看,虽然想考的是 IntegerCache,但是!参考答案都错了。
    polyang
        19
    polyang  
    OP
       2021-05-07 08:37:14 +08:00
    @limuyan44 上面的不是参考答案,是应聘者给我的答案
    pydiff
        20
    pydiff  
       2021-05-07 09:24:00 +08:00
    基本上 100%是培训班出来的,不过就算是培训班出来的也会线程创建,线程池才对,看来是在培训班时也没怎么认真学的
    crazyhorse
        21
    crazyhorse  
       2021-05-07 09:25:44 +08:00
    %a%的 like 不会走索引
    kakach
        22
    kakach  
       2021-05-07 09:28:50 +08:00
    线程和线程池除了学习写 demo,个人经验,生产实践中很少手动显式地去创建,可能是我接触的比较少。模糊记得看过的书上也建议不要手动去创建。
    opentrade
        23
    opentrade  
       2021-05-07 09:53:43 +08:00 via Android
    我也见过工作五年 直接上手就修改 protobuf 字段 id 的家伙 囫囵吞枣型选手
    xloger
        24
    xloger  
       2021-05-07 09:59:28 +08:00
    对于 Integer 的缓存池我有个问题啊,请问你们了解这个是在工作中什么场景遇到的呢?还是说是背面试题看到的?

    延展一下,除了 Integer,其他几个包装类型有没有缓冲池的概念呢?如果没有,为什么没有呢? Integer 设置缓冲池的目的是什么,它的取值范围那么大,为啥范围仅仅是 -128 到 127 呢,为什么不大一些呢?

    我不是在杠啊,我是真不明白,非工作场景遇到的底层细节,除非你说你涉猎广泛看书看知识点看到,不然不就是背面试题背的么,有啥意义呢?

    [其他几个问题我觉得问得没问题
    Dogtler
        25
    Dogtler  
       2021-05-07 10:07:05 +08:00
    我也是菜
    Dogtler
        26
    Dogtler  
       2021-05-07 10:10:51 +08:00
    另外,隐约闻出一丝傲慢。都是为了谋生,能背面试题 说明起码对这行 态度端正。还有上面那些题目 我特么全不会,不百度一下 真的太难了。
    BuffDog
        27
    BuffDog  
       2021-05-07 10:19:31 +08:00
    三年了还问这些,你们真的会去记这些细节么
    重要的不是解决问题的能力么
    tinyuu
        28
    tinyuu  
       2021-05-07 10:45:06 +08:00
    Integer a= 100;
    Integer b= new Integer(100);
    System.out.println(a == b);

    Integer a= new Integer(100);
    Integer b= new Integer(100);
    System.out.println(a == b);

    Integer a= 100;
    Integer b= 100;
    System.out.println(a == b);
    leeyuzhe
        29
    leeyuzhe  
       2021-05-07 10:47:26 +08:00
    Integer 的缓存池我之前完全不知,问我我也懵
    rubygo
        30
    rubygo  
       2021-05-07 10:48:15 +08:00
    @ccde8259 你的视野有点厉害
    funbox
        31
    funbox  
       2021-05-07 10:50:18 +08:00   ❤️ 1
    只是题库背错了
    NerverLibis
        32
    NerverLibis  
       2021-05-07 10:58:02 +08:00
    工作 9 年 6 年经验 PHP 期望 20-25K 面试照片戴口罩的俯视图
    框架 TP3.1 Laravel4 Linux Mysql 全不会
    6 年换了 4 公司,只做过微商……感觉下
    polyang
        33
    polyang  
    OP
       2021-05-07 10:58:03 +08:00
    @BuffDog 除了第二个,其他不算细节吧,如果这些都不知道,你还能指望他解决什么问题?
    dingwen07
        34
    dingwen07  
       2021-05-07 10:59:16 +08:00 via iPhone   ❤️ 1
    yitingbai
        35
    yitingbai  
       2021-05-07 11:05:14 +08:00
    补充一下, final 修饰的变量也不是不能改, 通过反射照样改
    xsen
        36
    xsen  
       2021-05-07 11:07:29 +08:00
    @polyang #33 1/2/3/4 都不会的路过;对于百度下就能出来的问题,不知道问了有何意义
    但我确实能解决很多很多各种各样的问题

    对于有工作经验、有项目经验的人来说,为嘛不问下项目、踩坑之后才知道的问题,为何不多问下工程化相关的问题;当然,或可以间接说明人是否善于学习、沟通与解决问题的问题
    qwer666df
        37
    qwer666df  
       2021-05-07 11:12:18 +08:00
    插一个, 请教下那为啥
    int q = 10000;
    int e = 10000;
    System.out.println(q == e);
    这就又是 true 了嘞
    xloger
        38
    xloger  
       2021-05-07 11:12:27 +08:00
    @dingwen07 #34 谢谢您提供的文档,而正如文档里所说:
    This ensures that in most common cases, the behavior will be the desired one, without imposing an undue performance penalty, especially on small devices. Less memory-limited implementations might, for example, cache all char and short values, as well as int and long values in the range of -32K to +32K.
    按我的理解,这只是 JVM 做的一个底层性能优化,而且它本身也不保证一切情况下不变,比如在内存充裕的设备,缓存池范围可能就是 -32k to 32k 了。
    那么,纠结 Integer 的 100 == 100 返回啥,200 == 200 返回啥的现实意义是啥?除非说因为这个会很容易造成某方面的 bug,需要额外注意。不然这就是背面试题的事?
    dqzcwxb
        39
    dqzcwxb  
       2021-05-07 11:17:51 +08:00
    面试问线程或者线程池的十有八九不知道 newWorkStealingPool()更不知道什么是 fork/join ForkJoinPool.commonPool
    lagoon
        40
    lagoon  
       2021-05-07 11:18:55 +08:00
    妈呀,其实我最害怕问语言细节。
    不过 Java 后端这种问题确实不应该答错。

    我常用的,要写代码的语言至少有 4 种。考虑到某些跨平台前端,估计要掌握的语言只多不少。
    wssy921
        41
    wssy921  
       2021-05-07 11:22:31 +08:00
    我 6 年经验,感觉也不太会面试了。 奇奇怪怪的知识点太多了,很多东西,真的用过了, 面试的时候突然提起也忘记了
    fffang
        42
    fffang  
       2021-05-07 11:23:07 +08:00
    关于第二个问题,他有可能之前写过 JavaScript 。doge
    Mirage09
        43
    Mirage09  
       2021-05-07 11:27:53 +08:00
    问这些无聊的问题还不如弄个 LeetCode medium 讨论讨论...
    lauix
        44
    lauix  
       2021-05-07 11:28:42 +08:00
    只会第三个,like 要看 % 在哪里,才会走索引。
    no1xsyzy
        45
    no1xsyzy  
       2021-05-07 11:30:56 +08:00   ❤️ 1
    不写 Java 的问一下,这个 Integer 缓存池,是列入标准了吗?
    还是说是 de facto 标准?那么存在多少依赖此行为的代码?

    讽刺的是,大多数 Lisp 实现中 eq? 这一定义上就是严格同一性比较,反而能对同类型的数进行数学相等的比较
    因为函数式不需要有『方法』,所以基本类型不构成对象

    而 CPython 下,则是基于一个更诡异的编译器优化:一方面有一个有限的常量池([-5...256]),另一方面,如果在同一次编译中编译期求值后存在同一个值,则优化成同一个对象。
    所以,在 REPL 中可以发现如下现象(注意一个 >>> 发生一次编译):
    >>> a=12345; b=10**4+2344+1; a is b
    True
    >>> a=12345
    >>> b=12345
    >>> a is b
    False
    simonlu9
        46
    simonlu9  
       2021-05-07 11:45:03 +08:00
    @xloger 因为常用的业务逻辑都会用到 for 循环大量用到都是不超 100 的数字,经常使用,没必要每次都初始化,跟字符串一样
    zihuyishi
        47
    zihuyishi  
       2021-05-07 11:45:48 +08:00   ❤️ 4
    有句说句,为啥我觉得做 java 的要面试这种问题很蠢,有点茴香豆有几种写法的感觉
    simonlu9
        48
    simonlu9  
       2021-05-07 11:47:38 +08:00
    同样感觉,之前面试的 java 实在太水了,基本我都是用一些实战经验来过滤,最简单的一个,http 和 tcp 有什么区别,很多都会答 http 不需要三次握手,tcp 需要三次握手,直接 pass
    unco020511
        49
    unco020511  
       2021-05-07 11:51:16 +08:00
    说真的,java 这种上古语言,真是食之无味弃之可惜(对于我来说)
    unco020511
        50
    unco020511  
       2021-05-07 11:52:17 +08:00
    @simonlu9 这个问题就比什么 integer 好很多,http 是很重要的知识
    lakehylia
        51
    lakehylia  
       2021-05-07 12:00:55 +08:00
    @simonlu9 http 是 tcp 的再上一层协议吧,tcp 底下有 ip 协议。大学里涉计算机专业的基本课程,要考的。。。
    dany813
        52
    dany813  
       2021-05-07 12:02:45 +08:00
    3 年 培训的吧
    lakehylia
        53
    lakehylia  
       2021-05-07 12:03:08 +08:00
    第二个问题,其实是未定义的,不要问这种问题。未定义的行为,鬼知道会有什么结果,java 文档里面没有定义。
    polyang
        54
    polyang  
    OP
       2021-05-07 12:04:47 +08:00
    @simonlu9 哇,这个问题好,我记下了,下次面的时候问问。感谢
    kidlj
        55
    kidlj  
       2021-05-07 12:05:02 +08:00
    现在的 HR,连这样的面试者都筛选不出来吗?
    bluekz
        56
    bluekz  
       2021-05-07 12:05:05 +08:00
    我也分享几个我面的:
    1.字符串倒转的方法写不出来,部分百度抄了之后自己无法清楚描述每一句逻辑。for 循环说都不会的也有。
    2.string a = "123"; a=a+"45";输出什么?有 123 的,有 45 的,知道 12345 的问一下“那为什么说 string 不可变” 就蒙了。
    3.说两个或以上字段不能共同作为一个联合索引,我都没办法往下问最左原则的问题。即使能问,也没有能答对的。
    我们的要求是 2 年左右经验。
    即使我知道有些是毕业了培训班走一遭出来的,问题这大学+培训也没听过讲啊
    hoyixi
        57
    hoyixi  
       2021-05-07 12:05:31 +08:00
    以前都是有笔试环节的,你问的这些基础题,就是放在笔试用来初筛的。
    当然,我说的笔试,是不能手机上网查答案的那种,不然也没意义。
    polyang
        58
    polyang  
    OP
       2021-05-07 12:08:52 +08:00
    @kidlj 不知道啊,反正是领导让我面的,按道理 hr 应该先进行面试的。
    polyang
        59
    polyang  
    OP
       2021-05-07 12:10:46 +08:00
    @bluekz 第 3 个我也会问,但一般会先问索引有哪几种类型,如果连索引有哪几种都不知道,就用不着问这个了。
    Helsing
        60
    Helsing  
       2021-05-07 12:12:16 +08:00 via iPhone
    第二个问题其实真的很偏,基本都是背面经才会知道
    redtea
        61
    redtea  
       2021-05-07 12:20:31 +08:00
    第二题这个问题问的很好,就怕团队里出现写出==的人。我就见到过判断 String 用==的代码。
    afewok
        62
    afewok  
       2021-05-07 13:02:43 +08:00
    第二个都快 20 年的老知识了,127 的边界问题,类似坑爹的题还是 "aaa"==new String("aaa")
    第四个我觉得有意思,我记忆中,java 的线程创建只有一种方式(创建个 Runnable 的实现类并实例化,当然也可以直接实例化现成的 Thread 类),其他的方案都是在此基础上的线程包装或管理
    Amber2011
        63
    Amber2011  
       2021-05-07 13:18:40 +08:00 via Android
    @xloger 这个我是做一个自增操作的时候用==,还是啥来着,理论上是 true 结果是 false 一直想不通,在评论区提问后有人解答了这个缓存。还有就是 java(阿里巴巴)开发手册里也提到过一手
    yazinnnn
        64
    yazinnnn  
       2021-05-07 13:20:03 +08:00
    招个会 kotlin 的 java 开发可以避免一些低级&蛋疼的问题.
    4kingRAS
        65
    4kingRAS  
       2021-05-07 13:35:54 +08:00
    @no1xsyzy java 对象比较推荐用 equals,直接在 equals 里实现, == 本来就是用于判断引用(指针)相不相同的。
    Integer 缓存取决于 JVM 实现,openjdk 和 oracle 的是-128~128
    dbpe
        66
    dbpe  
       2021-05-07 13:43:56 +08:00
    等 Primitive Objects 出来,我想就不用在问第二个问题了
    dbpe
        67
    dbpe  
       2021-05-07 13:44:57 +08:00
    @Helsing 算偏,但也不偏..很基本的把...一些业务当中..很容易碰到的
    lumnag
        68
    lumnag  
       2021-05-07 13:59:59 +08:00
    说实话没看面试题的我一个也答不上来
    Michaelssss
        69
    Michaelssss  
       2021-05-07 14:05:49 +08:00
    我出了个机试题目,请使用任意自己熟悉的框架实现登陆鉴权功能,然后刷走了五六个人。。。。。。。。
    lbp0200
        70
    lbp0200  
       2021-05-07 14:47:58 +08:00
    工作十一年了,这四个问题,一个都不会
    cloudzhou
        71
    cloudzhou  
       2021-05-07 14:52:23 +08:00
    问题 2 有些偏门,其他问题正常
    WhoMercy
        72
    WhoMercy  
       2021-05-07 14:55:27 +08:00
    你可以把你的“参考答案”贴出来,让大家品评品评
    YORYOR
        73
    YORYOR  
       2021-05-07 15:06:48 +08:00
    考第二个的意义是什么 能指导你筛选候选人么
    BoringTu
        74
    BoringTu  
       2021-05-07 15:15:25 +08:00
    @hoyixi 为啥程序员面试还要有笔试。。?如果都是选择题就算了,用笔写代码??
    hemingyang
        75
    hemingyang  
       2021-05-07 15:20:09 +08:00
    @qwer666df int 基本类型 Integer 包装类型 int 比的是值 Integer 比较会指向内存对象 new Integer 是不同的两个对象
    lachesis
        76
    lachesis  
       2021-05-07 15:32:34 +08:00
    每次看到这种面试题都觉得特别傻
    vagranth
        77
    vagranth  
       2021-05-07 15:34:26 +08:00
    说实话,这些问题我都回答不上来。
    通常来说,遇到这类问题的时候,我会 google 一下
    dark3212
        78
    dark3212  
       2021-05-07 15:57:23 +08:00   ❤️ 2
    @xloger
    其他问题不好说,Integer 缓存问题我实际场景踩过坑。
    时间:大概是 15 年
    背景:创业公司,巨小的公司,一个后端(我),一个 ios,一个安卓,一个测试
    功能:实现一个讨论组,有一个主持人,主持人能全程讲话,其他人需要主持人点名才能讲话
    主持人功能实现代码:

    if(该用户的 ID==主持人的 ID){
    //主持人逻辑
    }

    自测 ok,测试测了简单测了几十次 ok(测试库是新的,用户从 1 自增),上线后不 ok,主持人进来系统不认,无法主持。
    从那以后我就深刻的记住了 IntegerCache 。
    no1xsyzy
        79
    no1xsyzy  
       2021-05-07 16:00:16 +08:00
    @4kingRAS 虽然不写,但其实我还是知道这些的。
    考察一些底层实现层面的优化,实际上是没有必要的。如果想要考量如何解决底层优化所造成的问题,直接把有问题的代码带着环境丢过去,让对方解决不好吗?就算解决不了,只要能看到一些理解。
    douyacai911
        80
    douyacai911  
       2021-05-07 16:06:34 +08:00
    @vagranth 工作八年了我也答不上来,因为我在日本做外派。。
    IvanLi127
        81
    IvanLi127  
       2021-05-07 16:15:10 +08:00
    这题不难,我不写 java 的人,靠大学学的 java 都能答得上来,三年 java 这 5 题错 2 题就已经不靠谱了。虽然楼主这题好像不是很严谨,不过如果有看过面试题的话也应该能反应得出来才对。
    zxCoder
        82
    zxCoder  
       2021-05-07 16:34:17 +08:00
    第二个问题没啥意义

    (反正我会,我看过
    HolmLoh
        83
    HolmLoh  
       2021-05-07 16:40:09 +08:00
    2 、4 如果不是写了 3 年 java 的,答不出来其实情有可原,而且 2 他是答对了
    1 答不出来实在不应该,但也有会错题意的可能
    buzailianxi
        84
    buzailianxi  
       2021-05-07 17:20:37 +08:00   ❤️ 1
    凑合干吧,熟练工,年轻就行,真都会你给多少钱呢
    lachesis
        85
    lachesis  
       2021-05-07 17:28:44 +08:00
    这不是难不难的问题,而是提问方式有明显的挖坑倾向,面试经验少的人碰到不自信的内容就容易被带偏。例如第 2 题,还不如直接展开聊聊 equals 和==的区别,问清楚比较值时应该用哪个
    johnsona
        86
    johnsona  
       2021-05-07 20:32:58 +08:00 via iPhone
    俺知道 like 可以前缀索引
    其他不知道了
    面试官我可以去你们公司给你端茶倒水吗
    其他三个不知道 java 都不会写
    young1lin
        87
    young1lin  
       2021-05-07 21:08:52 +08:00
    不用看了,这是培训机构出来的。三年,只要不偷懒,这些都不算问题。问的都是 Spring 源码的问题,MQ 和 Redis 的实际使用场景问题。只要你能说一个小时任意一 MQ,不重复,都可以的。
    enoc
        88
    enoc  
       2021-05-07 22:15:07 +08:00
    我一个大二在校生都知道答案。。。
    Felldeadbird
        89
    Felldeadbird  
       2021-05-07 22:57:30 +08:00
    如果用过 mysql,然后回答 like 不走索引。应该是背题的人了。
    JianH
        90
    JianH  
       2021-05-07 23:27:32 +08:00
    第二题回答思路没问题吧,没看过 Integer 源码确实不知道啊,这属于偏题了吧
    jiangzhizhou
        91
    jiangzhizhou  
       2021-05-07 23:30:47 +08:00
    面试官问我这种题的时候我一般都直接回复,不好意思贵司不适合我。
    SpiderXiantang
        92
    SpiderXiantang  
       2021-05-08 00:01:36 +08:00
    格局小了
    shyangs
        93
    shyangs  
       2021-05-08 00:51:21 +08:00   ❤️ 2
    学到了 IntegerCache 想在代码埋雷坑公司就这样写, 离职后业务扩充超过 127 就爆炸了 ::doge::
    fuermosi777
        94
    fuermosi777  
       2021-05-08 01:17:11 +08:00
    工作六年,一个都答不上来
    xupefei
        95
    xupefei  
       2021-05-08 01:29:18 +08:00 via iPhone
    有一道用 hashmap 解的 leetcode 题就涉及到了第二个问题里的坑
    cassyfar
        96
    cassyfar  
       2021-05-08 02:55:14 +08:00
    一般问我这些钻牛角尖没啥水平的问题,我扭头就走了。
    snw
        97
    snw  
       2021-05-08 06:31:05 +08:00 via Android
    @zhoudaiyu
    写 C#的就不会知道第 2 题这种坑。

    我觉得用性能优化导致语义不一致,并不是良好的语言设计。[-128,127]这种 magic number 当年或许是奇技淫巧,现在就变成了包袱。

    @fffang
    然而 js 没有整型( ES2019 以前) :doge:
    iceteacover
        98
    iceteacover  
       2021-05-08 11:37:05 +08:00
    @dingwen07

    public static void main(String[] args) {
    Integer x = new Integer(100);
    Integer y = new Integer(100);
    System.out.println(x == y);

    x = 100;
    y = 100;
    System.out.println(x == y);
    }

    第一个 false,第二个 true 。 大概 Java 优化的时候只能通过很简单的情况做处理,深入下去可能需要 编译优化的知识。

    反正 对象 用 == 比较在 Java 领域看不是什么好事情,很奇怪为什么出题要这么出。。。
    yjxjn
        99
    yjxjn  
       2021-05-08 12:02:50 +08:00
    @Amber2011 三年应该是高级了。SSE 这种水平了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5376 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.