我正在编写我的angularjs指令,其定义如下:
return {
restrict: 'EA',
link: link,
scope: true,
transclude: true,
replace: true,
controller: controller,
template: '<div class="wizard">' +
'<div ng-transclude></div>' +
'</div>'
};
Run Code Online (Sandbox Code Playgroud)
我注意到创建了两个范围:
< Scope (003) --- parent scope of directive
< Scope (004) --- controller scope of directive which I think is child scope created by 'scope=true'. all my functions, properites defined in controller show up in this scope
< Scope (005) --- transclude scope which is empty
Run Code Online (Sandbox Code Playgroud)
从文档我期望只创建一个子范围,因为'scope = true'不会创建一个孤立的范围.这导致所有被'ng-transclude'替换的元素实际上继承了Scope(005)并且无法访问我在控制器中定义的函数/属性,因为它们在Scope(004)中,它是Scope(005)的兄弟.
我不知道出了什么问题,有人可以在这里点灯吗?
当使用Chrome调试器观察我的元素时,我注意到这些元素是由"ng-scope"类添加的,但是,如何将"ng-scope"与batarang控制台中显示的范围相匹配?比如show ng-scope的id.
谢谢
我的应用程序在tomcat中运行,每次我停止tomcat它警告我有很多线程无法关闭.这些线程是由我的应用程序使用的库创建的,我不知道如何杀死它们.这个问题导致tomcat进程仍然存在,我调用了tomcat附带的bin/shutdown.sh.
任何人都可以帮忙吗?谢谢
===结论====
找到一个很好的阅读https://softwareengineering.stackexchange.com/a/149569其中规定
当前的GC算法实际上是为了创建许多短暂的小对象而优化的. 所以我认为在项目中使用匿名内部类对于性能来说不是什么大问题*
================================================== ======================
因为函数不是当前Java(Java7)中的第一类公民,所以使用匿名内部类似乎是实现完整异步应用程序的唯一方法.
我知道它会在一定程度上带来更大的内存占用和垃圾收集器负担,但我不知道它有多严重?最近我的同事和我争论是因为我的代码是通过利用匿名内部类来编写的,他的反对意见完全取决于性能.虽然我不同意,但我不能举出任何证明自己的例子.我知道groovy正在使用匿名类实现闭包,但是groovy的性能比java差(当然匿名应该只承担部分责任,因为groovy也大量使用反射).
所以我想在现实世界中,有没有任何项目因为性能而放弃匿名课程?像swing这样的UI框架怎么样?是否大量使用匿名类?
没有匿名,我无法想象如何在java中优雅地实现异步.我们的项目已经使用一种非常丑陋的方式使类方法作为函数指针工作.我讨厌那么多,并想说服人们匿名上课是正确的方法.
我的例子:
// basically, I use Completion interface to make normal java methods work in async manner
public interface Completion {
void success();
void fail(String reason);
}
void methodA(Completion completion) {
do_some_business_by_calling_remote_service ....
when remote_service_ack_success:
completion.success();
else:
completion.fail(remote_service_error);
}
void methodB() {
methodA(new Completion() {
public void success() {
continue to do something;
}
public void fail(String err) {
handle error
}
});
}
Run Code Online (Sandbox Code Playgroud) 共识算法(例如 raft)要求集群包含奇数个节点以避免裂脑问题。
假设我有一个由 5 个节点组成的集群,如果只有一个节点发生故障会发生什么?集群现在有4个节点,打破了奇数规则,集群会继续正常运行吗?
一种解决方案是再删除一个节点,使集群只包含 3 个节点,但是如果之前出现故障的节点又回来了怎么办?那么集群又有了 4 个节点,为了保持集群奇数,我们必须将之前丢弃的节点带回来。
共识算法的实现是自动处理这个问题,还是我必须在我的应用程序代码中这样做(例如,删除一个节点)?
我正在使用鼻子运行一堆测试用例.我想将每个案例的输出记录到单独的文件中,并且知道每个案例的结果[成功/失败].不幸的是,我无法弄清楚如何用鼻子做到这一点.任何人都可以提供一些线索吗?谢谢
我在下面的Spring 3.0文档中阅读:
强类型集合(仅限Java 5+)
在Java 5及更高版本中,您可以使用强类型集合(使用泛型类型).也就是说,可以声明Collection类型,使其只能包含String元素(例如).如果您使用Spring依赖注入一个强类型的Collection到bean中,您可以利用Spring的类型转换支持,这样强类型Collection实例的元素在被添加到之前就会转换为适当的类型收藏.
public class Foo {
private Map<String, Float> accounts;
public void setAccounts(Map<String, Float> accounts) {
this.accounts = accounts;
}
}
<beans>
<bean id="foo" class="x.y.Foo">
<property name="accounts">
<map>
<entry key="one" value="9.99"/>
<entry key="two" value="2.75"/>
<entry key="six" value="3.99"/>
</map>
</property>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
当foo bean的accounts属性准备好进行注入时,可以通过反射获得有关强类型Map的元素类型的泛型信息.因此,Spring的类型转换基础结构将各种值元素识别为Float类型,并将字符串值9.99,2.75和3.99转换为实际的Float类型.
这怎么可能?据我所知,通用类型信息在编译期间被删除.