我有一个log4j.xml配置文件.和RollingFileAppender我需要它来存储日志提供文件路径.问题是我的代码将作为可运行的jar部署在Unix机器上.所以,如果我传递这样的参数:
value=logs/messages.log"
Run Code Online (Sandbox Code Playgroud)
它在我的HOME目录中创建名为logs的文件夹,并将所有消息写入该目录中的文件.
我有一个环境变量设置为某个值.我想使用该变量的路径并在该路径下写入消息.我怎样才能实现它?
我试过用这个:
value="${MY_HOME}/logs/message.log"
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有谁能建议解决这个问题?
我在下面有这个代码,我将一个新的整数插入到一个有序的LinkedList中,但我不认为这是"正确"的做事方式,因为我知道有一个单独的链表,指针指向下一个值和双链表指向下一个和上一个值的指针.我试图使用Nodes来实现以下情况,但Java正在导入这个导入org.w3c.dom.Node(文档对象模型),所以卡住了.
插入案例
如果值小于/大于LL中的某些值,则介于两者之间.
import java.util.*;
public class MainLinkedList {
public static void main(String[] args) {
LinkedList<Integer> llist = new LinkedList<Integer>();
llist.add(10);
llist.add(30);
llist.add(50);
llist.add(60);
llist.add(90);
llist.add(1000);
System.out.println("Old LinkedList " + llist);
//WHat if you want to insert 70 in a sorted LinkedList
LinkedList<Integer> newllist = insertSortedLL(llist, 70);
System.out.println("New LinkedList " + newllist);
}
public static LinkedList<Integer> insertSortedLL(LinkedList<Integer> llist, int value){
    llist.add(value);
    Collections.sort(llist);
    return llist;
}
Run Code Online (Sandbox Code Playgroud)
}
我正在开发一个我不断收到消息的应用程序.我将这些消息存储在内存数据结构中(比如List).我想将这些消息写入文件,但只有在列表大小达到某个阈值后才说100条消息(对消息执行批处理).一种方法是我可以在收到每条消息后简单地检查列表大小,如果达到阈值,则调用函数将消息写入文件.但这种方法的问题是:
其他方法可能是生成一个新线程,它将独立地将消息写入文件.但是当我将列表(包含消息)传递给线程以执行写操作时,它会被新消息更新,这些消息会不断进入.因此,新到达的消息也会被写入到不期望的文件中.
这不应该发生,因为我打算在下一批中写入新消息.
有人可以建议我这个要求的解决方案,或上述方法的任何改进,可以解决我的问题.
我的要求是不断接收需要写入文件的消息。每次收到新消息时,都需要将其写入单独的文件中。我想要的是生成一个唯一标识符以用作文件名。我也想保留消息的顺序。我的意思是,作为文件名生成的标识符应该始终是增量的。
我使用UUID.randomUUID()来生成文件名,但这种方法的问题是 UUID 只保证标识符的随机性,而不是增量。结果我丢失了文件的顺序(我希望首先生成的文件应该首先出现在列表中)。
已知方法
2.另一种方法可能是实现静态长值并在要创建文件时增加它并将长值用作文件名。但我不确定这种方法。此外,它似乎不是我的问题的正确解决方案。我认为可能有比这更好的解决方案。
如果有人可以建议我更好地解决这个问题,将不胜感激。
在我的应用程序中,当用户登录时,我有这个逻辑,它将使用用户拥有的所有符号调用下面的方法.
public void sendSymbol(String commaDelimitedSymbols) {
        try {
            // further logic
        } catch (Throwable t) {
        }
    }
Run Code Online (Sandbox Code Playgroud)
我的问题是,由于这个发送符号的任务可以慢慢完成但必须完成,所以无论如何我可以将其作为后台任务吗?
这可能吗 ??
请分享您的观点.
我在这里做错了什么?
public enum Type {
    INFO("INFO"),
    WARN("WARN"),
    ERROR("ERROR"),
    FATAL("FATAL");
    private String value;
    private Type(String aValue) {
        value = aValue;
    }
};  
Run Code Online (Sandbox Code Playgroud)

我收到有关值未使用的警告...
我所能想到的就是使用@SupressWarnings,但我是枚举的新手,所以我只是在这里检查是否我做错了什么......有什么想法吗?
嗨,大家好,我在夏天学习java,这是最后的任务,我被困住了.该程序应该输入我输入的13个数字,对它们进行排序,然后找到我在原始数组中输入的最大数字的索引号.我试图看看我的选择方法是否有效,但每当我尝试输入数字时,我都会得到一个超出范围的错误.这有点令人沮丧,我一直试图找到并回答几个小时.任何帮助将不胜感激.谢谢!
import java.util.Scanner;
public class fmax
{
  public static void main(String[] args)
  {
    int indmax;
    int[] fmax = new int[13];
    fillmax(fmax);
    //System.out.println(fmax);
    indmax = maxfmax(fmax);
    //indmin = minfmax();
    System.out.println(indmax);
  }
  public static void fillmax(int[] farray)
  {
    Scanner sc = new Scanner(System.in);
    int i = 0;
    for(i = 0; i < farray.length; i++)
    {
      farray[i] = sc.nextInt();
    }
   }
    public static int maxfmax(int[] farray)
    {
      int[] copy = farray;
      int j, x=0, i;
      boolean flag = true;
      int temp;
      while(flag)
      { …Run Code Online (Sandbox Code Playgroud)