小编Mic*_*ael的帖子

在Java中获取当前堆栈跟踪

如何在Java中获取当前堆栈跟踪,就像在.NET中一样Environment.StackTrace

顺便说一句,Thread.dumpStack()不是我想要的 - 我想让堆栈追溯,而不是打印出来.

java stack-trace

966
推荐指数
19
解决办法
50万
查看次数

如何在Java 8中将列表列表转换为列表?

如果我有一个List<List<Object>>,我如何List<Object>通过使用Java 8的功能将其转换为包含相同迭代顺序中的所有对象?

java collections java-8

470
推荐指数
8
解决办法
24万
查看次数

364
推荐指数
8
解决办法
51万
查看次数

为什么Java Generics不支持原始类型?

为什么Java中的泛型使用类而不是基本类型?

例如,这工作正常:

List<Integer> foo = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

但这是不允许的:

List<int> bar = new ArrayList<int>();
Run Code Online (Sandbox Code Playgroud)

java generics primitive

222
推荐指数
5
解决办法
7万
查看次数

通过谓词限制流

是否有Java 8流操作限制(可能是无限的)Stream直到第一个元素无法匹配谓词?

在Java 9中,我们可以使用takeWhile下面的示例来打印小于10的所有数字.

IntStream
    .iterate(1, n -> n + 1)
    .takeWhile(n -> n < 10)
    .forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

由于Java 8中没有这样的操作,以一般方式实现它的最佳方法是什么?

java java-8 java-stream

179
推荐指数
9
解决办法
6万
查看次数

Spring Boot配置和使用两个DataSource

我是Spring和Spring Boot的新手.如何配置和使用两个数据源.

例如,这是第一个数据源的内容.

application.properties

#first db
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = oracle.jdbc.OracleDriver

#second db ...
Run Code Online (Sandbox Code Playgroud)

应用类

@SpringBootApplication
public class SampleApplication
{
    public static void main(String[] args) {
        SpringApplication.run(SampleApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何修改application.properties以添加其他数据源?如何将其自动装配以供其他仓库使用?

java spring spring-mvc spring-boot

174
推荐指数
6
解决办法
18万
查看次数

将Java中的两个对象与可能的空值进行比较

我想在Java中比较两个字符串的相等性,当其中一个或两个都可以时null,所以我不能简单地调用.equals().什么是最好的方法?

boolean compare(String str1, String str2) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

编辑:

return ((str1 == str2) || (str1 != null && str1.equals(str2)));
Run Code Online (Sandbox Code Playgroud)

java null equality

162
推荐指数
7
解决办法
15万
查看次数

Java中的合成类

什么是Java中的合成类?为什么要使用它?我怎么用呢?

java class synthetic

138
推荐指数
6
解决办法
5万
查看次数

我应该在Java中使用哪个并发队列实现?

来自JavaDocs:

  • 的ConcurrentLinkedQueue是当许多线程共享访问一个共同的集合一个合适的选择.此队列不允许null元素.
  • ArrayBlockingQueue是一个经典的"有界缓冲区",其中固定大小的数组包含由生产者插入并由消费者提取的元素.此类支持用于排序等待生产者和消费者线程的可选公平策略
  • LinkedBlockingQueue通常具有比基于阵列的队列更高的吞吐量,但在大多数并发应用程序中具有较低的可预测性能.

我有两个场景,一个需要队列支持许多生产者(使用它的线程)与一个消费者,另一个是另一种方式.

我不明白使用哪种实现.有人可以解释一下这些差异是什么吗?

此外,什么是"可选的公平政策" ArrayBlockingQueue

java queue concurrency multithreading

123
推荐指数
3
解决办法
10万
查看次数

我应该使用哪个Java Collection?

在这个问题中如何在C++ 11中有效地选择标准库容器?是一个在选择C++集合时使用的方便流程图.

我认为这对于那些不确定他们应该使用哪个集合的人来说是一个有用的资源,所以我试图找到类似Java的流程图而无法这样做.

什么资源和"备忘单"可以帮助人们选择在Java编程时使用的正确的集合?人们如何知道应该使用哪些List,Set和Map实现?

java algorithm collections arraylist hashmap

121
推荐指数
3
解决办法
4万
查看次数