我希望在Java编译后保留接口方法的参数名称.
以下是一个例子.
编译之前:
interface IFoo {
void hello(String what);
}
Run Code Online (Sandbox Code Playgroud)
编译后使用 javac -g:vars IFoo.java
interface IFoo {
void hello(String str);
}
Run Code Online (Sandbox Code Playgroud)
该参数what重命名为str.
我怎样才能保留参数名称?
我想将JPEG压缩到固定的文件大小(20480字节)。这是我的代码:
package io.github.baijifeilong.jpeg;
import lombok.SneakyThrows;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
import javax.imageio.stream.FileImageOutputStream;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
/**
* Created by BaiJiFeiLong@gmail.com at 2019/10/9 ??11:26
*/
public class JpegApp {
@SneakyThrows
public static void main(String[] args) {
BufferedImage inImage = ImageIO.read(new File("demo.jpg"));
BufferedImage outImage = new BufferedImage(143, 143, BufferedImage.TYPE_INT_RGB);
outImage.getGraphics().drawImage(inImage.getScaledInstance(143, 143, Image.SCALE_SMOOTH), 0, 0, null);
JPEGImageWriteParam jpegParams = new JPEGImageWriteParam(null);
jpegParams.setCompressionMode(ImageWriteParam.MODE_DISABLED);
ImageWriter imageWriter = ImageIO.getImageWritersByFormatName("jpg").next();
imageWriter.setOutput(new FileImageOutputStream(new File("demo-xxx.jpg")));
imageWriter.write(null, new IIOImage(outImage, null, null), jpegParams); …Run Code Online (Sandbox Code Playgroud) 当一个线程是 时RUNNABLE,它可以运行,也可以不运行。有没有办法区分java.lang.Thread.State#RUNNABLE?
Java 文档中线程的所有状态:
java.lang 公共类 Thread.State
扩展枚举
线程状态。线程可以处于以下状态之一:
NEW 尚未启动的线程处于此状态。
RUNNABLE 在 Java 虚拟机中执行的线程处于此状态。
BLOCKED 被阻塞等待监视器锁的线程处于这种状态。
WAITING 无限期等待另一个线程执行特定操作的线程处于此状态。
TIMED_WAITING 一个线程正在等待另一个线程执行操作达指定的等待时间,处于此状态。
TERMINATED 已退出的线程处于此状态。
一个线程在给定的时间点只能处于一种状态。这些状态是不反映任何操作系统线程状态的虚拟机状态。
package bj.thread;
public class ThreadApp2 {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getState());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
RUNNABLE
Run Code Online (Sandbox Code Playgroud) 当我运行时brew services start mosquitto,该服务并未真正启动。使用时brew services list,服务的started状态为黄色。我想知道为什么该服务启动失败,怎么办?