使用{}而不是字符串连接有什么好处吗?
来自slf4j的一个例子
logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
Run Code Online (Sandbox Code Playgroud)
代替
logger.debug("Temperature set to"+ t + ". Old temperature was " + oldT);
Run Code Online (Sandbox Code Playgroud)
我认为这是关于速度优化的,因为根据配置文件,可以在运行时避免参数评估(和字符串连接).但是只有两个参数是可能的,那么有时除了字符串连接之外别无选择.需要就此问题提出意见.
我的问题更多的是关于什么是好的做法而不是可能的做法:
NoticationManager.notify()从工作线程调用是一件好事吗?我总是试着记住,关于UI的东西应该在UI线程中执行,其余的在工作线程中执行,如Android doc关于进程和线程的建议:
此外,Andoid UI工具包不是线程安全的.因此,您不能从工作线程操纵UI - 您必须从UI线程对您的用户界面进行所有操作.因此,Android的单线程模型只有两个规则:
- 不要阻止UI线程
- 不要从UI线程外部访问Android UI工具包
然而,我对Android doc本身给出的一个例子感到惊讶(关于显示Notifications的进展),其中正在进行的通知进度直接从工作线程更新:
mNotifyManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(this);
mBuilder.setContentTitle("Picture Download")
.setContentText("Download in progress")
.setSmallIcon(R.drawable.ic_notification);
// Start a lengthy operation in a background thread
new Thread(
new Runnable() {
@Override
public void run() {
int incr;
// Do the "lengthy" operation 20 times
for (incr = 0; incr <= 100; incr+=5) {
// Sets the progress indicator to a max value, the …Run Code Online (Sandbox Code Playgroud) Kotlin是否提供任何性能提升?有没有基准测试?Kotlin比Java更快吗?我在Kotlin网站上找到了这个.https://kotlinlang.org/docs/reference/comparison-to-java.html 谈论语言功能而不是性能.
如何在Jacoco Gradle中设置最小代码覆盖率?
如果不满足,我希望构建失败.
SharedFlow刚刚在协程 1.4.0-M1 中引入,它旨在替换所有BroadcastChannel实现(如设计问题描述中所述)。
我有一个用例,我使用 aBroadcastChannel来表示传入的 Web 套接字帧,以便多个侦听器可以“订阅”这些帧。当我移动到 a 时,我遇到的问题SharedFlow是当我收到关闭帧或上游错误时我无法“结束”流程(我想这样做是为了通知所有订阅者流程已经结束)。
当我想有效地“关闭” 时,如何使所有订阅终止SharedFlow?有没有办法区分正常关闭和异常关闭?(如频道)
如果MutableSharedFlow不允许将流的结尾传达给订阅者,如果BroadcastChannel被弃用/删除,有什么替代方法?
使用Java 8删除PermGen,我们不能再使用JVM参数来更改它或限制它.
但如果我的应用程序中有内存泄漏,我想了解它.我不希望JVM分配千兆字节的内存.
所以我的问题是:它会走多远,何时会停止,我可以将其限制在操作系统(使用ulimit)吗?
我正在使用 Spring Boot 并具有以下组件类:
@Component
@ConfigurationProperties(prefix="file")
public class FileManager {
private Path localDirectory;
public void setLocalDirectory(File localDirectory) {
this.localDirectory = localDirectory.toPath();
}
...
}
Run Code Online (Sandbox Code Playgroud)
以及以下 yaml 属性文件:
file:
localDirectory: /var/data/test
Run Code Online (Sandbox Code Playgroud)
我想通过替换为 java.nio.file.Path 来删除 java.io.File(setLocalDirectory)的引用。但是,执行此操作时收到绑定错误。有没有办法将属性绑定到路径(例如,通过使用注释)?
我试图用join()来理解代码流.
public class Multi extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName());
}
}
public static void main(String[] args) {
Thread t1 = new Multi();
Thread t2 = new Multi();
Thread t3 = new Multi();
Thread t4 = new Multi();
t1.start();
try {
t1.join();
} catch (Exception e) {
}
t2.start();
t3.start();
try {
t3.join();
} catch (Exception e) {
}
t4.start();
System.out.println("........" + Thread.currentThread().getName());
t1.setName("A");
t2.setName("B");
t3.setName("C");
t4.setName("D");
} …Run Code Online (Sandbox Code Playgroud) 是否有IntelliJ重构允许自动将枚举转换为类,从而将其枚举值转换为static final字段?
我似乎无法找到任何关于它的东西,我只找到关于提取常量但不是我正在寻找的东西.
例如,我想像这样一个枚举:
public enum Planet {
MERCURY (3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6),
JUPITER (1.9e+27, 7.1492e7),
SATURN (5.688e+26, 6.0268e7),
URANUS (8.686e+25, 2.5559e7),
NEPTUNE (1.024e+26, 2.4746e7);
private final double mass; // in kilograms
private final double radius; // in meters
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
// getters here
}
Run Code Online (Sandbox Code Playgroud)
进入这样一个类:
public class Planet {
public static final Planet MERCURY = new Planet(3.303e+23, 2.4397e6);
public …Run Code Online (Sandbox Code Playgroud) 我有以下容器:
#container {
width: 75%;
margin: 0 auto;
background-color: #FFF;
padding: 20px 40px;
border: solid 1px black;
margin-top: 20px;
}
Run Code Online (Sandbox Code Playgroud)
它是使用nifty:layout Rails生成器生成的.我如何将这个容器内部的内容居中,而不是整个页面?
编辑:很抱歉没有提供进一步的信息:).这就是我想要的中心:
<div id="nav">
<ul>
<% if current_user %>
<li><%= link_to "Sign out",destroy_user_session_path %><span>|</span></li>
<li><%= link_to "New snippet",new_snippet_path %><span>|</span></li>
<% else %>
<li><%= link_to "Login",new_user_session_path %><span>|</span></li>
<li><%= link_to "Register",new_user_registration_path %><span>|</span></li>
<% end %>
<li><%= link_to "Snippets",snippets_path %><span>|</span></li>
<li><%= link_to "Chat",messages_path %></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的CSS:
#nav {
list-style-type:none;
padding:0;
margin:0;
}
#nav li {
display:inline;
}
Run Code Online (Sandbox Code Playgroud)