小编mar*_*wun的帖子

Java 11中是否有垃圾回收JVM args的替代品?

在Java 11中,不再支持与GC日志记录有关的许多JVM arg。如果我们仍然要使用GC日志记录,可以用什么替换它们?特别是,这与以下JVM参数有关:

-Xlog:gc:work/logs/gc.log
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTime
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles
-XX:GCLogFileSize
Run Code Online (Sandbox Code Playgroud)

谢谢。

java logging garbage-collection java-11

15
推荐指数
3
解决办法
4080
查看次数

如何确保从子类(Java)中的方法在抽象超类中调用某些方法

我有一个方法,一个抽象的超A级doSomething().A必须实现的子类doSomething(),但每次子类调用时都应该调用一些公共代码doSomething().我知道这可以实现:

public class A {
  public void doSomething() {
    // Things that every sub-class should do 
  }
}

public class B extends A {
  public void doSomething() {
    super.doSomething();
    // Doing class-B-specific stuff here
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎有三个问题:

  • 方法签名必须匹配,但我可能只希望在子类方法中返回一些东西,而不是在超类中返回
  • 如果我使A.doSomething()抽象,我不能在A中提供(常见)实现.如果我不使它抽象,我不能强迫子类实现它.
  • 如果我使用不同的方法来提供通用功能,我不能强制B.doSomething()调用该常用方法.

有关如何实施这些方法的任何想法?

java inheritance

7
推荐指数
2
解决办法
1035
查看次数

微服务国际化和本地化的最佳实践

正如主题所说,我正在寻找如何在微服务架构中处理 i18n 和 l10n 的最佳实践。关于这个话题似乎没有太多,但肯定还有其他话题

因此,在一个由一组微服务组成的相对复杂的系统中,可能使用多种语言开发,并且每个服务的代码托管在单独的 git 存储库中,并使用 Jenkins 管道构建,您如何着手本地化该系统?我做了一些研究,但无法找到这种设置的最佳实践。具体来说,我对如何在这样的环境中设置和管理持续本地化感兴趣。谢谢!干杯,

马丁

translation localization internationalization language-translation microservices

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

如何在Java的ExecutorService中检索和处理异常

我试图找出一种方法来处理多线程设置中的异常.我想并行执行某些任务,每个任务都可能抛出一个我需要做出反应的异常(基本上,通过将失败的任务放回执行队列).但是,实际上从线程中获取异常的唯一方法是创建Future并调用其get()方法.但是,这实际上将调用转换为同步调用.

也许一些代码会说明这一点:

ExecutorService executor = Executors.newFixedThreadPool(nThreads);
Task task = taskQueue.poll(); // let's assume that task implements Runnable
try {
  executor.execute(task);
}
catch(Exception ex) {
  // record the failed task, so that it can be re-added to the queue 
} 
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,所有任务都会启动,但这里的异常似乎没有被捕获到此catch块中.

另一种方法是使用Future而不是线程并检索其结果:

try {
  Future<?> future = executor.submit(task);
  future.get();
}
...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,异常会在catch块中被捕获,但代价是必须等到此操作完成.因此,根据需要,任务按顺序执行而不是并行执行.

我错过了什么?如何捕捉每个人的任务例外并对他们做出反应?

java multithreading exception-handling future executor

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

Docker容器:基于Node.js的微服务的大小

我一直在玩Docker容器中设置一些微服务,其中服务基于Seneca.js.由于这是一个Node.js应用程序,我派生了容器"FROM node".但是,容器映像的大小约为600 MB.不完全是"微观".最终的应用程序将使用几个这样的服务的集合,如果每个服务器的大小超过600 MB,它将把应用程序炸成几GB.

我做错了什么,或者你是如何设置基于Docker-Node.js的微服务?
非常感谢.

干杯,

马丁

node.js docker microservices seneca

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