小编use*_*980的帖子

android dalvik vm是否使用转义分析优化?

关于dalvik逃逸分析的任何想法?或者何时以及是否计划添加?

我认为转义分析是GC语言中一个非常重要的特性,可以避免每次调用方法时产生对象,并且当前我在类中预先分配一个对象并在方法的开头重置它,所以我避免分配(我正在写用于Android的3D游戏...在java)中,但我发现这种方法很丑陋并且使用预分配的对象保持内存不足.

android dalvik escape-analysis

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

ReentrantLock同步getter和setter

假设您有以下代码:

public int getSpeedX() {
    speedLock.lock();
    try {
        return speedX;
    } finally {
        speedLock.unlock();
    }
}

public void setSpeedX(int x) {
    speedLock.lock();
    try {
        speedX = x;
    } finally {
        speedLock.unlock();
    }
}
Run Code Online (Sandbox Code Playgroud)

返回速度X好吗?或应该是:

public int getSpeedX() {
    int temp;
    speedLock.lock();
    try {
        temp = speedX;
    } finally {
        speedLock.unlock();
    }
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

哪个是对的?或者他们是等同的?

java concurrency multithreading locking reentrantlock

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