Questions tagged «java»

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

1
何时在其他选项上使用JCR(内容存储库)?
我正在尝试评估诸如Jackrabbit和ModeShape之类的内容存储库(JSR283),但我必须承认,我不理解首先解决什么问题,即使它是该项目的不错选择。您认为哪种情况是最好的解决方案?除了大小之外,它与关系数据库不一样吗?为什么?指向现实世界示例的加分。 提前致谢。

1
使用Java / Scala降价HTML
我知道以下项目(大多数来自http://www.w3.org/community/markdown/wiki/MarkdownImplementations): 用Java实现: txtmark http://github.com/rjeschke/txtmark(声称是JVM上运行速度最快的MD处理器) Markdown4j http://code.google.com/p/markdown4j(txtmark的分支,优点是?更活跃的开发人员?) MarkdownPapers http://markdown.tautua.org/(基于JavaCC解析器) pegdown http://github.com/sirthias/pegdown MarkdownJ http://code.google.com/p/markdownj(已放弃?) 在Scala中实现: 莱卡https://github.com/planet42 Actuarius http://henkelmann.eu/projects/actuarius/(根据作者的说法不完全符合标准) 仿冒品http://tristanhunt.com/projects/knockoff(仅MD的子集?) ScalaMD https://github.com/chirino/scalamd 问:各自的性能特征,陷阱和怪癖是什么?哪些支持Github扩展?您会推荐哪一部来玩!/ Scala应用程序?
77 java  scala  markdown 

7
Java GC:为什么有两个幸存者区域?
对于Sun / Oracle的JVM,我读过GC算法将新一代划分为一个伊甸园区域和两个幸存者区域。我想知道的是,为什么有两个幸存者地区而不是一个?该算法可以在伊甸园和一个幸存者区域之间保持乒乓(目前它在两个幸存者区域之间的方式);还是这种方法有什么缺点?

7
为什么在双重检查锁定中使用了volatile
在Head First设计模式手册中,具有双重检查锁定的单例模式已实现如下: public class Singleton { private volatile static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; } } 我不明白为什么volatile要使用它。volatile使用不会 违反使用双重检查锁定(即性能)的目的吗?

8
JDK tools.jar作为Maven依赖项
我想将JDK tools.jar作为编译依赖项。我发现了一些指示使用systemPath属性的示例,如下所示: <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency> 问题是该路径对于Mac Os X不正确(但是对于Windows和Linux是正确的)。为此,正确的路径是$ {java.home} /../ Classes / classes.jar。 我正在寻找一种定义maven属性的方法,以便如果将系统检测为Mac Os X,则将值设置为$ {java.home} /../ Classes / classes.jar,否则将其设置为$ {java.home} /../ lib / tools.jar(就像可以使用ANT一样)。有人有主意吗?

5
等同于push()或pop()的数组?
我试图从我在主java文件中创建的数组中添加,删除和引用项目,但是我在弄清楚正确的语法时遇到了麻烦。在动作脚本中,它们具有push()和pop()来添加和删除数组中的项,android中是否有等效项?
77 java  android 

6
如何在Java中同步或锁定变量?
让我使用这个小而简单的示例: class Sample { private String msg = null; public void newmsg(String x){ msg = x; } public String getmsg(){ String temp = msg; msg = null; return temp; } } 假设该函数newmsg()由我无权访问的其他线程调用。 我想使用synchonize方法来确保该字符串msg每次仅由一个函数使用。换句话说,功能newmsg()不能与同时运行getmsg()。

7
使用比较器降序排序(用户定义的类)
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我想使用比较器按降序对对象进行排序。 class Person { private int age; } 在这里,我想对一个Person对象数组进行排序。 我怎样才能做到这一点?
77 java 

17
如何将map转换为url查询字符串?
您是否知道可以将Map转换为URL友好的查询字符串的任何实用程序类/库? 例: 我有一张地图: "param1"=12, "param2"="cat" 我想得到: param1=12&param2=cat 最终输出 relativeUrl+param1=12&param2=cat

3
需要另一个目录的Gradle项目
我有这样的目录/项目设置: C:\ _dev\ Projects\ Logger MyProject Logger是一个使用Gradle的Android库项目。MyProject是一个标准的Android项目项目,需要使用Logger库。 我正在使用Android Studio,并尝试将Logger添加到外部库中。尽管这在开发期间有效,但我收到有关在构建时找不到该类的消息。 我是Gradle的新手,但是在MyProject的build.gradle中尝试了以下操作: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "18.1.0" defaultConfig { minSdkVersion 16 targetSdkVersion 18 } dependencies { compile files("../Logger") } } dependencies { …

9
Java获取可用内存
有什么好方法可以在运行时将剩余的内存提供给JVM?这种情况的用例是使Web服务在接近内存限制时通过拒绝一个新的错误消息“太多的人使用此,请稍后再试”,而不是因OutOfMemory错误而突然死亡而接近失败,从而优雅地失败。 。 注意,这与事先计算/估算每个对象的成本无关。原则上,我可以根据该估算值估算对象占用并拒绝新连接的内存量,但这似乎有点hacky /脆弱。

7
JUnit如何测试两个List <E>包含相同顺序的相同元素?
语境 我正在为该类编写一个简单的JUnit测试MyObject。 阿MyObject可以从静态工厂方法,需要一个可变参数的创建字符串。 MyObject.ofComponents("Uno", "Dos", "Tres"); 在存在的任何时间MyObject,客户都可以通过该方法检查以List &lt;E&gt;形式创建的参数.getComponents()。 myObject.ofComponents(); // -&gt; List&lt;String&gt;: { "Uno", "Dos", "Tres" } 换句话说,a会MyObject记住并公开使它存在的参数列表。有关此合同的更多详细信息: 的顺序getComponents将与为对象创建选择的顺序相同 允许重复的后续String组件并按顺序保留 行为null未定义(其他代码保证没有null出厂) 对象实例化后,无法更改组件列表 我正在编写一个简单的测试,该测试MyObject从String列表创建一个,并检查它是否可以通过返回相同的列表.getComponents()。我立即执行此操作,但这应该在现实的代码路径中一定距离处发生。 码 这是我的尝试: List&lt;String&gt; argumentComponents = Lists.newArrayList("One", "Two", "Three"); List&lt;String&gt; returnedComponents = MyObject.ofComponents( argumentComponents.toArray(new String[argumentComponents.size()])) .getComponents(); assertTrue(Iterables.elementsEqual(argumentComponents, returnedComponents)); 题 是谷歌番石榴 Iterables.elementsEqual()最好的办法,只要我有库在我的构建路径,那些两个列表比较?我一直在为此苦恼;我应该使用遍及Iterable &lt;E&gt; ..检查大小然后迭代运行的.equals()..的辅助方法还是Internet搜索建议的任何其他方法?比较单元测试列表的规范方法是什么? 我很想获得的可选见解 方法测试是否设计合理?我不是JUnit专家! .toArray()将List &lt;E&gt;转换为E的可变参数的最佳方法是吗?
77 java  junit  guava 

8
通过注释使用Hibernate UUIDGenerator
我使用我的uuid如下: @Id @GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid") @Column(name = "uuid", unique = true) private String uuid; 但是我收到了一个聪明的Hibernate警告: 使用org.hibernate.id.UUIDHexGenerator不会生成符合IETF RFC 4122的UUID值;考虑改用org.hibernate.id.UUIDGenerator 所以我想切换到org.hibernate.id.UUIDGenerator,现在我的问题是如何将其告知Hibernate的生成器。我看到有人用它作为“休眠-uuid”-这就是我尝试过的方法,但结果是负面的: @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "hibernate-uuid") @Column(name = "uuid", unique = true) private String uuid;

5
如何测试JSON路径是否不包含特定元素,或者是否存在该元素为null?
我一直在为简单的Spring Web应用程序编写一些简单的单元测试例程。当我在资源的getter方法上添加@JsonIgnore批注时,所得的json对象不包含相应的json元素。因此,当我的单元测试例程尝试测试它是否为空(这是我的情况的预期行为,我不希望密码在json对象中可用)时,测试例程会遇到异常: java.lang.AssertionError:JSON路径:$ .password没有值,异常:路径:$ ['password']没有结果 这是我编写的单元测试方法,使用is(nullValue())方法测试“密码”字段: @Test public void getUserThatExists() throws Exception { User user = new User(); user.setId(1L); user.setUsername("zobayer"); user.setPassword("123456"); when(userService.getUserById(1L)).thenReturn(user); mockMvc.perform(get("/users/1")) .andExpect(jsonPath("$.username", is(user.getUsername()))) .andExpect(jsonPath("$.password", is(nullValue()))) .andExpect(jsonPath("$.links[*].href", hasItem(endsWith("/users/1")))) .andExpect(status().isOk()) .andDo(print()); } 我还尝试了jsonPath()。exists(),它得到了类似的异常,指出该路径不存在。我将分享更多的代码片段,以便使整个情况更具可读性。 我正在测试的控制器方法看起来像这样: @RequestMapping(value="/users/{userId}", method= RequestMethod.GET) public ResponseEntity&lt;UserResource&gt; getUser(@PathVariable Long userId) { logger.info("Request arrived for getUser() with params {}", …

6
如何编写接口的junit测试?
为接口编写junit测试,以便可以将它们用于具体的实现类的最佳方法是什么? 例如,您具有此接口并实现类: public interface MyInterface { /** Return the given value. */ public boolean myMethod(boolean retVal); } public class MyClass1 implements MyInterface { public boolean myMethod(boolean retVal) { return retVal; } } public class MyClass2 implements MyInterface { public boolean myMethod(boolean retVal) { return retVal; } } 您将如何针对该接口编写测试,以便可以将其用于类? 可能性1: public …

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.