Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

30
org.xml.sax.SAXParseException:序言中不允许内容
我有一个基于Java的Web服务客户端,该客户端连接到Java Web服务(在Axis1框架上实现)。 我的日志文件中出现以下异常: Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) …
161 java  xml 

14
从枚举中选择一个随机值?
如果我有这样的枚举: public enum Letter { A, B, C, //... } 随机挑选一个的最佳方法是什么?它不需要是生产质量的防弹产品,但是相当均匀的分配将是不错的选择。 我可以做这样的事情 private Letter randomLetter() { int pick = new Random().nextInt(Letter.values().length); return Letter.values()[pick]; } 但是有更好的方法吗?我觉得这已经解决了。
161 java  random  enums 

8
Java垃圾回收如何与循环引用一起使用?
根据我的理解,如果没有其他“指向”该对象的内容,则Java中的垃圾回收会清除某些对象。 我的问题是,如果我们遇到这样的情况,会发生什么: class Node { public object value; public Node next; public Node(object o, Node n) { value = 0; next = n;} } //...some code { Node a = new Node("a", null), b = new Node("b", a), c = new Node("c", b); a.next = c; } //end of scope …


16
什么是Java?:运算符,它的作用是什么?
我已经使用Java几年了,但是直到最近我还没有遇到过这种构造: int count = isHere ? getHereCount(index) : getAwayCount(index); 这可能是一个非常简单的问题,但是有人可以解释吗?我该如何阅读?我很确定我知道它是如何工作的。 如果isHere为真,getHereCount()则称为 如果isHere为假,getAwayCount()则调用。 正确?这个结构叫做什么?

13
检查Java中的两个参数,要么都不为null要么都优雅地为null
我用spring boot开发了一个用于发送电子邮件的shell项目,例如 sendmail -from foo@bar.com -password foobar -subject "hello world" -to aaa@bbb.com 如果缺少from和password参数,则使用默认的发送者和密码,例如noreply@bar.com和123456。 因此,如果用户传递了from参数,他们也必须传递password参数,反之亦然。也就是说,两者都不为空,或者两者都不为空。 如何优雅地检查? 现在我的方式是 if ((from != null && password == null) || (from == null && password != null)) { throw new RuntimeException("from and password either both exist or both not exist"); }
161 java 

14
Gradle代理配置
我需要通过代理服务器从Gradle进行Web访问,才能对Jenkins使用Gradle / Artifactory集成。为了减少可能的问题原因,我在build.gradle中手动添加了Artifactory插件,并从命令行运行它: apply { apply from: "http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle" } 按照此描述,我在主目录的.gradle / gradle.properties中指定了以下内容: systemProp.http.proxyHost=hostname systemProp.http.proxyPort=8080 systemProp.http.proxyUser=de\\username systemProp.http.proxyPassword=xxx 使用上面的代理配置(已知可以正常工作),它将失败: 11:33:17.699 [ERROR] [org.gradle.BuildExceptionReporter]原因:java.io.IOException:服务器返回的HTTP响应代码:407为URL:http ://gradle.artifactoryonline.com/gradle/plugins/org/ jfrog / buildinfo / build-info-extractor-gradle / 1.0.1 / artifactoryplugin-1.0.1.gradle 我有两台代理服务器可供选择,一台始终以407(要求代理身份验证)响应,另一台始终以502(错误的网关)响应,因此显然使用了proxyHost和proxyPort选项。 由于用户名(基于Active Directory用户)包含反斜杠,因此我尝试了\\和\,但均不起作用。指定的用户不同于登录到计算机和Active Directory的用户。该用户的凭据对代理无效,因此我需要能够指定其他用户。 在Jenkins或Artifactory的GUI中设置相同的选项是可行的。

7
从父类到子类的显式转换
public class Animal { public void eat() {} } public class Dog extends Animal { public void eat() {} public void main(String[] args) { Animal animal = new Animal(); Dog dog = (Dog) animal; } } 分配Dog dog = (Dog) animal;不会产生编译错误,但在运行时会产生ClassCastException。为何编译器无法检测到此错误?

7
得出两组之间的差异
因此,如果我有两套: Set<Integer> test1 = new HashSet<Integer>(); test1.add(1); test1.add(2); test1.add(3); Set<Integer> test2 = new HashSet<Integer>(); test2.add(1); test2.add(2); test2.add(3); test2.add(4); test2.add(5); 有没有一种方法可以比较它们,并且只返回一组4和5?
161 java  set 

8
为什么ArrayDeque比LinkedList更好
我试图理解为什么Java的ArrayDeque比Java的LinkedList更好,因为它们都实现了Deque接口。 我几乎看不到有人在他们的代码中使用ArrayDeque。如果有人对ArrayDeque的实现方式有了更多的了解,那将是有帮助的。 如果我理解它,我会更自信地使用它。对于JDK实现管理头和尾引用的方式,我不清楚。

5
如何在Java中使用全零初始化ArrayList?
似乎arraylist没有做好预定工作: // presizing ArrayList<Integer> list = new ArrayList<Integer>(60); 之后,当我尝试访问它时: list.get(5) 而不是返回0,而是抛出IndexOutOfBoundsException:索引5超出了长度0的范围。 有没有办法像C ++一样将所有元素初始化为精确大小的0?
161 java  collections 

7
泽西岛停止与InjectionManagerFactory一起工作
在Tomcat 8.5.11中运行Jersey API时,出现以下错误,导致API停止: HTTP状态500-Servlet Jersey REST Service的Servlet.init()抛出异常 类型例外报告 Servlet Jersey REST Service的消息Servlet.init()抛出异常 描述服务器遇到内部错误,导致服务器无法满足此请求。 例外 javax.servlet.ServletException:用于Servlet Jersey REST Service的Servlet.init()引发了异常org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。 java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)org.apache.coyote.http11.Http11Processor。服务(Http11Processor.java:783)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:798)org.apache.tomcat.util。 net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)org.apache.tomcat.util.net.SocketProcessorBase。运行(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util。 thread.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745) 根本原因 java.lang.IllegalStateException:找不到InjectionManagerFactory。org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)org.glassfish.jersey.server.ApplicationHandler。 (ApplicationHandler.java:282)org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)org.glassfish.jersey.servlet。 ServletContainer.init(ServletContainer.java:370)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves。 应用程序使用以下gradle依赖项进行构建: dependencies { compile ( // REST "org.glassfish.jersey.containers:jersey-container-servlet:2.+", "javax.servlet:javax.servlet-api:4.+", // REST Token "org.bitbucket.b_c:jose4j:0.+", // MongoDB "org.hibernate.ogm:hibernate-ogm-bom:5.+", …

8
为什么数组是协变的,而泛型是不变的?
摘自Joshua Bloch的Effective Java, 数组在两个重要方面不同于通用类型。第一数组是协变的。泛型是不变的。 协变量仅表示如果X是Y的子类型,则X []也将是Y []的子类型。数组是协变的,因为字符串是Object的子类型,所以 String[] is subtype of Object[] 不变式仅表示X是否为Y的子类型, List<X> will not be subType of List<Y>. 我的问题是为什么要在Java中使数组协变的决定?还有其他SO帖子,例如“ 为什么数组不变”,但“列表协变”?,但是它们似乎专注于Scala,我无法跟踪。

14
Java并发性:倒数锁存器与循环障碍
我在阅读java.util.concurrent API时发现 CountDownLatch:同步帮助,它允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。 CyclicBarrier:同步帮助,它允许一组线程互相等待以到达一个公共的障碍点。 在我看来,两者似乎是平等的,但我相信还有更多的东西。 例如,在中CoundownLatch, the countdown value could not be reset, that can happen in the case of CyclicBarrier。 两者之间还有其他区别吗?有人想 在use cases哪里重置倒计时的值?

5
Java是否具有“专用保护”访问修饰符?
我已经看到一些参考引用了Java中称为private protected(两个词在一起)的访问修饰符: private protected someMethod() { } 我发现与此有关的页面之一在这里。我的学校课上也提到了这个访问修饰符(并说它存在)。但是,使用它会导致Java语言错误。 我尝试了变量和方法,我很确定它不存在,但是我想解释一下发生了什么。是否考虑过,然后拒绝了?还是在Java的较新版本中将其删除? 编辑:我不是在寻找有关protected关键字的信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.