草庐IT

EXCEPTION_INT_DIVIDE_BY_ZERO

全部标签

java - 如何解决 Caused by : java. lang.ClassNotFoundException : javax. xml.bind.JAXBException migrating to Java 11(Openjdk-11.0.1)

我已经安装了OpenJDK11.0.1,当我尝试使用mvninstall运行我的应用程序时,出现以下错误,我通过将javax.xml.bind添加到我的pom.xml来添加必要的依赖项作为修复,但是它似乎不起作用,有人遇到过这个问题吗?我还需要做其他事情吗?我的mvn--version返回这个Mavenhome:/usr/local/Cellar/maven/3.5.2/libexecJavaversion:11.0.1,vendor:OracleCorporationJavahome:/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/C

java - 为什么 int p = (p=1) + p;字段定义失败但在方法中可以吗?

classTest{intp=(p=1)+p;//ERR"Cannotreferenceafieldbeforeitisdefined"intq=(q=1)+this.q;//fine!voidf(){intt=(t=1)+t;//fine!}}在第一种情况下,我的理解是:当执行赋值(或后续添加?)时,p被视为未声明。但为什么它在一个方法内是不同的呢?OKt不被视为未初始化,因为(t=1)在加法之前执行。好的,t不是一个字段,但目前也没有声明!我能以某种方式理解它吗?还是我只记住这个区别?也许这也有点相关:staticintx=Test.x+(x=1)+Test.x;//produce

has been compiled by a more recent version of the Java Runtime (class file version 55.0)解决方法

Java项目编写完成后生成jar包,在cmd窗口运行时出现如下异常:Exceptioninthread"main"java.lang.UnsupportedClassVersionError:com/itbaizhan/travel/TravelApplicationhasbeencompiledbyamorerecentversionoftheJavaRuntime(classfileversion55.0),thisversionoftheJavaRuntimeonlyrecognizesclassfileversionsupto52.0造成以上异常的原因是:当前计算机环境的JDK与编写项

java - 如何在 int += double 上配置 Eclipse java 警告

这段Java代码不会导致编译警告。在这种情况下如何配置Eclipse发出警告?如果重要的话,我正在编译1.8合规级别。doubledd=1.1;intii=2;ii+=dd;//thisisapossiblebug 最佳答案 eclipse目前不支持。这也有一个Openbug。Bug516084-Needimplicitnarrowingoftypewarningonplus-equalsandminus-equals背景:根据JavaLanguageSpecificationsection15.26.2,复合赋值语句中没有警告似乎

java - hibernate 缓存 : Are objects returned by a cached query stored in L2 cache?

我们在项目中使用了hibernate4和ehcache。我们主要处理不可变对象(immutable对象),因此缓存是一个非常适合我们应用程序的功能。在尝试启用查询缓存时,我们遇到了以下问题:假设我们有以下实体:@Entity@Table(name="DOGS")@Immutable@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)classDog{@Id@ColumnLongid;@ColumnStringname;}和查询:Criteriacriteria=session.createCriteria(Dog.class);criteri

java - 发生 org.hibernate.exception.GenericJDBCException : Could not open connection for long running process

在我的应用程序中,我为一项工作使用了20个线程。每个线程调用远程Web服务并更新Oracle数据库。Jboss重启后,作业无法更新数据库,除了我在日志中发现的异常:2017-11-0823:36:20,706ERROR[org.hibernate.engine.jdbc.spi.SqlExceptionHelper](EJBdefault-21)javax.resource.ResourceException:IJ000460:Errorcheckingforatransaction2017-11-0823:36:20,706ERROR[org.jboss.as.ejb3](EJBde

java - kafka : Commit offsets failed with retriable exception. 你应该重试提交偏移量

[o.a.k.c.c.i.ConsumerCoordinator][Autooffsetcommitfailedforgroupconsumer-group:Commitoffsetsfailedwithretriableexception.Youshouldretrycommittingoffsets.][]为什么kafkaconsumer会出现这个错误?这是什么意思?我使用的消费者属性是:fetch.min.bytes:1enable.auto.commit:trueauto.offset.reset:latestauto.commit.interval.ms:5000reques

java - 追踪 int[] 的分配

当通过JMX在JVisualVM中查看我的远程应用程序时,我看到空闲时内存使用呈锯齿状:获取堆转储并使用JVisualVM对其进行分析,我看到大块内存位于几个没有引用的大int[]数组中,通过比较堆转储,我可以看到它似乎是这些正在占用内存并由GC定期回收。我很想追踪这些,因为这激起了我的兴趣,因为我自己的代码从来没有故意分配任何int[]数组。我确实使用了很多像netty这样的库,所以罪魁祸首可能在其他地方。我确实有其他服务器具有大致相同的框架组合,但在那里看不到这个锯齿。我如何才能发现谁在分配它们? 最佳答案 进行堆转储并找出存放

java - 如果 json 中的值为空,则为属性提供默认值 by jackson

假设我有课,即privateclassStudent{privateIntegerx=1000;publicIntegergetX(){returnx;}publicvoidsetX(Integerx){this.x=x;}}现在假设json是"{x:12}"然后进行反序列化x的值为12.但是如果json是"{}"那么x=1000的值(获取来自类中声明的属性的默认值)。现在如果json是"{x:null}"然后x的值变为null但即使在这种情况下,我也想要x的值成为1000.如何通过jackson做到这一点。提前致谢。我正在通过以下方法反序列化,如果它有帮助的话:objectMappe

java - List<String> 类型中的方法 get(int) 不适用于 Java 8 中的参数字符串

我正在尝试在List中搜索元素我得到了这个编译错误:themethodget(int)inthetypeListisnotapplicablefortheargumentstring.这是代码:privatebooleanfindIdInTheList(Listids,Stringid){StringtheId=ids.stream().filter(elem->id.equals(ids.get(elem))).findAny().orElse(null);} 最佳答案 ids是List和elem是String.因此ids.get