我已经阅读了关于将Scala代码转换为Java代码的问题的答案.它说:
我不认为将scala转换回标准java是可能的,因为Scala做了一些相当低级别的字节码操作.我90%肯定他们做了一些不能完全转换回普通Java代码的东西.
那么Scala语句或代码可以产生无法转换为java的字节码?
PS我通常同意这个答案,但想要一个具体的例子用于学习目的.
有一个选项Optimize imports on fly(Editor-> General-> AutoImport)可以删除未使用的导入.但是当创建一个Test类时,Intellij的想法会添加import static org.junit.Assert.*;它.但是当文件被保存(刚刚添加)后,它会删除此导入.有没有办法设置IntelliJ的想法,以防止这种情况,但保持Optimize imports on fly启用?
考虑一个代码:
private WebClient webClient;
public void some(MyObject myObject) {
return webClient.post()
.uri("/log/my-path")
.body(BodyInserters.fromObject(myObject))
.retrieve()
.bodyToMono(Void.class)
.subscribeOn(Schedulers.single());
}
Run Code Online (Sandbox Code Playgroud)
当响应“出现”然后完成时,此代码“等待”。(例如retrieve()被调用)。但如何不等待响应?例如,我提出请求并返回Mono.empty而不等待响应。怎么做?
PS发送请求而不等待响应的技术称为“即发即忘”。
更新
then都不起作用。因为他们在调用之后 bodyToMono“等待”直到 http 响应到来。例如,在bodyToMono完成之前不会调用任何(事件异步)。return语句也不起作用。可能在某些main功能中有效,但在 Spring 应用程序中无效。这不起作用,因为Mono在这种情况下刚刚创建,但没有人运行它。任何Mono诸如此类的方法map, flatMap只是功能“设置”,而不是 Mono 运行。我正在尝试选择date_trunc值:
\n\nselect date_trunc(HOUR, current_date - interval \'1\' hour);\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nselect date_trunc(HOUR, current_date);\nRun Code Online (Sandbox Code Playgroud)\n\n并得到错误:
\n\n[42703] ERROR: column "hour" does not exist \xd0\x9f\xd0\xbe\xd0\xb7\xd0\xb8\xd1\x86\xd0\xb8\xd1\x8f: 19\nRun Code Online (Sandbox Code Playgroud)\n 我已阅读有关Maven的并行构建配置此。那么如何显示所有非线程安全插件呢?Maven 中是否有类似“plugin-not-safe-list”的命令?
REM something like that to display all p[lugins without @threadSafe annotation
mvn help:plugin-not-safe-list
Run Code Online (Sandbox Code Playgroud) 我在一个JVM中使用HelloActor启动了akka系统,并尝试从另一个JVM中的客户端向其发送消息.什么都行不通.我应该如何正确地做到这一点?这是代码:
简单服务器
package akkaSample.severalSystems
import akka.actor.{Props, Actor, ActorSystem}
import com.typesafe.config.ConfigFactory
class HelloActor extends Actor {
override def preStart(): Unit = {
println("Hello actor started")
}
def receive = {
case "mew" => println("I said mew")
case "hello" => println("hello back at you")
case "shutdown" => context.stop(self)
case _ => println("huh?")
}
}
object Server extends App {
val root = ConfigFactory.load()
val one = root.getConfig("systemOne")
val system = ActorSystem("HelloSystem", one)
val helloActor = system.actorOf(Props[HelloActor], "HelloActor")
println (system)
println("Remote application started.") …Run Code Online (Sandbox Code Playgroud) 乍一看,只需将集合转换为数组并将其传递给方法,但这不起作用:
val toTypedArray = Arrays.asList("a", "b").toTypedArray()
Paths.get("", toTypedArray) // <- compilation error here
Run Code Online (Sandbox Code Playgroud)
没有解决方法???