小编Jer*_*ell的帖子

是否在Servlet工作完成之前或之后执行了doFilter()?

所述javax.servlet.Filter的对象既可以用于认证(其中过滤器需要赶上请求需要做任何servlet工作之前)和XSLT转换(其中servlet需要被完全完成生成内容)一起使用.什么时候实际执行?

我知道这是依赖于实现的(在Web容器上),但这似乎是需要所有人解决的问题.

也许为Web容器的每个Filter注册设置一个配置选项?

额外:

什么控制过滤器执行的顺序?为什么FooFilter会在BarFilter之前执行?

java servlets servlet-filters

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

SQL表有一行吗?

在数据库中只有一行的表中有什么意义(如果有的话)?

注意:我不是在讨论在表中只有一行的可能性,而是在开发人员故意制作一个总是只有一行的表时.

编辑:

销售税示例很好.

我刚刚在一些代码中观察到我正在审查三个不同的表,这些表包含三种不同类型的证书(一个SSL),每个表只有一行.我不明白为什么这不是一张大表; 我想我错过了什么.

sql schema

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

"香蕉,镜片,信封和铁丝网"的实际应用?

首先,愚蠢的标题直接引用了本文:

http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf

我理解它的理论价值,因为它模拟了大多数(如果不是全部)编程语义.

基于此的编程范例可以最有效和最实际地解决哪些问题?什么问题不是?

想象一下整个程序的编写,其中80%的逻辑涉及这些操作符.我想知道强迫用户操作的语言是否可以利用他们的结构......

language-agnostic theory functional-programming

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

Java Bean:过度的关联数组?

我不太了解Java Bean的本质.好吧,至少我是如何看待它们在一些通过我们商店的代码库中使用的.

我发现了这个问题:

Java Beans:我错过了什么?

那里接受的答案让程序员看起来像是在滥用Java Bean(我真的不怀疑),但是我觉得这种情况经常发生,故意,我想我还是会遗漏一些东西.

我看到的代码如下:

public class FooBean {
  private int a;
  private int b;
  private int c;

  public int getA() { return a; }
  public int setA(int x) { a = x; }

  // etc...
}
Run Code Online (Sandbox Code Playgroud)

没有进一步的结构或控制比吸气剂和制定者.是否存在某种超级棒的编译器技巧,包括反射,getter和setter,以及是否需要一些非常笨拙(但编译器优化)的静态关联数组?

或许我完全忽略了这一点.:\

干杯!

编辑:

绝对不是在这里宣传公共领域的想法.

java reflection javabeans

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

如何确保将Java对象(包含加密材料)归零?

我担心的是,垃圾收集器管理的加密密钥和秘密可以在内存中复制和移动而不会出现零化.

作为一种可能的解决方案,它足以:

public class Key {
  private char[] key;
  // ...
  protected void finalize() throws Throwable { 
    try {
      for(int k = 0; k < key.length; k++) {
        key[k] = '\0';
      }
    } catch (Exception e) {
      //...
    } finally {
      super.finalize();
    }
  }
  // ...
}
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,我的问题不仅涉及对象的官方(引用)副本的归零,而且还涉及垃圾收集器可能已经制作的任何陈旧副本,同时它会为了空间和速度效率而改变内存.

最简单的例子是标记和扫描GC,其中对象被标记为"引用",然后所有这些对象被复制到另一个区域.其余的都是垃圾,所以他们被收集.当副本发生时,可能会留下垃圾收集器不再管理的剩余密钥数据(因为"官方"数据位于新区域中).

对此进行的试金石是,如果您在加密模块中使用密钥,将密钥归零,然后检查整个JVM进程空间,则不应该找到该密钥.

java security fips

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

使用Java中的对象调用静态方法会出现什么问题?

如果我有以下内容:

class A {
  public A() { }
  public static void foo() { System.out.println("foo() called"); }
}

public class Main {
  public static void main(String [] args) {
    A a = new A();
    a.foo(); // <-- static call using an instance.
    A.foo(); // <-- static call using class
  }
}
Run Code Online (Sandbox Code Playgroud)

使用实例调用foo()可能会出现任何问题吗?JVM是否将第一次调用foo()完全视为静态方法,还是存在一些技术细微之处?

java static-methods jvm

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

Linux中的ioctl命令可以完全列举吗?

为了进行面向安全性的源代码审查,我有兴趣(全面)查找在Linux内核中注册的所有ioctl命令。另外,我想将它们分类为管理员(例如,root)可以访问的类别,以及非特权用户可以访问的类别。

我不确定阅读内核源代码是否更容易,或者是否有某种方法可以在用户空间中查询列表。如果需要查看内核,注册ioctl时需要寻找什么功能?

linux ioctl linux-kernel

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