我PMD在我的Java项目中使用代码审查.
只是想知道"PMD"的缩写词.我在谷歌搜索但找不到任何东西.有人知道吗?
让我们假设我有一个包含List的类,例如
public static class ListHolder {
List<String> list = new ArrayList<>();
public ListHolder(final List<String> list) {
this.list = list;
}
public List<String> getList() {
return list;
}
}
Run Code Online (Sandbox Code Playgroud)
让我们进一步假设我有一个完整的这个类的实例列表:
ListHolder listHolder1 = new ListHolder(Arrays.asList("String 1", "String 2"));
ListHolder listHolder2 = new ListHolder(Arrays.asList("String 3", "String 4"));
List<ListHolder> holders = Arrays.asList(listHolder1, listHolder2);
Run Code Online (Sandbox Code Playgroud)
现在我需要提取所有字符串以获取包含所有实例的所有字符串的字符串列表,例如:
[String 1, String 2, String 3, String 4]
Run Code Online (Sandbox Code Playgroud)
使用Guava,这将是这样的:
List<String> allString = FluentIterable
.from(holders)
.transformAndConcat(
new Function<ListHolder, List<String>>() { …Run Code Online (Sandbox Code Playgroud) 我正在使用一个带java.xml.bind注释的Bean来创建一个XML输出格式,如果它们是空的,则会省略它们.为此目的,相应的Getter必须如下所示:
@XmlElementWrapper(name = "titles")
@XmlElement(name = "title")
public List<XmlTitle> getTitles() {
if (titles.size() == 0) {
return null;
}
return titles;
}
Run Code Online (Sandbox Code Playgroud)
这在编组期间工作正常.可悲的是,我NullpointerException想要解析同一个XML文件:
java.lang.NullPointerException
at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister.addToPack(Lister.java:305)
at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister.addToPack(Lister.java:269)
at com.sun.xml.bind.v2.runtime.unmarshaller.Scope.add(Scope.java:121)
at com.sun.xml.bind.v2.runtime.property.ArrayERProperty$ReceiverImpl.receive(ArrayERProperty.java:213)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(UnmarshallingContext.java:538)
at com.sun.xml.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.endElement(ValidatingUnmarshaller.java:107)
at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:158)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:258)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123)
at org.springframework.oxm.jaxb.Jaxb2Marshaller.unmarshal(Jaxb2Marshaller.java:754)
at …Run Code Online (Sandbox Code Playgroud) 我正在用 java 编写一个数据结构链表(为了我的学习,我没有使用任何标准的 java 库),我想通过引用 null 来清除数据结构。请建议我哪种方法更好
1) 将列表的起始引用设为 null 就足够了。
2) 除了将 start 置空外,我将所有内部节点的所有 next 指针都取消引用为 null。这对垃圾收集器有任何帮助吗?
我看到方法 2 中的混淆在 JDK 中用于 LinkedList 实现。但我没有看到 TreeMap 相同
我正在使用 JDK 8
我正在从基础映像创建一个 Docker 映像,该映像在其早期层之一中利用VOLUME指令将卷安装到当前用户主文件夹。
一旦运行,此安装会导致我自己的映像上删除一些不需要的文件。
有没有办法从我的映像的Dockerfile中卸载此卷?
我希望我的python脚本检查是否有活动的Internet连接,如果有,则继续执行.如果没有连接,则继续检查.基本上阻止"main()"中的执行,直到脚本可以重新连接.
蟒蛇
import urllib2
def main():
#the script stuff
def internet_on():
try:
response=urllib2.urlopen('http://74.125.113.99',timeout=1)
main()
except urllib2.URLError:
internet_on()
Run Code Online (Sandbox Code Playgroud) 我已经阅读了一些有关Spring Boot中对jms支持的示例。
通常,发送者,接收者和active-mq(实际上可以是任何其他与jms兼容的消息代理)都位于同一应用程序中。
我知道我可以使用独立的主动mq并使用属性 s:
spring.activemq.broker-url=tcp://192.168.1.210:9876
spring.activemq.user=admin
spring.activemq.password=secret
Run Code Online (Sandbox Code Playgroud)
但我想有2个应用程序:
1-发送器(从嵌入式接收器连接到jms并在其中发送消息)
2-接收器(up应用程序和嵌入式activemq)
可行吗?
假设一个3个分区的kafka主题被3个消费者组成的消费者组消费。在云环境中,如果有新的消费者扩大规模,现在该组中有4个消费者。在这种情况下会发生什么?
要么
我正在尝试更多地了解我们用于Kafka主题的Avro架构,我对此相对较新.
我想知道是否有办法在特定情况下发展模式.我们使用不能为null的新字段或任何默认值更新我们的模式,因为这些新字段是标识符.解决此问题的解决方法是创建新主题,但是有更好的方法来发展现有模式吗?
我已将命名空间设置为当前上下文,如下所示
kubectl config set-context --current --namespace=ns1
Run Code Online (Sandbox Code Playgroud)
我试图从当前上下文中取消设置命名空间,但它没有用。
我正在寻求帮助,能否请您分享将命名空间取消设置为 default 的命令。
java ×5
apache-kafka ×2
java-8 ×2
avro ×1
collections ×1
confluent ×1
docker ×1
dockerfile ×1
guava ×1
jaxb ×1
jms ×1
kubernetes ×1
pmd ×1
python ×1
spring-boot ×1
spring-jms ×1
urllib ×1
xml ×1