草庐IT

disruptor-pattern

全部标签

java - 从 LinkedBlockingQueue 迁移到 LMAX 的 Disruptor

是否有从标准LinkedBlockingQueue迁移的一些示例代码至LMAX'Disruptor建筑学?我有一个可能会从更改中受益的事件处理应用程序(单个生产者、多个消费者)。当我的目标是最大化吞吐量而不是最小化延迟时,它甚至有意义吗? 最佳答案 Mentaqueue基于相同的想法提供单一生产者单一消费者队列-http://mentaqueue.soliveirajr.com/Page.mtw,您可以检查代码,尽管我自己从未使用过它。开箱即用的Disruptor在这里提供了两种技术-我不会深入探讨代码,但如果您需要,可以这样做。它

java - Pattern.asPredicate 中的错误?

给定以下字符串列表:ListprogLangs=Arrays.asList("c#","java","python","scala");和一个应该匹配4个字母的小写字符串的正则表达式模式。Patternp=Pattern.compile("[a-z]{4}");现在我想找到适合模式p的progLangs元素。老办法:for(Stringlang:progLangs){if(p.matcher(lang).matches()){System.out.println(lang);}}我得到了预期的结果:java但是当我尝试使用Java8流实现相同的目的并使用Pattern.asPredic

Java - 解析字符串 - String.split() 与 Pattern 和 Matcher

给定一个包含表示专有名词和类别/描述对的逗号分隔列表的字符串,使用String.split()与Pattern&Matcher方法查找特定专有名词并提取相关类别的优缺点是什么/描述对?haystack字符串格式不会改变。它将始终包含以下形式的逗号分隔数据PROPER_NOUN|类别/描述两种方法的共同变量:Stringhaystack="EARTH|PLANET/COMFORTABLE,MARS|PLANET/HARDTOBREATHE,PLUTO|DWARF_PLANET/FARAWAY";Stringneedle="PLUTO";Stringresult=null;使用String

java 比较两个 Pattern 对象

有没有一种简单的方法来比较两个Pattern对象?我有一个Pattern,它使用正则表达式"//"编译以检查代码中的注释。由于有几种正则表达式来描述评论,我想找到一种方法来区分它们。如何实现?Pattern类没有实现equals方法。 最佳答案 您可以通过比较调用pattern()或toString的结果来比较Pattern对象,但这并不能满足您的要求(如果我正确理解你的问题)。具体来说,这会比较传递给Pattern.compile(...)工厂方法的字符串。但是,这没有考虑单独传递给模式字符串的标志。没有简单的方法可以测试两个不同

java 正则表达式 : find pattern of 1 or more numbers followed by a single

我遇到了Java正则表达式问题。如何找到1个或多个数字后跟单个.在一个字符串中? 最佳答案 "^[\\d]+[\\.]$"^=startofstring[\\d]=anydigit+=1ormoreocurrences\\.=escapeddotchar$=endofstring 关于java正则表达式:findpatternof1ormorenumbersfollowedbyasingle,我们在StackOverflow上找到一个类似的问题: https:

java - Splitter 在简单的 Pattern 上爆炸

我刚开始用Guava代替GoogleCollection。Splitter类看起来很酷。但是当我使用它时,就像这样:privatestaticfinalPatternp=Pattern.compile("+");privatestaticfinalSplitterusSplitter=Splitter.on(p).trimResults();我得到一个堆栈转储:java.lang.NoSuchMethodError:com.google.common.base.Platform.precomputeCharMatcher(Lcom/google/common/base/CharMatc

java - Pattern.split 比 String.split 慢

有两种方法:privatestaticvoidnormalSplit(Stringbase){base.split("\\.");}privatestaticfinalPatternp=Pattern.compile("\\.");privatestaticvoidpatternSplit(Stringbase){//usethestaticfieldabovep.split(base);}然后我在main方法中像这样测试它们:publicstaticvoidmain(String[]args)throwsException{longstart=System.currentTimeMi

java - pattern() 与 Pattern 类中的 toString()

Pattern类中的pattern()方法和toString()方法有什么区别?文档说:publicStringpattern()Returnstheregularexpressionfromwhichthispatternwascompiled.publicStringtoString()Returnsthestringrepresentationofthispattern.Thisistheregularexpressionfromwhichthispatternwascompiled.即使他们的实现也返回相同的结果:importjava.util.regex.*;classTes

java - 无法映射正则表达式 - java.lang.IllegalArgumentException : The number of capturing groups in the pattern segment

我在我的Controller中定义了以下方法:@RequestMapping(value="/ajax/comments/post/{contentId:([apv]|ad)\\d+}")public@ResponseBodyActionResulthandlePostCommentRequest(HttpServletRequestrequest,Modelmodel,@PathVariable("contentId")StringassetId,@RequestParam(value="nickName",required=false,defaultValue="Anonyymi"

java - Java : pattern or anti-pattern? synchronized 的混淆使用

我正在对不属于我的Java产品进行代码审查。我不是Java专家,但我强烈怀疑这是毫无意义的,并且表明对同步工作原理存在根本性的误解。synchronized(this){this.notify();}但我可能错了,因为Java不是我的主要Playground。也许这样做是有原因的。如果您能告诉我开发人员的想法,我将不胜感激。 最佳答案 这当然不是毫无意义的,你可以让另一个线程引用包含上述代码的对象synchronized(foo){foo.wait();}为了在有事发生时被唤醒。不过,在许多情况下,在内部/私有(private)锁对