WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Какой существует правильный путь для проверки доступности памяти?

Какой существует правильный путь для проверки доступности памяти?


Дата публикации: 17-03-2013

Предложение от Michael L. Creech)
Некоторую информацию о системной памяти можно заполучить из класса lang.Runtime .
Вот небольшое приложение, которое печатает количесво свободной и доступной памяти . Однако количество свободной памяти - приблизительно. Я верю, что если запустить сборщик мусора (gc()) до вызова 'freeMemory()', то будут более достоверные результаты.

import java.applet.*; // we use Applet
import java.awt.*; // we use Graphics

public class MemoryStats
{
public static void main (String args[])
{

Runtime rt = Runtime.getRuntime ();
rt.gc (); // Необязательный шаг, но будет больше достоверность, может быть
long freeMem = rt.freeMemory (); // Не всегда точно, но приблизительно
long totalMem = rt.totalMemory ();

System.out.println ("Total Memory Available = " + totalMem);
System.out.println ("Free Memory Available = " + freeMem);
}
}
Предложение от Steve Alexander
Проверка доступной памяти на клиентской системе, может быть выполена при использовании классаe Runtime, предоставлябщено основную информацию об окружении VM частного пользователя.
Это простое приложение использует несколько методов класса Runtime (getRuntime(), freeMemory, totalMemory и сборщик мусора (gc()) для вывода до и после работы сборщика.

import java.awt.*;
import java.lang.Thread;
import java.lang.Runtime;
import java.io.IOException;

public class ExecDemo extends Frame
{
public String textString;
Runtime rt;

long freeMem, freeMem2, totalMem, totalMem2;

public static void main(String args[])
{
ExecDemo m = new ExecDemo("Test");
Button clearMem = new Button("Run Garbage Collector");
m.add("South", clearMem);
m.start();
}

public void start()
{
resize(400,125);
rt = Runtime.getRuntime();
show();

freeMem = rt.freeMemory();
totalMem = rt.totalMemory();
}

public ExecDemo(String s)
{
super("VM Memory Example");
}

public void paint(Graphics g)
{
g.drawString("Free memory (pre-GC) = ", 15, 20);
g.drawString(Long.toString(freeMem), 150, 20);

g.drawString("Total memory (pre-GC) =", 15, 35);
g.drawString(Long.toString(totalMem), 150, 35);

g.drawString("Free memory (post-GC) = ", 15, 50);
g.drawString(Long.toString(freeMem2), 150, 50);

g.drawString("Total memory (post-GC) =", 15, 65);
g.drawString(Long.toString(totalMem2), 150, 65);

g.setColor(Color.blue);
g.drawString("All memory in bytes", 15, 80);
}

public boolean handleEvent(Event e)
{
if(e.target instanceof Button)
{
String label = ((Button)e.target).getLabel();
if(label.equals("Run Garbage Collector"))
{
//System.gc();
rt.gc();
freeMem2 = rt.freeMemory();
totalMem2 = rt.totalMemory();
repaint();
return true;
}
}
return false;
}
}

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)
Октябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Неизвестный автор:

    "Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили."

    Опрос

    Как Вам новый дизайн сайта?

    Отлично
    Неплохо
    Нормальный
    Ужасно