小编Sil*_*ior的帖子

在log4j中,在记录改进性能之前检查isDebugEnabled吗?

我在我的应用程序中使用Log4J进行日志记录.以前我使用调试调用如:

选项1:

logger.debug("some debug text");
Run Code Online (Sandbox Code Playgroud)

但有些链接表明最好先检查一下isDebugEnabled(),例如:

选项2:

boolean debugEnabled = logger.isDebugEnabled();
if (debugEnabled) {
    logger.debug("some debug text");
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是" 选项2能否以任何方式提高性能? ".

因为在任何情况下Log4J框架都对debugEnabled进行相同的检查.对于选项2,如果我们在单个方法或类中使用多个调试语句可能是有益的,其中框架不需要isDebugEnabled()多次调用方法(在每次调用时); 在这种情况下,它只调用isDebugEnabled()一次方法,如果Log4J配置为调试级别,那么实际上它调用isDebugEnabled()方法两次:

  1. 如果为debugEnabled变量赋值,和
  2. 实际上是由logger.debug()方法调用的.

我不认为如果我们logger.debug()在方法或类中编写多个语句并debug()根据选项1 调用方法,那么与选项2相比,它是Log4J框架的开销.因为它isDebugEnabled()是一个非常小的方法(就代码而言),它可能是内联的好人选.

java logging log4j

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

连接池中的最佳连接数

目前我们正在使用4个带有8GB RAM的cpu windows box,并在同一个盒子上安装了MySQL 5.x. 我们在我们的应用程序中使用Weblogic应用程序服务器.我们针对我们的应用程序定位了200个并发用户(显然不是针对相同的模块/屏幕).那么我们应该在连接池中配置什么是最佳连接数(最小和最大数量)(我们使用的是weblogic AS'连接池机制)?

java mysql performance weblogic connection-pooling

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

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

如何以编程方式创建chrome crx文件(最好是在java)?

我想以编程方式创建chrome扩展crx文件(不使用chrome.exe,因为它会打开新的chrome窗口).那么有什么替代方案呢?我的偏好是java,但如果它可能用其他语言,那么我也没关系.

command-line google-chrome crx

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

Java 100%面向对象吗?

Java具有原始数据类型,它不像Ruby中的对象派生.那么我们可以将Java视为100%面向对象的语言吗?另一个问题:为什么Java没有设计原始数据类型的对象方式?

java oop

12
推荐指数
6
解决办法
2万
查看次数

可变或不可变的类?

我在一些设计书中读到,不可变类提高了可伸缩性,并且尽可能地编写不可变类.但我认为如此不可改变的阶级会增加对象的扩散.因此,为了提高可伸缩性,使用静态类(具有所有静态方法的类)更好地进行不可变类或更好吗?

java scalability immutability

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

java中的多重继承

Java不允许从多个类继承(仍允许从多个接口继承.),我知道它非常符合经典的钻石问题.但是我的问题是,当从多个基类继承时没有歧义(因此没有钻石问题的可能性)时,java不允许像C++这样的多重继承?

java oop multiple-inheritance diamond-problem

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

设计基于Web的可扩展应用程序的关键因素

目前我正在开发基于Web的应用程序.我想知道设计人员在设计可扩展的基于Web的应用程序时应该注意哪些关键因素?

java scalability web-applications

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

没有数据成员的类在java中是否有内存占用?

我的问题与java中没有数据成员的类的内存占用有关.假设在java中我有一个没有数据成员的类,它只包含方法.因此,如果我正在创建特定类的实例,那么除了对象引用内存之外它是否占用主内存中的内存?

java performance garbage-collection memory-management

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

静态方法是否有利于可伸缩性?

静态方法和类是否有利于可伸缩性?我认为静态类/方法可以提高应用程序的可伸缩性,而实例方法不会扩展太多.那么在可能的情况下编写静态方法是一种很好的编程习惯吗?

java performance static-methods scalability

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