小编dje*_*lin的帖子

不使用sizeof计算结构的大小(以字节为单位)

我正在寻找一种方法来计算特定结构的大小而不使用sizeof()C中的函数.

c sizeof

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

在基元数组中重新分配数组值不会更改数组

我尝试用2个循环设置2D布尔数组的值,如下所示:

 boolean[][] frame = new boolean[10][4];
    for (boolean[] column : frame)
        for (boolean b : column)
            b = true;
Run Code Online (Sandbox Code Playgroud)

但这似乎没有用,所有的布尔都是假的,为什么呢?

java multidimensional-array

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

框架在javascript中意味着什么?

我正在读"可维护的javascript"这本书.在书中,作者谈到了框架,需要帮助才能理解这意味着什么.

在帧之间来回传递数组是 JavaScript中最初的跨框架问题之一.开发人员很快发现,在这些情况下,instanceof Array并不总能产生适当的结果.如前所述,每个帧都有自己的Array构造函数,因此一个帧中的实例在另一个中无法识别.Douglas Crockford首先建议执行一些鸭子打字,测试sort()方法的存在:

// Duck typing arrays
function isArray(value) {
  return typeof value.sort === "function";
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

优于O(n ^ 2)算法,在包含前1000个整数中的999的数组中找到缺失的整数

假设我有一个包含999个单元的数组,其中包含1-1000之外的所有数字,除了一个数字.找到这个数字最有效的方法是什么?我找不到比O(n平方)更好的方法.面试官告诉我有更好的方法.我该怎么做?

数组未分类.

complexity-theory

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

如何限制任务,以便一次只运行一个任务,然后忽略休息

我有一个侦听外部事件的对象.收到事件后,我的对象需要执行任务(Runnable).但是,有一个限制:

一旦任务开始执行,我就不应该开始其他任务(我可以忽略它们),直到原始任务完成并且在那之后经过一定量的时间(限制).

这里建议使用信号量实现:

public class Sample {

    private final Semaphore semaphore = new Semaphore(1);

    private final ScheduledExecutorService executor;

    public Sample(ScheduledExecutorService executor) {
        this.executor = executor;    
    }

    public void tryRun() {
        if (semaphore.tryAcquire()) {
            try {
                executor.submit(
                    new Runnable() {
                        @Override
                        public void run() {
                            try {
                                doIt();
                            } finally {
                                try {
                                    executor.schedule(
                                        new Runnable() {
                                            @Override
                                            public void run() {
                                                semaphore.release();
                                            }
                                        },
                                        1, 
                                        TimeUnit.MINUTES
                                    );
                                } catch (Throwable t) {
                                    semaphore.release();
                                }
                            }
                        } …
Run Code Online (Sandbox Code Playgroud)

java concurrency

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

你如何识别Haskell中模式匹配表达式的复杂性?

模式匹配很奇怪.它涉及寻找事物表征的看似简单的数学问题.

例如,对于给定的整数b,每个整数a可以以a = bq + r的形式表示,其中0 <= r <b,唯一.要找到q和r,需要除法算法.关键词是"算法".

因此,当您在Haskell中执行模式匹配表达时,如将元组表示为(a,b),是在幕后运行的算法吗?

算法总是必须简单,即O(1)或至少以某种方式在某处记录?

您如何保证代表的独特升力?

haskell functional-programming pattern-matching

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

Java模板化包装类,允许您修改对象一次

我可以自己写,但我猜这是非常标准的.是否有标准的java类来执行此操作?我知道这必须是一个运行时功能,因为我的代码的各个部分可以设置它而不知道彼此在做什么 - 我只是希望如果发生这种情况会大声失败.

public class MutableOnce<Type T> {
    private T _t;
    private boolean _isSet = false;
    public void set(T t) {
        if(_isSet) {
            //raise exception
        }
        _t = t;
    public T get() { return _t; }
}
Run Code Online (Sandbox Code Playgroud)

java immutability

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

服务器端删除Oauth令牌

如果用户想要从我们的服务中移除他/她自己,我们会从我们的数据库中删除他们的所有数据,包括Oauth令牌.我们拥有的Oauth令牌是安全和持久的.作为最佳做法的一部分,我们希望将令牌完全无效,就好像他们想要使用Google帐户页面并将其删除一样.阅读Oauth文档我不清楚这是否可能,因为所有的例子都涉及单会话或非安全案例(并且原谅我缺乏"你尝试了什么?" - ism但我正在尝试快速计划如何做到这一点).

所以

1)这可能吗?最好是1.0?

2)怎么做?

oauth

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

wowza java cpu使用率高

我对wowza中的cpu使用有疑问。

这是令人怀疑的线程。此线程占用了较高的CPU。

SocketAcceptorIoProcessor-1.0 prio=10 tid=0x0000002a9fb53000 nid=0x2428 runnable         [0x000000004f017000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0x00000007d82ba4e8> (a sun.nio.ch.Util$2)
- locked <0x00000007d82ba4d8> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007d82ad450> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(Unknown Source)
at org.apache.mina.util.NamePreservingRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud)

此线程占用了很高的CPU。这是jdk错误吗?

这是我的环境。

CentOS版本5.4(最终版)

WowzaMediaServer-3.1.2

Java版本1.6.0_23 Java SE运行时环境(内部版本1.6.0_23-b05)Java HotSpotTM 64位服务器VM(内部版本19.0-b09,混合模式)

java cpu multithreading wowza mina

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

MSVC无法upcast unique_ptr

MSVC11上的以下代码失败并显示错误

cannot convert parameter 1 from 'std::unique_ptr<DerivedClass>' to 'std::unique_ptr<BaseClass>' 
Run Code Online (Sandbox Code Playgroud)

代码:

class BaseClass
{ };

class DerivedClass : public BaseClass
{ };

void MyFunction(std::unique_ptr<BaseClass> obj)
{ };

int main()
{
      auto ptr = std::unique_ptr<DerivedClass>(new DerivedClass);
      MyFunction(ptr);                 // fails, with error about cannot convert type
      // MyFunction(std::move(ptr));   // This will work
}
Run Code Online (Sandbox Code Playgroud)

正如在答案中所指出的那样,原因是std::move缺失了,但是错误信息让我很困惑地发布了问题,所以我已经更新了它,所以任何同样困惑的人都有最好的机会找到答案.

c++ c++11

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