Maven 和 Gradle 哪个更好?他们有什么区别?
Venoman9867's questions
我知道,如果您更改作为 中的键的对象的任何字段HashMap
,那么hashcode
该对象将会更改。问题是,是否有可能以某种方式访问hashmap
( getValue()
) 中丢失的对象?如果引用(键)不指向这个对象,垃圾收集器会把它从堆中移除吗?
不要告诉我如何获取特定行的字符串池中对象的链接?例如,当我们创建一个对象时,它的默认 toString 方法返回它的引用,比如“Person@2f92e0f4”,但是如何获取字符串池中对象的引用呢?
更新:我在 Sberbank 面试,有一个问题:
String s1="Hello";
String s2="Hello";
String s3=new String("Hello");
String s4=new String("Hello");
System.out.println(s1==s2);
System.out.println(s2==s3);
System.out.println(s3==s4);
控制台会输出什么?正确答案:
真假假
这一切都是以多项选择测试的形式出现的。至于s1 == s2,很明显Java会检查池中是否存在这样的字符串,如果没有,则创建一个新的,如果有,则简单地将s1引用复制到字符串池中的相同字符串在 s2。但是为什么 s3==s4 是假的呢?如何查看这些对象的链接?
最近我试图找到一份工作,我被分配了一个测试任务,除了搜索 O(1) 的复杂性之外,我什么都做了。HR 表示,该解决方案基于构建内存索引。你能用一个例子解释一下这意味着什么。在此先感谢!)链接到带有项目的git:(https://github.com/venoman9867/testTask)
static class Node {
boolean value;
Node nextNode;
public Node(boolean value) {
this.value = value;
}
不要告诉我入口Node nextNode是什么意思?
想象一条铁路围成一圈。一列火车沿着它行驶,最后一节车厢固定在第一节车厢上,这样你就可以在车厢之间自由移动。你最终随机乘坐一辆马车,你的任务是计算他们的总数。在每辆车中,您都可以打开或关闭灯,但开关的初始位置是随机的,并且无法提前知道。
里面所有的车厢看起来都一模一样,窗户都关着看不到外面,火车的运动是均匀的。除了打开或关闭灯之外,不可能以任何方式标记货车。货车的数量当然是(不要相信标题)。
我们将提供一种可能的解决方案。您需要打开您所在的启动车中的灯(如果它尚未打开)。然后向任何方向前进,直到遇到一辆带工作灯的货车,并确保数过经过的货车。关掉找到的车里的灯,然后回到起点。如果里面的灯还亮着,就重复这个操作。如果没有,那么你已经绕了一圈,知道了答案。
为了解决这个问题,我想组织一个 LinkedList,其中列表的最后一个元素指向第一个元素。可能吗?可以在 LinkedList 中管理链接吗?
更新。我写了一个解决方案。