DDDEN!SSS, ты не видел 8мб за одну секунду, которые забирает опера при запуске. Кстати, если ты собираешься проверять память в цикле, то создай именованый Runtime, а не создавай анонимный каждый раз.
Pavlus, seclub.org/forum/goto/11401644/ - в строке Runtime.getRuntime().totalMemory() нет и тем более не создаётся ничего анонимного. getRuntime() просто возвращает статическую переменную из класса Runtime и всё.
Pavlus, seclub.org/forum/goto/11401472/ - volatile точно используется, например, если переменная используется в потоке для контроля за его работой, и может быть изменена другим потоком. Тогда она объявляется как volatile, чтобы всегда использовалась главная копия (мастер-копия) переменной, а не локальная копия потока. assert доступен только с версии языка 1.4, на CLDC - 1.3. Они нужны для проверки состояния программы (которые можно отключать по желанию), например: assert var != 0 : "n was equal to zero"; - если var равна 0, будет исключение. transient показывает, что переменная не должна сохраняться при сериализации (записи созданного объекта класса в файл для последующего восстановления), которой в CLDC нет. strictfp запрещает проводить операции с плавающей точкой без округления промежуточных результатов, на Java ME есть, но слово вообще используется очень редко. Кстати, в CDC сериализация есть, и еще там версия языка 1.4, так что есть и assert.
Malcolm, ок. Спасибо. Я так понял volatile нужна если переменная передаётся в какой-то метод. Если обращение к ней происходит всегда на прямую(например myRunnableClass.state=1, где state и есть переменная) , то это не нужно?
29 июн 2010 в 15:24