Tag: java

java中.this和.class的含义

假设我们有一个类名称Home。 Home.this和Home.class有什么区别 ? 他们指的是什么?

Java用户.home被设置为%userprofile%而不被parsing

我们公司最近从Windows XP升级到Windows 7 Enterprise。 JDK安装不再将user.home设置为用户目录的完整path,而是将user.home设置为%userprofile% 。 这导致了很多与Eclipse,Maven等应用程序有关的问题。我现在必须在每个应用程序的JVM中设置-Duser.home。 有没有人经历过这个? 有没有解决这个问题? 这是否与Windows 7 Enterprise的安装有关? 我已经尝试了1.5 JDK和1.6 JDK。 这是属性列表。 注意user.home: — listing properties — java.runtime.name=Java(TM) SE Runtime Environment sun.boot.library.path=C:\Program Files\Java\jre6\bin java.vm.version=16.0-b13 java.vm.vendor=Sun Microsystems Inc. java.vendor.url=http://java.sun.com/ path.separator=; java.vm.name=Java HotSpot(TM) Client VM file.encoding.pkg=sun.io user.country=US sun.java.launcher=SUN_STANDARD sun.os.patch.level= java.vm.specification.name=Java Virtual Machine Specification user.dir=C:\Users\politesp\Desktop java.runtime.version=1.6.0_18-b07 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=C:\Program Files\Java\jre6\lib\endorsed os.arch=x86 java.io.tmpdir=C:\Users\politesp\AppData\Local\Temp\ line.separator= java.vm.specification.vendor=Sun Microsystems […]

在哪里把@Transactional? 在接口规范或实现?

什么被认为是放置@Transactional注释的最佳做法? 我应该注解接口方法还是实现?

如何使用JMX连接到localhost jvm上的java程序?

我应该使用JMX连接到localhost jvm上的java程序。 换句话说,我想开发一个JMX客户端来在本地主机上configuration一个Java程序。 不build议使用JConsole! JConsole不适合,因为它是一般的JMX客户端,对主程序性能有负面影响。 oracle站点上的示例使用RMIConnector和主机:端口参数,但我不知道:应该在哪里设置jmx端口? JConsole可以通过PID连接到java进程。 但是我没有find任何有PID作为input参数的JMX API中的方法。

为什么findFirst()如果find的第一个元素为null,会抛出NullPointerExceptionexception?

为什么这会抛出一个java.lang.NullPointerException ? List<String> strings = new ArrayList<>(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity strings的第一项是null ,这是一个完全可以接受的值。 此外, findFirst()返回一个Optional ,这对于findFirst()能够处理null来说更为findFirst() 。 编辑:更新orElse()更不明确。

如何用Java中的整数乘以BigDecimal

你如何用Java中的整数乘以BigDecimal? 我尝试过,但不正确。 import java.math.BigDecimal; import java.math.MathContext; public class Payment { int itemCost; int totalCost = 0; public BigDecimal calculateCost(int itemQuantity,BigDecimal itemPrice){ itemCost = itemPrice.multiply(itemQuantity); totalCost = totalCost + itemCost; return totalCost; }

垃圾收集器运行在枚举types?

根据jls§8.9.2 Enum Body Declarations 枚举声明声明一个终结器是一个编译时错误。 一个枚举types的实例可能永远不会被最终确定。 当垃圾收集器运行之前执行终结器,如果终结器不存在,这意味着enumtypes总是保持加载在内存中,并且垃圾收集器不适用于enumtypes?

使用Java DOM获取XML节点文本值

我无法使用Node.getNodeValue() , Node.getFirstChild().getNodeValue() , Node.getFirstChild().getNodeValue()或Node.getFirstChild().getNodeValue()获取文本值。 我的XML就像 <add job="351"> <tag>foobar</tag> <tag>foobar2</tag> </add> 而我试图获得标签值(非文本元素获取工作正常)。 我的Java代码听起来像 Document doc = db.parse(new File(args[0])); Node n = doc.getFirstChild(); NodeList nl = n.getChildNodes(); Node an,an2; for (int i=0; i < nl.getLength(); i++) { an = nl.item(i); if(an.getNodeType()==Node.ELEMENT_NODE) { NodeList nl2 = an.getChildNodes(); for(int i2=0; i2<nl2.getLength(); i2++) { an2 = nl2.item(i2); // DEBUG […]

JPA,如何使用相同的类(实体)映射不同的表?

我有两个表: Ta和Tb 。 他们有完全相同的表结构,但不同的表名称。 我尝试创build一个实体类来映射表结构。 我的一些常用应用程序模块将使用这个实体类根据参数dynamic查询和更新Ta或Tb 。 可以在JPA中完成吗? 我如何编写程序在运行时将实体类dynamic映射到不同的表?

程序中消息传递的数据结构?

我试图写一个简单的RPG。 到目前为止,每次我尝试开始时,它立即变得混乱,我不知道如何组织任何东西。 所以我重新开始,试图创build一个基本上是MVC框架的新结构。 我的应用程序开始执行在控制器,它将创build视图和模型。 然后进入游戏循环,游戏循环的第一步是收集用户input。 用户input将被视图的一部分收集,因为它可能会有所不同(3D视图将直接轮询用户input,而远程视图可能通过telnet连接接收它,或者命令行视图将使用System.in )。 input将被转换成消息,并且每个消息将被给予控制器(通过方法调用),然后可以解释该消息以修改模型数据,或通过networking发送数据(因为我希望有一个networking选项) 。 这种消息处理技术也可以在networking游戏中用于处理networking消息。 我保持MVC的精神到目前为止? 无论如何,我的问题是,代表这些消息的最佳方式是什么? 这里是一个用例,每条信息用斜体表示:假设用户启动游戏并select字符2 。 然后用户移动到坐标(5,2) 。 然后他对公众聊天说:“嗨! 。 然后他select保存并退出 。 该视图应该如何将这些消息整理成控制器可以理解的东西? 或者你认为我应该有像chooseCharacter(),moveCharacterTo(),publicChat()? 当我转向networking游戏时,我不确定这样简单的实现是否可行。 但在极端的另一端,我不想只发送string到控制器。 这很困难,因为select字符操作需要一个整数,移动需要两个整数,聊天需要一个string(和一个范围(公共私人全局),在私人,目的地用户的情况下)。 没有真正的设置数据types。 任何一般的build议都非常受欢迎。 我在适当的时候担心这个吗? 我是否走上了一条精心布置的MVC应用程序的正确道路? 有什么我忘记了吗? 谢谢!