我有两个并行的继承链:
Vehicle <- Car
<- Truck <- etc.
VehicleXMLFormatter <- CarXMLFormatter
<- TruckXMLFormatter <- etc.
Run Code Online (Sandbox Code Playgroud)
我的经验是,并行继承层次结构随着它们的增长而成为一种维护问题.
即不向toXML(), toSoap(), toYAML()我的主要类添加方法.
如何在不违反关注点分离概念的情况下避免并行继承层次结构?
Java中不可变对象的优点似乎很清楚:
您可以通过使用私有final字段和构造函数注入来支持不变性.
但是,在Java中支持不可变对象的缺点是什么?
即
是否有可能设计一个主要使用不可变对象的大规模系统(深层对象图)?
是否有人使用Drupal进行大规模,关键业务的企业应用程序?
Drupal缺乏数据库事务支持是否会阻止潜在用户?
是否有其他基于动态语言的轻量级Web框架,人们正在使用这些类型的应用程序?那些Java门户网站如JBossPortal或Jetspeed作为替代或Drupal + J2EE混合架构呢?
为什么这个代码有时会返回1E + 1,而对于其他输入(例如17),输出不会以科学计数法打印?
BigDecimal bigDecimal = BigDecimal.valueOf(doubleValue).multiply(BigDecimal.valueOf(100d)).stripTrailingZeros();
System.out.println("value: " + bigDecimal);
Run Code Online (Sandbox Code Playgroud) 假设我有一个从java.util.concurrent.BlockingQueue中提取元素并处理它们的任务.
public void scheduleTask(int delay, TimeUnit timeUnit)
{
scheduledExecutorService.scheduleWithFixedDelay(new Task(queue), 0, delay, timeUnit);
}
Run Code Online (Sandbox Code Playgroud)
如果可以动态更改频率,如何安排/重新安排任务?
依赖注入是否意味着您不需要'new'关键字?或者直接创建简单的叶子类如集合是否合理?
在下面的示例中,我注入了比较器,查询和dao,但是SortedSet是直接实例化的:
public Iterable<Employee> getRecentHires()
{
SortedSet<Employee> entries = new TreeSet<Employee>(comparator);
entries.addAll(employeeDao.findAll(query));
return entries;
}
Run Code Online (Sandbox Code Playgroud) Java中线程命名的最佳实践是什么?是否有任何命名约定?
我想从接口自动生成一些java类.我的第一个想法是编写代码生成器,并将其集成为maven插件.
我正在考虑创建一个maven插件,其中包含在构建过程中调用的codegen目标.
因此,如果我选择此路由,如何为插件提供要处理的接口?应该在哪里生成文件?
是否有任何现有的插件可以配置为生成默认的类实现?
从包含两个参数名义和货币的对象列表开始,我如何汇总每种货币的总名义?
鉴于:
case class Trade(name: String, amount: Int, currency: String)
val trades = List(
Trade("T150310", 10000000, "GBP"),
Trade("T150311", 10000000, "JPY"),
Trade("T150312", 10000000, "USD"),
Trade("T150313", 100, "JPY"),
Trade("T150314", 1000, "GBP"),
Trade("T150315", 10000, "USD")
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到:
Map(JPY -> 10000100, USD -> 10010000, GBP -> 10001000)
Run Code Online (Sandbox Code Playgroud) 我正在使用JBoss运行客户端/服务器应用程序.
如何连接到服务器JVM的MBeanServer?我想使用MemoryMX MBean来跟踪内存消耗.
我可以使用JNDI查找连接到JBoss MBeanServer,但java.lang.MemoryMX MBean未在JBoss MBeanServer中注册.
编辑:要求从客户端以编程方式访问内存使用情况.
java ×8
oop ×2
bigdecimal ×1
comparison ×1
concurrency ×1
drupal ×1
enterprise ×1
guice ×1
immutability ×1
inheritance ×1
java-ee ×1
jboss ×1
jmx ×1
maven-2 ×1
mbeans ×1
php ×1
plugins ×1
scala ×1
spring ×1