小编use*_*741的帖子

$$和<generated>在java stacktrace中意味着什么?

很多次我得到像这样的堆栈跟踪(请参阅箭头的混乱线):

org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [PRIMARY]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
                at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:164)
                at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:741)
                at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:589)
                at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
                at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
                at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
                at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
                at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
--------->      at com.panpwr.admin.services.detector.SimpleDetectorPersistenceService$$EnhancerBySpringCGLIB$$66303639.saveComplexRuleAndActionTemplates(<generated>)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
...
...
...
Run Code Online (Sandbox Code Playgroud)

$$符号是什么,"生成"是什么意思? com.panpwr.admin.services.detector.SimpleDetectorPersistenceService$$EnhancerBySpringCGLIB$$66303639.saveComplexRuleAndActionTemplates(<generated>)

为什么它只说执行的方法而不是它中的行?

java spring stack-trace cglib

19
推荐指数
1
解决办法
7122
查看次数

LongAccumulator是如何实现的,因此效率更高?

据我所知,新的Java(8)引入了新的同步工具,如LongAccumulator(在原子包下).

在文档中,它说当多个线程的变量更新频繁时,LongAccumulator更有效.

我想知道它如何实现更高效?

java concurrency atomic java-8

12
推荐指数
1
解决办法
2801
查看次数

添加Style时,属性'Content'被设置多次

我用这个时:

<Label Grid.Column="2"
       Grid.Row="8" 
       Content="{x:Static res:Strings.ToolPanelEditView_Validation_MandatoryField}" >
</Label>
Run Code Online (Sandbox Code Playgroud)

它运行得很好.

但是当我添加Style标签时:

 <Label Grid.Column="2"
        Grid.Row="8" 
        Content="{x:Static res:Strings.ToolPanelEditView_Validation_MandatoryField}" >
    <Style>
        <Setter Property="Label.Margin" Value="0" />
    </Style>
</Label>
Run Code Online (Sandbox Code Playgroud)

它没有编译说:

属性"内容"设置不止一次

c# wpf

8
推荐指数
1
解决办法
932
查看次数

Eclipse调试器"跳过"跳过重要的代码

我有一个奇怪的问题调试Android应用程序.为了准确,我在这里复制我正在运行的确切代码:

    // Get the puzzles from cache
List<PuzzleDetails> newPuzzles = m_cachedPuzzles.getPuzzles(count);

if(newPuzzles.size() > 0){
    // Remove from cache
    m_cachedPuzzles.removePuzzles(newPuzzles);  // LINE (A)     

    // Add the new puzzles from cache immediately
    m_ownedPuzzles.addPuzzles(newPuzzles);

    Log.d("requests", "" + newPuzzles.size() + " moved from cache to user");
}

int left = count - newPuzzles.size();       
String deviceId = ResourcesPublisher.getInstance().getDeviceId();

// Don't let anyone else use these points for now
ChallengePointsManagerImpl.getInstance().usePoints(left);       

Log.d("requests", "aquirePuzzles(" + left + ")");

// Get a list of requests for 'left' number of …
Run Code Online (Sandbox Code Playgroud)

java eclipse debugging android

7
推荐指数
1
解决办法
7670
查看次数

为class.getResource()定义根类路径

我在Eclipse(windows)中使用java,我正在尝试使用:

myClass.getResource("/image.jpg"), 
Run Code Online (Sandbox Code Playgroud)

而image.jpg存在于root loacation"myProject /"中.它返回null.

我检查了很多其他线程,但没有一个解决了我的问题.

所以我试着评估一下:

this.getClass().getResource("/").getPath();
Run Code Online (Sandbox Code Playgroud)

它返回"myProject/build/classes".

所以我检查了这个目录的项目配置,并找到了完全相同的目录

Java构建路径 - >源 - >默认输出文件夹

我的问题是:

  1. 为什么我的资源的默认目录是输出文件夹?

  2. 如上所述,我想从另一个文件夹中获取资源,但尝试调用"/../"不起作用...如何加载其他未嵌套在我的类dir中的资源?(我可以改变我的输出目录,但我认为它会非常难看......)

java classpath classloader getresource

7
推荐指数
1
解决办法
2万
查看次数

如何在窗口结束时输出窗口聚合的结果?

我有一个KStream我想要计算事件的某些方面.我按如下方式做到:

KTable<Windowed<Long>, Counter> ret = input.groupByKey()
  .windowedBy(TimeWindows.of(Duration.of(10, SECONDS)))
  .aggregate(Counter::new, (k, v, c) -> new Counter(c.count + v.getDimension()));
Run Code Online (Sandbox Code Playgroud)

我希望有一个新KStream的聚合作为事件.我可以这样轻松地做到:

ret.toStream().to("output");
Run Code Online (Sandbox Code Playgroud)

问题是"输入"主题中的每个事件都会产生一个"输出"主题的事件.我想仅在窗口完成时将事件发布到输出主题.例如,如果窗口是一分钟,则每分钟每个键发送一个事件.

我想我可以这样做:

ret.toStream().foreach((k, v) -> sendToKafkaTopic("output"));
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好/更优雅的方式呢?

apache-kafka apache-kafka-streams

7
推荐指数
1
解决办法
442
查看次数

调试PDF以查找错误

我正在使用PDFClown java库创建PDF文件.

有时,当使用Adobe Acrobat Reader打开这些文件时,我会收到一条着名的错误消息:

"此页面上存在错误.Acrobat可能无法正确显示页面.请与创建PDF文档的人员联系以解决问题."

只有向下滚动到第8页,然后向上滚动到3'页面时,才会在读取(使用Adobe)附加文件时显示错误.或者,缩小到33.3%也会产生消息.

只是为了记录,福昕阅读器完美地读取文件,以及其他PDF阅读器,如浏览器.

我的问题是:

  1. 我的文件出了什么问题?(附件)

  2. 我怎么能找到它的错误?有没有一种工具,它告诉你在那里做的错误在哪里?

谢谢!

pdf debugging acrobat pdf-generation pdfclown

6
推荐指数
1
解决办法
1万
查看次数

为什么不在OOP设计中使用instanceof运算符?

已经反复说过,除了equals()方法之外,不应该使用instanceof运算符,否则它是一个糟糕的OOP设计.

有人写道,这是一个繁重的操作,但似乎,至少java,处理得相当好(甚至比Object.toString()比较更有效).

有人可以解释,或指导我一些文章,解释为什么这是一个糟糕的设计?

考虑一下:

Class Man{
  doThingsWithAnimals(List<Animal> animals){
    for(Animal animal : animals){
      if(animal instanceOf Fish){
        eatIt(animal);
      }
      else if(animal instanceof Dog){
        playWithIt(animal);
      }
    }
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

决定如何处理动物,取决于男人.男人的欲望也可能偶尔改变,决定吃狗,玩鱼,而动物不会改变.

如果您认为instanceof运算符不是正确的OOP设计,请告诉您如何在没有instanceof的情况下执行此操作,为什么?

谢谢.

oop instanceof

6
推荐指数
3
解决办法
6356
查看次数

ZooKeeper 会话在测试中过期

我正在使用 EmbeddedKafka 通过以下注释配置来测试我的模块:

@ExtendWith(SpringExtension.class)
@SpringBootTest
@TestPropertySource(locations = "classpath:test.properties")
@EmbeddedKafka(partitions = 1,
    topics = {"topic"},
    brokerProperties = {
        "auto.create.topics.enable=${topics.autoCreate:false}",
        "delete.topic.enable=${topic.delete:true}",
        "broker.id=2"})
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下都有效。

有时,它在创建 spring 上下文时失败,因为 zookeeper 会话超时:

java.lang.IllegalStateException:无法加载 ApplicationContext

...

在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 org.gradle.internal .concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 在 java.base/java.lang.Thread.run(Thread.java:834) 引起:org.springframework.beans.factory.BeanCreationException:创建 bean 时出错名称为“embeddedKafka”:init 方法调用失败;嵌套异常是 org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) at org.springframework.beans.factory.support 过期。 org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session 在 org.apache.zookeeper.KeeperException.create(KeeperException.java:130) at kafka.zk.KafkaZkClient.checkedEphemeralCreate(KafkaZkClient.scala:1631) at kafka.zk 过期.KafkaZkClient.registerBroker(KafkaZkClient.scala:87) at kafka.server.KafkaServer.startup(KafkaServer.scala:257) at kafka.utils.TestUtils$.createServer(TestUtils.scala:132) at kafka.utils.TestUtils.createServer (TestUtils.scala) 在 org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:215) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:215) at 1 beans.factory.support.AbstractAutowireCapableBeanFactory。initializeBean(AbstractAutowireCapableBeanFactory.java:1741) ... 82 …

apache-kafka spring-boot apache-zookeeper spring-kafka embedded-kafka

6
推荐指数
0
解决办法
705
查看次数

为什么volatile变量比普通同步更有效

我被告知使用volatile变量比使用synchronized块(读或写)时使用synchronized块要高效得多.

直到Java 1.4我才能看到原因(因为那时线程不必刷新并刷新所有可访问的内存).

但是从Java 1.5开始,我在使用volatile变量和synchronized块之间看到的唯一区别就是锁获取机制.

获得锁真的那么贵吗?如果是这样,为什么呢?

java concurrency multithreading volatile java-memory-model

5
推荐指数
1
解决办法
157
查看次数