小编Pol*_*878的帖子

什么HTTP标头/响应触发脚本标签上的"onerror"处理程序?

我正在script像这样在DOM中插入一个标签(想想JSONP):

var s = document.createElement('script');
s.src = "http://abc.com/js/j.js";
s.onerror = function() {
   alert("Error loading script tag!");
};
document.getElementsByTagName('head')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)

现在,我知道上面脚本的404响应abc.com会触发该事件......还有哪些标头/响应会导致script标签抛出错误?我想它会因浏览器而有所不同,但是如果有人有任何类型的列表会非常有用.

谢谢!

html javascript dom

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

priority_queue <>指针的比较?

所以我正在使用带有指针的STL priority_queue <> ...我不想使用值类型,因为创建一堆刚刚用于优先级队列的新对象将非常浪费.所以...我正在尝试这样做:

class Int {
public:
    Int(int val) : m_val(val) {}
    int getVal() { return m_val; }
private:
    int m_val;
}


priority_queue<Int*> myQ;

myQ.push(new Int(5));
myQ.push(new Int(6));
myQ.push(new Int(3));
Run Code Online (Sandbox Code Playgroud)

现在我如何编写一个比较函数来获得在Q中正确排序的函数?或者,有人可以提出替代策略吗?我真的需要priority_queue接口,并且不想使用复制构造函数(因为有大量数据).谢谢

编辑: Int只是一个占位符/示例......我知道我可以int在C/C++中使用大声笑...

c++ templates stl

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

在C中复制字符串时,为空终止字符分配空间?

const char*src ="你好";

调用strlen(src);返回大小为5 ...

现在说我这样做:

char* dest = new char[strlen(src)];
strcpy(dest, src);
Run Code Online (Sandbox Code Playgroud)

这似乎不应该工作,但当我输出一切看起来正确.好像我最后没有为空终结器分配空间......这是对的吗?谢谢

c++ c-strings

4
推荐指数
3
解决办法
1591
查看次数

Java相当于以下静态只读C#代码?

所以,在C#中,我最喜欢做的事情之一是:

public class Foo
{
    public static readonly Bar1 = new Foo()
    {
        SomeProperty = 5,
        AnotherProperty = 7
    };


    public int SomeProperty
    {
         get;
         set;
    }

    public int AnotherProperty
    {
         get;
         set;
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么用Java写这个?我想我可以做一个静态的final字段,但是我不知道如何编写初始化代码.Enums在Java领域是更好的选择吗?

谢谢!

.net java static

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

Spring作为JNDI提供者?

我想使用Spring作为JNDI提供程序.这意味着我想在Spring上下文中配置一个bean,可以通过JNDI访问它.这看起来像这样:

<bean class="org.some.thing.here">
    <property name="beans">
        <map>
            <entry key="w/t/f">
                <bean class="some.thing.Else">
                     // rest ommitted
                </bean>
            </entry>
        </map>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

然后,在我的应用程序(比如一个控制器)中,我希望能够通过以下方式获取此bean:

Context ctx = new InitialContext();
some.thing.Else bar = (some.thing.Else) ctx.lookup("w/t/f");
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?我看过XBean,但项目看起来已经过时了(不适用于Spring 3.0.XI不要考虑),而且文档很少.

还有其他选择吗?如果不是很难做的话,我也会考虑推出自己的jndi提供程序类.

编辑:我应该补充一点,我没有使用JNDI的选项,我有一个我们必须使用的库,需要通过JNDI加载某些组件.我想使用Spring作为提供者.

java spring jndi

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

Hibernate:如何根据作为关联映射一部分的外键列选择单个项目?

Hullo,所以...我有以下对象:

public class Person {
   // some other getters/setters omitted.
   void setAddress(Address addy) {
       // omitted
   }

   Address getAddress() {
       // omitted
   }
}

public class Address {
   Integer getId() {
      // omitted
   }
}
Run Code Online (Sandbox Code Playgroud)

而且,我有以下hibernate映射:

<class name="Person">
    <id name="id" column="personId">
        <generator class="native"/>
    </id>

    <many-to-one name="address" 
        column="addressId" 
        unique="true"
        not-null="true"/>
</class>

<class name="Address">
    <id name="id" column="addressId">
        <generator class="native"/>
    </id>
</class>
Run Code Online (Sandbox Code Playgroud)

因此,有一对一的映射,从PersonAddress,Person有外键Address.


我要做的是Person从给定的AddressID中获取一个对象 ......但我似乎无法弄清楚正确的HQL语法:

public Person getPersonFromAddress(Address address) {

    Query …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-mapping

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

在返回类型的C#方法定义前添加"new"?

所以我最近在工作中遇到了这个C#语句:

public new string SomeFunction(int i)
{
     return base.SomeFunction(i);
}
Run Code Online (Sandbox Code Playgroud)

我在网上搜索,但我想我可以在这里找到更好的答案.

现在,我猜这一切都是返回一个新字符串,其值与调用返回的字符串相同base.SomeFunction(i)...这是正确的吗?

此外,此功能是否存在于其他语言(特定于Java)?

编辑:
在我的具体情况下,base.SomeFunction受保护,而不是虚拟......这有什么不同?谢谢

.net c# methods

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

多个线程用于多个端口?

首先,我不太了解网络编程......

所以,鉴于此,我有一个需要监听3个端口的程序(进程)......两个是TCP,另一个是UDP.

这两个TCP端口将每隔一段时间接收大量数据(可能只有每5分钟或每20秒一次).第三个(UDP)端口正在接收常量数据.现在,将这些监听到不同的线程是否有意义?

例如,当我从其中一个TCP端口收到大量数据时,我不希望我的UDP流中断...这些是网络编程的常见问题吗?

谢谢你们......如果我不清楚,请随时提出澄清问题.

如果有任何影响,我将在Windows上使用Boost库.

编辑:再次阅读之后,我意识到我不是在问一个特定的问题大声笑......我想我只是在寻找关于这个问题以及如何管理多个连接的一些想法/想法/指导.谢谢

c++ networking boost network-programming

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

Java死代码消除......此代码是否有被优化的风险?

所以,我使用的API在某些方面有点不友好.基本上,此API会创建一个可以在以后获取的资源.当我们稍后再获取它时,该资源可能存在也可能不存在.

要获取以前创建的资源,您必须使用结果guid,如下所示:

String resultKey = "12345";
PersistedResult r = mFactory.getPersistedResult(resultKey);
Run Code Online (Sandbox Code Playgroud)

现在,这里棘手的问题是,getPersistedResult当使用无效的guid调用时不会抛出异常... PersistedResult是一个惰性加载器,只有在调用其中一个方法时才会失败(导致对象加载自身).

因此,为了尝试确定资源是否有效,我正在执行以下操作:

PersistedResult r = null;

if (!StringUtils.isEmpty(resultKey)) {
    try {
       r = mFactory.getPersistedResult(resultKey);
       r.getResultCount(); // Triggers exception if result key was invalid.    
    } catch (Exception e) {
       // handle exception
    }
 }
Run Code Online (Sandbox Code Playgroud)

我的呼叫是否getResultCount有被优化的风险,因为我没有使用该值?

调用任何方法PersistedResult都会转到外部数据库,以防万一.

谢谢

java compiler-construction optimization

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

Java Regex:匹配一个字符后跟空格?

这让我疯了......我有一个像这样的输入字符串:

String input = "T ";
Run Code Online (Sandbox Code Playgroud)

我正在尝试匹配并替换字符串,如下所示:

String output = input.replace("T\\s", "argggghhh");
System.out.println(output);  // expected: "argggghhh"
                             // actual: "T "
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么? 为什么不\\s匹配空间?

请记住,我想匹配多个空白字符(\\s+),但我不能让这个简单的案例工作:(.

java regex

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