草庐IT

Streaming模式

全部标签

java - 使用 getPathMatcher 的全局模式

从用于OCP考试的“KathySierraBertBates”一书中我找到了以下代码publicclassFileTest{publicstaticvoidmatches(Pathpath,Stringglob){PathMatchermatcher=FileSystems.getDefault().getPathMatcher(glob);System.out.println(matcher.matches(path));}publicstaticvoidmain(String[]args)throwsIOException{Pathpath=Paths.get("/com/java

java - 导致冲突的位模式的什么属性?

我正在阅读有关Java随机化哈希键的方法here显然,这个想法是为了确保低位是“随机的”以帮助分发,但我正在尝试更多地了解这一点。所以如果我们有一个大小为10的表,那么数字0、10、20、30、40等都落在桶0中,数字1、11、21、31等落在桶1中等(使用模10)。因此,更改位模式可以使它们进入不同的存储桶,而不是全部进入存储桶0。但是我不清楚的是,是什么属性使低位位影响了这一点,我们需要将它们随机化。所以我们有:00000000(0)00001010(10)00010100(20)00011110(30)00101000(40)低位有什么规律使它们放在同一个槽位?也许我对以下内容感

java - HashMap 作为 Spark Streaming 中的广播变量?

我有一些数据需要在sparkstreaming中分类。分类键值在程序开始时加载到HashMap中。因此,每个传入的数据包都需要与这些key进行比较并进行相应标记。我意识到spark有称为广播变量和累加器的变量来分发对象。教程中的示例使用简单的变量,例如etc。如何使用HashMap在所有sparkworker上共享我的HashMap。或者,是否有更好的方法来执行此操作?我正在用Java编写我的SparkStreaming应用程序。 最佳答案 在spark中,您可以用相同的方式广播任何可序列化的对象。这是最好的方法,因为您只需将数据发

java - 是否可以基于Java中的两个子模式构建一个模式

Patternp1=Pattern.compile(".................");Patternp2=Pattern.compile("xxxxxxxxxxxxxxxxxxx");由于p1和p2都很长,很难编写一个模式来涵盖p1和p2中的所有情况。是否可以编写另一个基于p1和p2的模式p3,以便我只能运行一个匹配器:Matcherm=p3.matcher(str); 最佳答案 您可以使用它来组合模式:Patternpattern=Pattern.compile(".................|xxxxxxxxxxx

java - 参数化策略模式

我有几个实现策略模式的Java类。每个类都有不同类型的可变数量参数:interfaceStrategy{publicdataexecute(data);}classStrategyAimplementsStrategy{publicdataexecute(data);}classStrategyBimplementsStrategy{publicStrategyB(intparamA,intparamB);publicdataexecute(data);}classStrategyCimplementsStrategy{publicStrategyC(intparamA,Stringp

java - 在工作线程中阻塞 Java Swing 用户的模式

正如大多数Java程序员所知,对SwingGUI的更新应该只在AWT事件调度线程上完成,建议长时间运行的进程在“工作”线程上执行,更新发送到事件调度线程使用SwingUtilities.invokeAndWait()或SwingUtilities.invokeLater()。当长时间运行的进程完成时,您如何阻止用户继续使用应用程序?您是否将控件灰显,然后让工作线程使用上面提到的SwingUtilities调用重新启用它们?是否有更好的替代模式? 最佳答案 我会考虑3种解决方案:禁用面板的组件:这通常是我所做的。不幸的是,Swing没

java - java.util.Iterator 的实现是否使用状态模式?

我只是在寻找一个合理的答案如何实现java.util.Iterator正在进入状态设计模式编辑请引用以下链接ExamplesofGoFDesignPatternsinJava'scorelibraries 最佳答案 那个,我不确定。据我所知,它是IteratorDesignPattern的一个实现。.但是,可以错误地认为它使用了StatePattern,因为调用next()会影响Iterator的状态目的。但是,IMO,它并不是真正的StatePattern实现,因为它不会更改必须执行操作的基础对象。维基百科有一个很好的Java示例

当模式来自类路径时,Java XML 验证不起作用

我正在根据模式验证XML文档。一些更复杂的文档/模式在尝试使用此代码验证它们时总是失败:DocumentBuilderFactorydbfac=DocumentBuilderFactory.newInstance();dbfac.setNamespaceAware(true);dbfac.setIgnoringElementContentWhitespace(true);DocumentBuilderdocBuilder=dbfac.newDocumentBuilder();Documentdoc=docBuilder.parse("sampleResponse.xml");Schem

java - 在运行时通过加载模式验证 XML,失败取决于模式顺序

我正在尝试进行xml验证。我在运行时得到了一个模式列表(可能包装在一个jar里)。验证通过或失败取决于我向SchemaFactory提供模式的顺序。这是我正在做的:privatevoidvalidateXml(Stringxml,Listschemas){Source[]source=newStreamSource[schemas.size()];inti=0;for(URIf:schemas){source[i++]=newStreamSource(f.openStream());}SchemaFactorysf=SchemaFactory.newInstance(XMLConsta

Java构造函数模式

我经常使用这个模式:classBlahinta;doubleb;Stringc;Dated;publicBlah(inta,doubleb,Stringc,Dated){super();//possiblythis.a=a;this.b=b;this.c=c;this.d=d;}对于如此简单的事情,这确实是大量的样板文件。我在想一个通用的对象工厂来通过内省(introspection)来做到这一点,但这感觉非常邪恶(特殊情况、继承和速度问题)。可以使用Guice并完全跳过构造函数,但是手动创建对象会很丑陋。这是我必须在Java中忍受的东西,还是有办法避免这种样板文件?