我正在尝试使用printf语句在java中格式化,如在此网页中:单击此处.但我无法弄清楚$ sign的目的是什么.有人可以向我解释一下吗?
输入:
java 100
cpp 65
python 50
Run Code Online (Sandbox Code Playgroud)
预期输出:(应该有一个空格而不是_)
================================
java___________100
cpp___________065
python_________050
================================
Run Code Online (Sandbox Code Playgroud)
我的代码:
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("================================");
for(int i=0;i<3;i++)
{
String s1=sc.next();
int x=sc.nextInt();
System.out.printf(s1 + "%03d", x);
System.out.println();
}
System.out.println("================================");
}
}
Run Code Online (Sandbox Code Playgroud) 我正在读这个教程
并且有这条线:
grep da * 2> grep-errors.txt
Run Code Online (Sandbox Code Playgroud)
这太神秘了,作者没有分解语法.
假设System.identityHashCode(object1)==123和object1被垃圾收集。新创建的对象是否可能具有与 GC 之前object2相同的身份哈希码?object1
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class MainProgram {
public static void main(String[] args ) throws IOException{
String seconds = " ";
Scanner sc2 = null;
try {
sc2 = new Scanner(new File("/Users/mohammadmuntasir/Downloads/customersfile.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
boolean first = true;
while (sc2.hasNextLine()) {
Scanner s2 = new Scanner(sc2.nextLine());
while (s2.hasNext()) {
String s = s2.next();
if (first == true){
seconds = s;
first = false;
}
}
}
System.out.println(Integer.parseInt(seconds)); // causes ERROR?
} …Run Code Online (Sandbox Code Playgroud) 我使用 spring-boot 开发了一个应用程序,我需要读取一个包含电子邮件的 csv 文件。
这是我如何做的一个片段:
public Set<String> readFile() {
Set<String> setOfEmails = new HashSet<String>();
try {
ClassPathResource cl = new ClassPathResource("myFile.csv");
File file = cl.getFile();
Stream<String> stream = Files.lines(Paths.get(file.getPath()));
setOfEmails = stream.collect(Collectors.toSet());
} catch (IOException e) {
logger.error("file error " + e.getMessage());
}
return setOfEmails;
}
Run Code Online (Sandbox Code Playgroud)
当我使用 eclipse 执行应用程序时它有效:run As --> spring-boot app
但是当我将 jar 放入容器 docker 时,方法 readFile() 返回一个空集。
我使用 gradle 来构建应用程序
你有什么想法吗?
静态变量存储在哪里?据我所知,在 Java 7 中它是 PermGen。但是 java 8 迁移到了 MetaSpace。那么它们是存储在 MetaSpace 中还是存在其他位置?
我一直对此感到好奇,因为压缩几乎用于所有事物。
典型的现代CPU芯片的硅片上是否有任何基本的压缩支持说明?
如果没有,为什么不包括在内?
为什么这与加密不同?在加密中,某些CPU对AES等算法具有硬件支持?
假设我们有三个这样的方法。它们都做同样的事情,但它们在内存分配和效率方面有何不同?方法一会在每次调用期间创建 Function 的实例,但第二个方法会这样做吗?应该始终使用第三个版本还是其中一个版本是安全的并且 JIT 编译器会负责内存优化?
class Test {
Map<String, Set<String>> mapOfSets = new HashMap<>();
static final Function<String, Set<String>> FUNCTION = s -> new HashSet<>();
void method1(String key, String value) {
Function<String, Set<String>> func = s -> new HashSet<>();
mapOfSets.computeIfAbsent(key, func).add(value);
}
void method2(String key, String value) {
mapOfSets.computeIfAbsent(key, s -> new HashSet<>()).add(value);
}
void method3(String key, String value) {
mapOfSets.computeIfAbsent(key, FUNCTION).add(value);
}
}
Run Code Online (Sandbox Code Playgroud) 所以我正在阅读泛型和函数式接口。显示了两种方法 - 使用 Lambda,使用方法引用。使用了以下示例:
Predicate<String> ref = String::isEmpty;
Run Code Online (Sandbox Code Playgroud)
Java 使用在运行时提供的参数作为调用 isEmpty 的实例。这是允许的,因为 isEmpty() 是 String 类中的一个实例方法并且不带任何参数。
我的问题是,当我使用以下代码行时,为什么会显示编译错误:
Supplier<Integer> ref2 = Random::nextInt;
Run Code Online (Sandbox Code Playgroud)
毕竟 nextInt() 是 Random 类中的实例方法,就像 String 类中的 isEmpty() 一样,它也不带参数。
我正在尝试用 Python 重写以下代码。原始代码是使用sjcl库用 Javascript 编写的。
// Inputs
var serverPubX = "WIUBDotrk02Rk/apL11jQPbmX0quyaYz2EIkGUlVf7s=";
var serverPubY = "diZ2CbfSUy5Kr82OIfd4Ajusq2K+/kjGZ7ymcqVwn2k=";
// The code
var serverPubXBits = sjcl.codec.base64.toBits(serverPubX);
var serverPubYBits = sjcl.codec.base64.toBits(serverPubY);
var serverPubKeyPointBits = serverPubXBits.concat(serverPubYBits);
var serverPubKey = new sjcl.ecc.elGamal.publicKey(
sjcl.ecc.curves.c256, serverPubKeyPointBits);
var clientKeys = sjcl.ecc.elGamal.generateKeys(256, 1);
// What I need:
var sharedKey = clientKeys.sec.dhJavaEc(serverPubKey);
Run Code Online (Sandbox Code Playgroud)
我的主要问题是dhJavaEc功能。根据 sjcl 文档,它是Java 兼容的 Diffie-Hellmann 函数。但是我在 pycryptodome 库中找不到任何等效的东西。
我检查了dhJavaEc代码这是它的作用:
// Looks like it converts the server key to Jacobian and then multiply …Run Code Online (Sandbox Code Playgroud) java ×7
java-8 ×2
bash ×1
cryptography ×1
docker ×1
gradle ×1
grep ×1
hashcode ×1
instructions ×1
jvm ×1
metaspace ×1
parseint ×1
printf ×1
python ×1
spring-boot ×1
static ×1
system.out ×1