小编Ust*_*gat的帖子

将最终变量传递给匿名类

通过构造函数传递给匿名类的最终变量中,Jon Skeet提到变量通过自动生成的构造函数传递给匿名类实例.在这种情况下,为什么我无法使用反射来查看构造函数:

public static void main(String... args) throws InterruptedException {
final int x = 100;
new Thread() {
    public void run() {
        System.out.println(x);      
        for (Constructor<?> cons : this.getClass()
                .getDeclaredConstructors()) {
            StringBuilder str = new StringBuilder();
            str.append("constructor : ").append(cons.getName())
                    .append("(");
            for (Class<?> param : cons.getParameterTypes()) {
                str.append(param.getSimpleName()).append(", ");
            }
            if (str.charAt(str.length() - 1) == ' ') {
                str.replace(str.length() - 2, str.length(), ")");
            } else
                str.append(')');
            System.out.println(str);
        }
    }

}.start();
Thread.sleep(2000);
Run Code Online (Sandbox Code Playgroud)

}

输出是:

100
constructor : A$1()
Run Code Online (Sandbox Code Playgroud)

java constructor final anonymous-class inner-classes

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

WeakHashMap和强引用值

Javadocs说:"当一个密钥被丢弃时,它的条目将被有效地从地图中删除".

但除非有另一个线程偶尔删除这些Map.Entry条目,否则地图不会强烈引用值对象?但是由于没有运行这样的线程,只有get方法调用可以删除这些条目 - 一次一个.

我几乎总是WeakHashMap<K, WeakReference<V>>因为这个原因而使用.为什么他们没有将默认行为 - 值作为弱引用呢?

java collections weak-references weakhashmap

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

Node.js/Express.js会话管理cookie是会话cookie

如何使connect.sid cookie本身只是一个会话cookie而不是持久cookie?

我没试成功

app.use(express.session({cookie: { path: '/', httpOnly: true}, secret:'eeuqram'}));
Run Code Online (Sandbox Code Playgroud)

但cookie仍然有到期时间戳.

cookies session-cookies node.js express

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

用于使用事件处理程序配置akka记录器的记录器名称

所以,我使用的是Slf4jEventHandler和logback-classic.如何单独为不同的actor配置日志级别?[我正在使用Akka 2.0_M2]

我试过做类似的事情

<configuration debug="true" scan="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="akka://TradeService" level="DEBUG" />
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但这根本没有帮助:

INFO  akka://TradeService/user/realTimeReqListener - Declaring queue
INFO  akka://TradeService/user/restReqListener - Declaring queue
INFO  akka://TradeService/user/restReqListener - Starting listening to queue
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我只是为演员提供了INFO级别的日志记录.actor记录器的命名层次结构是什么?

logging scala slf4j akka

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

scalac v javac和scala v java

所以,我理解scalac编译器与javac的不同之处 - 查看生成的字节码,它们看起来不像javac会产生的 - 例如没有构造函数的类.

但运行时是否与在类路径中使用scala jar启动java有什么不同?我非常肯定,但有人可以确认scala命令只是java的一个薄包装 - 毕竟它们只是简单地使用JRE/JDK.

java jvm scala jar

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