我最近开始学习Kafka并最终得到这些问题.
Consumer和Stream有什么区别?对我来说,如果任何工具/应用程序消费来自Kafka的消息是Kafka世界中的消费者.
流是如何不同的,因为这也消耗或产生消息给卡夫卡?为什么需要它,因为我们可以使用Consumer API编写我们自己的消费者应用程序并根据需要处理它们或将它们从消费者应用程序发送到Spark?
我对此做了谷歌,但没有得到任何好的答案.对不起,如果这个问题太琐碎了.
我一直在阅读关于这个主题的大量博客,但我仍然无法清楚地知道何时使用另一个散列集或树集.
举一个例子:
我有一个类似的对象.我把它们放在HashSet中.现在当(只在我想要的时候)我想设置基于compareTo逻辑进行排序时,我可以调用Collections.sort(object)
而TreeSet的默认一直使用的compareTo或比较(OBJ1,OBJ2)所有的时间.因此,TreeSet会遇到性能,但输出与#1(Collections.sort)相同.
这种理解是否正确?
Spring bean生命周期中有许多初始化选项.
init-method,PostConstruct注释,afterPropertiesSet,Bean 后初始化甚至是类构造函数.所有这些都可以用于初始化bean.
我很困惑何时使用其中一个.此外,有没有我们可能需要在一个Bean中使用所有这些选项?如果是,请举例说明.
真的很期待得到一些很好的答案.
据我所知,春天引导有很多@Conditional像注释,@ConditionalOnBean,@ConditionalOnClass,@ConditionalOnProperty,ConditionalOnWebApplication.但我不知道这是怎么回事?
例如:
@Configuration
@ConditionalOnClass(MyBean.class)
public class MyConfiguration{
// omitted
}
Run Code Online (Sandbox Code Playgroud)
我理解的是,MyConfiguration只有MyBean在我的类路径中可用时才会加载.但是,如果MyBean类不在我的类路径中,当编译器到达@ConditionalOnClass(MyBean.class)行时,它将如何编译和运行,不会抛出编译器错误?一旦我在我的eclipse中添加这样的代码,我就会遇到编译时错误.对不起,如果这是一个非常基本的问题,但我不知道我错过了什么.
我有一个产品,用户可以通过它创建信息说用户详细信息,员工详细信息等.此产品/ Web应用程序主要是在Spring和hibernate中开发的.
现在,当我将产品销售给公司时,他们正在寻找批量加载工具来加载说用户和公司.
在这种情况下,我可以选择Spring批次(从未使用春季批次但是听说过它)?因为我已经在我的应用程序中使用了Spring,所以我也可以使用相同的编码和业务逻辑实现进行批量加载.
或者我应该选择像Pentaho或informatica这样的ETL工具?在这种情况下,我需要复制我的编码和业务逻辑实现以与Pentaho或informatica一起使用.如果我要更改核心产品中的任何逻辑,那么我也必须在这里制作它.
哪种方法最好,最好的方法呢?
我的想法是haing excel文件,它将包含用户和公司列表,Spring批处理或Pentaho Kettle将把它作为输入并处理数据并将其存储在DB中并告诉用户提交了多少记录,获得了成功并且失败了.
请建议哪种方法好,为什么?
Set如果尝试复制现有元素,则维护唯一记录并更新现有记录。
考虑以下两种情况。您认为两者之间哪一个代码更快、更高效?
场景 1:使用 addAll()
Set<String> uniqueSet = new HashSet<String>();
uniqueSet = getSomedata(param1);
uniqueSet.addAll( getSomedata(param2) );
Run Code Online (Sandbox Code Playgroud)
这里getSomedata()只是返回数据的集合,该方法中没有特殊的逻辑。
场景 2:使用 add()
Set<String> uniqueSet = new HashSet<String>();
getSomedata(param1, uniqueSet);
getSomedata(param2, uniqueSet );
Run Code Online (Sandbox Code Playgroud)
这getSomedata()是如下
void getSomedata(String param, Set<String> uniqueSet){
while (someCollection.hasNext()){
uniqueSet.add( someCollection.get() );
}
}
Run Code Online (Sandbox Code Playgroud) java ×4
collections ×2
spring ×2
apache-kafka ×1
architecture ×1
etl ×1
set ×1
spring-batch ×1
spring-boot ×1