小编sim*_*ion的帖子

选择正确的语言

我是大学的学生,所以我的经验是有限的,因此这个问题.

如果有人对你说,这是一个编码的任务,你在看什么,以选择你将在其中进行的语言或范例?

希望这个问题有道理吗?

programming-languages

12
推荐指数
1
解决办法
331
查看次数

Java中的垃圾收集

在我正在修改的幻灯片上说如下:

可以通过维护对每个对象的引用数量的计数,或者通过跟踪来自根的引用链来识别活动对象.

引用计数很昂贵 - 每次参考更改时都需要操作,并且它不会发现周期性结构,但它可以递增地回收空间.

跟踪涉及仅在需要回收空间时识别活动对象 - 将成本从一般访问转移到GC运行的时间,通常仅在内存不足时.

我理解为什么引用计数很昂贵的原则,但不明白什么"没有发现周期性结构,但它可以逐步回收空间".手段.有人能帮我一点吗?

谢谢

java memory algorithm garbage-collection reference-counting

9
推荐指数
1
解决办法
424
查看次数

如何清理我的代码

作为新手,我真的想学习如何尽可能简单地保持代码,同时完成应有的工作.

我说,我所做的问题来自项目欧拉

Fibonacci序列中的每个新术语都是通过添加前两个术语生成的.从1和2开始,前10个术语将是:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Run Code Online (Sandbox Code Playgroud)

找出序列中所有偶数值的总和,不超过四百万.

这是我的代码如下.我想知道简化这个的最佳方法是什么,开始删除所有的.get(list.length() - 1).....如果可能的话,这将是一个好的开始,但我不是真的知道怎么?

谢谢

public long fibb()
{
    ArrayList<Integer> list = new ArrayList<Integer>();


    list.add(1);
    list.add(2);

    while((list.get(list.size() - 1) +  (list.get(list.size() - 2)) < 4000000)){  
        list.add((list.get(list.size()-1)) + (list.get(list.size() - 2)));
    }     

    long value = 0;
    for(int i = 0; i < list.size(); i++){
        if(list.get(i) % 2 == 0){
            value += list.get(i);
        }    
    }
    return value;
}
Run Code Online (Sandbox Code Playgroud)

java refactoring

7
推荐指数
2
解决办法
686
查看次数

构造函数是如何执行的?

我正在从演讲幻灯片中做一些修改,它说构造函数以下列方式执行:

  1. 如果构造函数以此开头,则递归执行指示的构造函数,然后转到步骤4.

  2. 调用显式或隐式指示的超类构造函数(除非此类是java.lang.Object).

  3. 按照在此类中声明它们的顺序初始化对象的字段.

  4. 执行此构造函数的其余部分.

我不明白的是构造函数永远不会"启动"它,因为即使它没有形成类层次结构/关系,默认情况下插入super().

这与上面的描述有什么关系?

java jvm initialization

6
推荐指数
1
解决办法
1231
查看次数

循环移位

我必须将int向右移动一个位置并将其返回

在Java中我只能返回n >> 1;

这可能在C?

我们给出的方法如下

// Return n after a right circular 1-bit shift
unsigned int right_circular_shift_1(unsigned int n) {
Run Code Online (Sandbox Code Playgroud)

c bit-shift

1
推荐指数
2
解决办法
2639
查看次数