Необходимо измерить его с инструментом или оценить его вручную, и это зависит от JVM, которую Вы используете.
существуют некоторые фиксированные издержки на объект. Это является определенным для JVM, но я обычно оцениваю 40 байтов. Тогда необходимо посмотреть на членов класса. Ссылки на объект равняются 4 (8) байты в 32-разрядной (64-разрядной) JVM. Типы примитивов:
Массивы следуют тем же правилам; то есть, это - ссылка на объект так, чтобы взял 4 (или 8) байты в Вашем объекте, и затем его длина, умноженная на размер его элемента.
Попытка сделать это программно с вызовами к Runtime.freeMemory()
просто не дает Вам много точности, из-за асинхронных вызовов к сборщику "мусора", и т.д. Профилирование "кучи" с-Xrunhprof или другими инструментами даст Вам самые точные результаты.
Я не думаю, что вы можете специально проверить кнопку "Назад", но я считаю, что вы можете проверить позицию браузера в истории с помощью Javascript.
Да. В javascript вы можете использовать visit.value
function checkrefresh()
var visited = getCookie("visited");
{
if((form.visited.value == '' || form.visited.value == null) && (visited != '1') )
{
document.form.visited.value = "1";
document.cookie = "visited=1";
//here you set it to something so that next time they go to the page it will no longer be nothing and you can 'disable the button' see below.
}
else
{
document.form.submitbutton.disabled=true;
}
}
function getCookie(name)
{
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
}
, вы бы назвали это в теге onload FYI.
Разве это не то поведение, которое вы хотите, чтобы они не отправляли дважды с помощью кнопки возврата?
В любом случае, вы можете установить файл cookie на следующей странице и обнаружить, что при загрузке на страницу с формой.