我很清楚它的含义RetentionPolicy并且知道它们的作用以及何时使用它们似乎是有意义的.对于我自己的注释,我确切地知道它们是在运行时,类文件中还是仅仅用于编译时需要的.但是,使用库中定义的任何注释,您可以恕我直言.
例如,javax.annotation.Generated意味着标记生成的代码,但它很少有用.由于有更多的AFAIK工具对字节码比与源工作工具工作,这些信息就会消失,可以使用之前它.
由于在运行时缺少注释不会抛出 ClassNotFoundException(不像例如,缺少接口),使用RetentionPolicy.RUNTIME似乎不会造成伤害.还是我错了?
或者节省了几个字节使用不同Retentions 的原因?对我来说,这似乎导致太多问题值得.我错过了什么?
标题不准确,但我不能在一行中表达得更好.
我只想看到一个不同的消息git-log.我认为它可以以某种方式使用git-notes,但我没有管理它.
我需要它来修复提交消息中的错误.我总是在那里写一个文件的名称,其中包含我与客户的沟通(看起来就像T1234 Replace foo by bar).通信往往很长,所以我可以花很多时间,直到我发现我在提交消息中被错误的文档名称误导.
git-notesgit-notes事实上看起来像这里所说的那样有效.但是我总是使用
git log --oneline
Run Code Online (Sandbox Code Playgroud)
所以我从来没有看到它.关于关于向用户说谎的评论:恕我直言,当这种情况发生时,只有在使用特殊的开关时才会接受--replace-messages-by-notes,不是吗?因为我总是使用别名而不是git log直接使用,所以我会得到我想要的东西而不需要输入很多东西.
你认为这是一个合理的功能要求还是你会向我推荐另一个工作流程?
出于好奇,我Set为一个特殊情况写了一个自己的简单实现(其中所有可能的条目的集合是固定的,但它不是enum).它实际上非常简单,但显然,我的实现在没有大量测试的情况下无法使用(甚至可能在那时,但这是另一个主题;它主要是一个练习).
那么有没有我可以用于单元测试的测试套件呢?
这听起来像个笑话,但我可以证明这一点.
假设:
s且仅当它匹配时才匹配s.toUpperCase().以下所有内容都非常符合逻辑并且在Java中保留:
"?".matches(".") LATIN SMALL LIGATURE FFI(U + FB03)是一个字符,因此它必须匹配"ß".matches(".") LATIN SMALL LETTER SHARP S(U + 00DF)是一个字符,因此它必须匹配"?".toUpperCase().equals("FFI") 按Unicode标准(没有资本连字FFI)"ß".toUpperCase().equals("SS") 按照Unicode标准(有一个大写的S,但它没有被使用)"FfI".toUpperCase().equals("FFI") 明显"sS".toUpperCase.equals("SS") 明显因此,假设正则表达式中的第一个点代表?第二个点,则正则ß表达式必须匹配"FFISS",并且因为不区分大小写也是"FfIsS".
我真的希望有一些错误,否则正则表达式会变得非常不可用.
问题:
GoF的原始Builder模式与Joshua Bloch的"修订后的GoF Builder模式"有什么区别?
假设我有一个URL: http://java.sun.com/j2se/1.5/pdf我想得到pdf目录下所有文件/目录的列表.我正在使用java 5.我可以通过这个程序http://www.httrack.com/得到目录列表.但使用java我不知道是否可能.
有没有人知道如何在java中获取它或者这个程序如何完成java无法完成的工作?
写点的时候
doit(43, 44, "hello");
Run Code Online (Sandbox Code Playgroud)
编译器知道要调用哪个重载方法.当我想通过反思做同样的事情时,我需要找出自己,方法是
doit(Integer, double, CharSequence...);
Run Code Online (Sandbox Code Playgroud)
并通过类似的东西获得它
Class[] types = {Integer.class, double.class, CharSequence[].class};
declaringClass.getDeclaredMethod("doit", types);
Run Code Online (Sandbox Code Playgroud)
我想知道是否已经允许我写一些东西了
Method m = getMethod(declaringClass, "doit", 43, 44, "hello");
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人这样做了,因为JLS在这方面有点复杂.
实际上,行为与编译器完全相同是不可能的,因为在第1阶段,编译器只接受匹配而没有装箱和拆箱的方法.当getMethod从上面调用我的假设时,原语和它们的包装器之间的区别已经丢失(因为通过varargs传递参数时的自动装箱).这个问题似乎没有解决方案,所以让我们忽略它.
如答案所示,BeanUtils.invokeMethod接近.它应该找到最佳匹配,无论它意味着什么.查看MethodUtils.getMatchingAccessibleMethod显示了这一点
所以我正在寻找更好的东西.
这里有无数的问题,如何解决"无法初始化代理"问题,通过急切提取,保持交易开放,打开另一个OpenEntityManagerInViewFilter,等等.
但是,是否可以简单地告诉Hibernate忽略该问题并假装该集合为空?在我的情况下,不提取它只是意味着我不在乎.
这实际上是以下Y的XY问题:
我正在上课
class Detail {
@ManyToOne(optional=false) Master master;
...
}
class Master {
@OneToMany(mappedBy="master") List<Detail> details;
...
}
Run Code Online (Sandbox Code Playgroud)
并且想要提供两种请求:一个返回一个master包含所有的请求details,另一个返回一个包含masters 的列表details.结果将由Gson转换为JSON.
我试过session.clear和session.evict(master),但他们不碰代替使用的代理服务器details.有用的是
master.setDetails(nullOrSomeCollection)
Run Code Online (Sandbox Code Playgroud)
感觉相当hacky.我更喜欢"无知",因为它通常适用而不知道代理的哪些部分.
写一个Gson TypeAdapter忽略AbstractPersistentCollectionwith的实例initialized=false可能是一种方式,但这取决于org.hibernate.collection.internal,这肯定没有好处.捕获异常TypeAdapter并不会听起来好多了.
我的目标不是" 加载数据而不是异常",而是 "如何获取null而不是异常" 我
Dragan提出了一个有效的观点,即忘记获取和返回错误的数据会比异常更糟糕.但有一个简单的方法:
null他们null而不是空集合作为未获取数据的指示这样,结果永远不会被错误地解释.如果我忘记取一些东西,响应将包含null哪些无效.
我想知道是否有可能找出hibernate 对数据库的真正作用(即提交的更改).我想就某些变化通知另一个流程.
我猜测,事件类型小号POST_COMMIT_DELETE,POST_COMMIT_UPDATE和POST_COMMIT_INSERT应该做的,但由于刚好为零的文件,这只是一个猜测.有人可以证实吗?我错过了吗?
我也不确定如何获得真正写的东西.在PostInsertEvent同时包含Object entity和Object[] state,这两个我应该信任?
一个侧面问题:我没有使用XML,没有Spring,没有JPA,只是Configuration和buildSessionFactory.这真的是听众应该注册的方式吗?
EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory)
.getServiceRegistry()
.getService(EventListenerRegistry.class);
registry.appendListeners(....);
Run Code Online (Sandbox Code Playgroud)
我要求它作为它的1.依赖于实现细节,2完全丑陋,3几乎完全不可发现.
我在寻找Java中的程序或库,能够找到字节序列的非随机属性.当给出一个巨大的文件时,运行一些统计测试并报告数据是否显示任何规律性.
我知道三个这样的程序,但不是Java.我尝试了所有这些,但它们似乎并不适合我(这是非常令人惊讶的,因为其中一个是由NIST).其中最古老的,死硬,工作正常,但它有点难以使用.
java ×9
hibernate ×2
annotations ×1
case-folding ×1
collections ×1
git ×1
history ×1
jpa ×1
listener ×1
orm ×1
overloading ×1
random ×1
reflection ×1
regex ×1
retention ×1
statistics ×1
testing ×1
transactions ×1
unicode ×1
unit-testing ×1
url ×1