Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

5
Java中评估顺序的规则是什么?
我正在阅读一些Java文本,并获得以下代码: int[] a = {4,4}; int b = 1; a[b] = b = 0; 在本文中,作者没有给出明确的解释,最后一行的效果是: a[1] = 0; 我不确定自己是否理解:评估是如何发生的?

26
在Java中获取集合的幂集
的幂集{1, 2, 3}是: {{}, {2}, {3}, {2, 3}, {1, 2}, {1, 3}, {1, 2, 3}, {1}} 假设我有一个SetJava语言: Set<Integer> mySet = new HashSet<Integer>(); mySet.add(1); mySet.add(2); mySet.add(3); Set<Set<Integer>> powerSet = getPowerset(mySet); 如何编写具有最佳可能复杂度的函数getPowerset?(我认为可能是O(2 ^ n)。)
86 java  algorithm  set  powerset 




5
等效静态方法和非静态方法的速度差异很大
在此代码中,当我在main方法中创建一个Object并调用该对象方法:(ff.twentyDivCount(i)运行于16010毫秒)时,它的运行速度比使用此批注:(twentyDivCount(i)运行在59516毫秒中)调用它快得多。当然,当我在不创建对象的情况下运行它时,会将方法设为静态,因此可以在主方法中调用它。 public class ProblemFive { // Counts the number of numbers that the entry is evenly divisible by, as max is 20 int twentyDivCount(int a) { // Change to static int.... when using it directly int count = 0; for (int i = 1; i<21; i++) { if (a % …


5
设置套接字操作超时
创建套接字时: Socket socket = new Socket(ipAddress, port); 因为IP地址不可用,它会引发一个异常,这是可以的。(测试变量whereString ipAddress = "192.168.0.3"和int port = 300。) 问题是:如何将该套接字设置为超时? 创建套接字时,如何减少获取aUnknownHostException并使套接字超时之前的时间?
86 java  sockets 

13
编写一个肯定会陷入僵局的程序[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我最近在一次采访中提出了这个问题。 我回答说,如果交织出错,就会发生死锁,但是访调员坚持认为,可以编写一个无论交织而总是陷入死锁的程序。 我们可以编写这样的程序吗?您能指出我这样的示例程序吗?

15
在Java中将final用于变量会改善垃圾回收吗?
今天,我和我的同事们讨论了如何final在Java中使用关键字来改善垃圾回收。 例如,如果您编写如下方法: public Double doCalc(final Double value) { final Double maxWeight = 1000.0; final Double totalWeight = maxWeight * value; return totalWeight; } final在方法退出后,在方法中声明变量将有助于垃圾回收从方法中未使用的变量中清除内存。 这是真的?

6
继承与递归
假设我们有以下类: class A { void recursive(int i) { System.out.println("A.recursive(" + i + ")"); if (i > 0) { recursive(i - 1); } } } class B extends A { void recursive(int i) { System.out.println("B.recursive(" + i + ")"); super.recursive(i + 1); } } 现在让我们打电话给recursiveA类: public class Demo { public static …


3
为什么在静态初始化程序中使用lambda进行并行流会导致死锁?
我遇到了一个奇怪的情况,在静态初始化程序中使用带有lambda的并行流似乎永远没有CPU使用率。这是代码: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } 这似乎是此行为的最小再现测试用例。如果我: 将块放入main方法而不是静态初始化程序中, 删除并行化,或 删除lambda, 代码立即完成。谁能解释这种行为?它是错误还是故意的? 我正在使用1.8.0_66-内部的OpenJDK版本。

4
什么是ReservedCodeCacheSize和InitialCodeCacheSize?
有人能说明一下JVM选项是什么ReservedCodeCacheSize和InitialCodeCacheSize是谁?具体来说,何时/为什么要更改?如何确定合适的尺寸? 这就是文档所说的: -XX:ReservedCodeCacheSize = 32m保留的代码缓存大小(以字节为单位)-最大代码缓存大小。[Solaris 64位,amd64和-server x86:2048m;在1.5.0_06和更早版本中,Solaris 64位和and64:1024m。]
86 java  jvm  jvm-hotspot 

2
正则表达式:什么是InCombiningDiacriticalMarks?
以下代码是众所周知的将重音符转换为纯文本的代码: Normalizer.normalize(text, Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", ""); 我用这种方法代替了“手工制作”方法,但是我需要了解replaceAll的“ regex”部分 1)什么是“ InCombiningDiacriticalMarks”? 2)它的文档在哪里?(和类似的?) 谢谢。
86 java  regex  unicode 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.