我们的代码使用了许多系统属性,例如’java.io.tmpdir’,’user.home’,’user.name’等。我们在任何地方都没有为这些常量定义任何常量(我认为Java也没有)或处理它们的任何其他聪明的事情,因此它们在整个代码中都是乱七八糟的。
String tempFolderPath = System.getProperty("java.io.tmpdir");
每个人如何使用系统属性?
我将把它当作您遍历整个代码的任何其他String常量,并为其定义一个常量变量。当然,在这种情况下,“
java.io.tmpdir”不太可能更改,但您永远不会知道。(我并不是说Sun可能会更改“
java.io.tmpdir”的含义或其所指向的系统属性,但是您可能会改变主意,以了解需要读取的系统属性。)
如果您只在一个类中使用特定属性,那么我将在该类中定义常量。
private final String TEMPDIR = "java.io.tmpdir";
如果在不同的类中使用相同的属性,则可能需要定义自己的静态类来保存最常使用的常量。
public final Class Prop {
public static final String TEMPDIR = "java.io.tmpdir";
...
}
然后,在任何需要使用该常量的地方,只需使用
System.getProperty(Prop.TEMPDIR);
问题内容: 在Java中,我们使用System.setProperty()方法来设置一些系统属性。根据本文的介绍,使用系统属性有些棘手。 System.setProperty()可能是一个邪恶的调用。 这是100%线程敌对的 它包含超全局变量 当这些变量在运行时发生神秘变化时,调试非常困难。 我的问题如下。 系统属性的范围如何?它们是针对每个虚拟机专用还是具有“超全局性”,在每个虚拟机实例上共享相
您好,我最近在spring项目中将日志记录从log4j迁移到了log4j2。 一切正常,但我想知道如何设置属性
问题内容: 你将如何为Java应用程序实现插件系统? 是否有一个易于使用的(对于开发人员而言)系统可以实现以下目的: 用户将其插件放入应用程序的子目录中 插件可以提供配置屏幕 如果使用框架,那么许可证是否与商业开发兼容? 问题答案: 首先,你需要一个所有插件都需要实现的接口,例如 然后,插件作者应将其插件捆绑到JAR文件中。你的应用程序将打开JAR文件,然后可以使用JAR清单中的属性或JAR文件中
概述 此工具是针对System.getProperty(name)的封装,通过此工具,可以获取如下信息: Java Virtual Machine Specification信息 SystemUtil.getJvmSpecInfo(); Java Virtual Machine Implementation信息 SystemUtil.getJvmInfo(); Java Specificati
问题内容: 我在应用程序中使用Log4j。放置在classpath中的Jar中。该配置文件正在使用中,并且在大多数情况下都可以正常工作。 但是有时,生成的日志记录语句与配置文件不同。 我的理解是,这是因为属性文件是从类路径中获取的。不管第一个属性文件是什么,都由log4j获取和使用。因此,有时我们得到的日志记录语句与属性文件中配置的语句不同。 如果上述原因属实,那么我认为,我们需要通过以下方式之一
问题内容: 我现在正在上一门C#类,并且试图找出做事的最佳方法。我来自Java背景,因此只熟悉Java最佳实践。我是C#新手! 在Java中,如果我有私有财产,则可以这样做。 在C#中,我看到有很多方法可以做到这一点。 我可以像Java那样做: 或者我可以这样: 要么: 我应该使用哪一种?每种方法有哪些警告或细微之处?创建类时,我遵循的是我从Java中学到的最佳常规(特别是阅读Effective