小编Sim*_*onC的帖子

如何确认消息驱动Bean中的消息

在JMS文档中,我读到Message Driven Beans不支持CLIENT_ACKNOWLEDGE模式,仅DUPS_OK_ACKNOWLEDGEAUTO_ACKNOWLEDGE.

据我所知,在AUTO_ACKNOWLEDGE模式下,当调用onMessage方法时,消息被确认(从目标中删除).我想要的是告诉我的经纪人在发生不良事件时不要从目的地(队列或主题)删除消息

必须有一些方法来做到这一点.无论如何,为什么CLIENT_ACKNOWLEDGEMessage Drven Beans不支持.

java jms message-driven-bean

3
推荐指数
1
解决办法
3059
查看次数

为什么我们在java中将变量声明为私有

通常在java bean类中,我们将变量声明为private.无论如何,我们将setter和getter方法声明为public.然后我们就可以获得并设置属性的值.那么在这里将变量声明为私有的用途是什么?如果我宣布为公开会怎样?

提前致谢..

java encapsulation private public

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

'BitSet' 存储位还是整数?

我很困惑BitSetBitSet数据结构是否存储 1 和 0?

val b = BitSet(0, 2, 3) 
Run Code Online (Sandbox Code Playgroud)

意味着为位位置 0、2 和 3 存储 1?

如果是这样,最大值是多少?不。位,32 还是 64?

scala bit-manipulation bitset

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

优化循环内对象的创建

在Java 6 HotSpot VM上,以下哪一项更优化?

final Map<Foo,Bar> map = new HashMap<Foo,Bar>(someNotSoLargeNumber);    
for (int i = 0; i < someLargeNumber; i++)
{
  doSomethingWithMap(map);
  map.clear();
}
Run Code Online (Sandbox Code Playgroud)

要么

final int someNotSoLargeNumber = ...;
for (int i = 0; i < someLargeNumber; i++)
{
  final Map<Foo,Bar> map = new HashMap<Foo,Bar>(someNotSoLargeNumber);      
  doSomethingWithMap(map);
}
Run Code Online (Sandbox Code Playgroud)

我认为他们对意图都很清楚,所以我不认为风格/增加复杂性是一个问题.

直觉看起来第一个会更好,因为只有一个'新'.但是,如果不保留对地图的引用,HotSpot是否能够确定为每个循环创建相同大小的映射(内部为Entry [someNotSoLargeNumber]),然后使用相同的内存块(即不做了很多内存分配,只是将调零比调用每个循环的clear()更快?

一个可接受的答案是指向文档的链接,该文档描述了HotSpot VM实际可以实现的不同类型的优化,以及如何编写代码来协助HotSpot(而不是手动优化代码的天真魅力).

java optimization jvm-hotspot

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

实习一个字符串

当我们实习字符串时,我们确保该字符串的所有使用都指向同一个实例.

我假设底层字符串对象在堆中.

但是,引用变量存储在内存中的哪个位置?

它是否具有与以下相同的行为static- 其中引用存储在permgen中并且仅在类加载器(和应用程序)退出后才使字符串实例可用于gc?

java jvm memory-management

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

else if部分不起作用

如果存款部分不起作用,则其他情况与if的情况相同,如果no部分用于更新余额.

    public class BankAccount
    {


    static double Balance;

    public static void main(String[] args) 
    {
    Scanner sc = new Scanner(System.in);
    System.out.println("enter the account holder's name...");
    String Name = sc.next();
    System.out.println("enter his account number...");
    long AccNo = sc.nextLong();
    System.out.println("enter his type of account...");
    String AccTyp = sc.next();
    System.out.println("enter his current balance...");
    Balance = sc.nextDouble();

    System.out.println("Do you want to update your balance, press y for yes and n for                      no...");
    if(sc.next().equalsIgnoreCase("y") == true)
        {
           System.out.println("To withdraw money press w, To deposite the same, …
Run Code Online (Sandbox Code Playgroud)

java

-4
推荐指数
1
解决办法
107
查看次数