Questions tagged «java»

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

10
多种主要功能
我对此有些陌生,请耐心等待。我目前正在学习C#和Java,它们的相似之处之一是主要功能需要封装在一个类中。例如 public class HelloWorld { public static void main(String[] args) { // Some Code } } 现在我了解到主程序通常是运行程序时的“入口点”。因此,基本上,您的程序将在主要功能所在的地方开始执行。但是我相信在两种语言中,您都可以在多个类中具有多个主要功能。因此,当我编译具有多个主要功能的项目时,“入口点”在哪里?编译器如何知道从哪里开始?
69 c#  java  main 

7
Java中的稀疏矩阵/数组
我正在开发一个用Java编写的项目,该项目要求我建立一个非常大的2-D稀疏数组。非常稀疏,如果有所作为。无论如何:此应用程序最关键的方面是时间效率(假定内存负载,尽管不是无限的以至于我无法使用标准的二维数组-关键范围在两个维度上都在数十亿之内) )。 在数组的千亿个单元中,将有数十万个单元包含一个对象。我需要能够非常快速地修改单元格内容。 无论如何:有人知道为此目的特别好的图书馆吗?它必须是伯克利,LGPL或类似的许可证(没有GPL,因为该产品不能完全开源)。或者,如果只有一种非常简单的方法来制作自制的稀疏数组对象,那也可以。 我正在考虑MTJ,但尚未听到有关其质量的任何意见。


10
从集合中选择随机子集的最佳方法?
我在Vector中有一组对象,我想从中选择一个随机子集(例如,返回100个项目;随机选择5个)。在我的第一遍(非常仓促)中,我做了一个非常简单甚至过于聪明的解决方案: Vector itemsVector = getItems(); Collections.shuffle(itemsVector); itemsVector.setSize(5); 尽管这样做的好处是简单易用,但我怀疑它的伸缩性不会很好,即Collections.shuffle()至少必须为O(n)。我不太聪明的选择是 Vector itemsVector = getItems(); Random rand = new Random(System.currentTimeMillis()); // would make this static to the class List subsetList = new ArrayList(5); for (int i = 0; i < 5; i++) { // be sure to use Vector.remove() or you may get …

10
无法在分离视图上启动此动画制作器!揭示效果
我正在尝试在应用程序中创建显示效果,但没有成功。我想要的是打开片段时显示Cardview。到目前为止,我尝试过的是: private void toggleInformationView(View view) { infoContainer = view.findViewById(R.id.contact_card); int cx = (view.getLeft() + view.getRight()) / 2; int cy = (view.getTop() + view.getBottom()) / 2; float radius = Math.max(infoContainer.getWidth(), infoContainer.getHeight()) * 2.0f; if (infoContainer.getVisibility() == View.INVISIBLE) { infoContainer.setVisibility(View.VISIBLE); ViewAnimationUtils.createCircularReveal(infoContainer, cx, cy, 0, radius).start(); } else { Animator reveal = ViewAnimationUtils.createCircularReveal( …

4
Java中的内存流
我正在寻找Java中的内存流实现。该实现应在.NET内存流实现之后大致建模。 基本上,我想拥有一个MemoryStream必须使用工厂方法的类: class MemoryStream { MemoryInput createInput(); MemoryOutput createOutput(); } class MemoryInput extends InputStream { long position(); void seek(long pos); } class MemoryOutput extends OutputStream { long position(); void seek(long pos); } 因此,一旦有了该类的实例,MemoryStream我就应该能够并发地同时创建输入和输出流,这也应该允许在任何方向上定位。内存流不必是循环的,它应该可以很好地用于小尺寸并自动增长。内存流仅需要限制在一个进程中。 有没有可用的现成代码?
69 java  memory  stream  seek 

5
条件与等待通知机制
与传统的等待通知机制相比,使用Condition接口/实现的优点是什么?在这里,我引用道格·李(Doug Lea)的评论: 条件将对象监视方法(wait,notify和notifyAll)分解为不同的对象,从而通过与任意Lock实现结合使用,从而使每个对象具有多个等待集。如果Lock替换了同步方法和语句的使用,而Condition替换了Object监视方法的使用。 我看到这是实现等待/通知机制的一种更面向对象的方式。但是,与前者相比有没有明显的优势?

4
Java的WeakHashMap和缓存:为什么引用键而不是值?
Java的WeakHashMap通常被认为对缓存有用。尽管其弱引用是根据地图的键而不是其值定义的,但这似乎很奇怪。我的意思是,这是我要缓存的值,而一旦缓存中没有其他人强烈引用它们,我想获取垃圾回收值,不是吗? 以哪种方式保留对键的弱引用?如果执行a ExpensiveObject o = weakHashMap.get("some_key"),那么我希望高速缓存保持在'o'状态,直到调用者不再拥有强引用为止,并且我根本不在乎字符串对象“ some_key”。 我想念什么吗?

6
Java泛型:多个泛型参数?
我想知道是否可以编写一个可以接受多种通用类型的函数,如下所示: public int void myfunction(Set<T> a, Set<T> b) { return 5; } Set<Integer> setA = new HashSet<Integer>(); Set<String> setB = new HashSet<String>(); int result = myfunction(setA, setB); 那行得通吗?每个参数中的泛型是否意味着每个参数必须具有与泛型相同的类型T?

6
使用Java 8 Clock对类进行单元测试
引入了Java 8 java.time.Clock,可以将其用作许多其他java.time对象的参数,从而使您可以向其中注入真实或虚假的时钟。例如,我知道您可以创建一个Clock.fixed()然后调用Instant.now(clock),它将返回Instant您提供的固定内容。这听起来很适合单元测试! 但是,我很难弄清楚如何最好地使用它。我有一个课,类似于以下内容: public class MyClass { private Clock clock = Clock.systemUTC(); public void method1() { Instant now = Instant.now(clock); // Do something with 'now' } } 现在,我要对该代码进行单元测试。我需要能够设置clock固定的时间,以便可以method()在不同的时间进行测试。显然,我可以使用反射将clock成员设置为特定值,但是如果我不必求助于反射,那就太好了。我可以创建一个公共setClock()方法,但这感觉不对。我不想Clock在方法中添加参数,因为真正的代码不必关心传递时钟。 处理此问题的最佳方法是什么?这是新代码,因此我可以重新组织该类。 编辑:为澄清起见,我需要能够构造一个MyClass对象,但必须能够使一个对象看到两个不同的时钟值(好像是常规系统时钟一样)。因此,我无法将固定时钟传递给构造函数。

4
方法参数扩展类实现接口
我有以下类和接口: public class BasicObject{...} public interface CodeObject{...} 我想创建一个方法,其中参数需要为BasicObject类型并实现CodeObject。我尝试了以下代码,但不能保证clazz是实现CodeObject的类。 myMethod(Class<? extends BasicObject> clazz){...} 我想做这样的事情,但它不能编译: myMethod(Class<? extends BasicObject implements CodeObject> clazz){...}
69 java 

2
比较两张地图
我有两个地图声明为Map<String, Object>。在Object这里可以是另一个Map<String, Object>(依此类推)。我想检查两个地图是否完全相同,但不知道其深度。除了使用递归,我还可以比较toString()每个地图上被调用的输出吗?还是有比较简单的方法比较地图?
69 java  dictionary 


5
如何在Android上调出可用通知音的列表
我正在Android应用程序中创建通知,并且希望在我的首选项中有一个选项可以设置用于通知的声音。我知道在“设置”应用程序中,您可以从列表中选择默认的通知声音。该列表从何而来,有没有办法让我在我的应用程序中显示相同的列表?


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.