Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Простая программа ест файл подкачки  (Прочитано 8137 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Vantuz-Subhuman
Участник

ru
Offline Offline
Пол: Мужской

« : 21-08-2010 12:54 » 

Здравствуйте.
Только начал изучение потоков.
Написал простенькую программу отображающую системное время на трёх линейных регуляторах.
При запуске программы, диспетчер задач Windows показывает увеличение файла подкачки на 45-50 МБ (Физической памяти: 1 ГБ).
Вопрос: должно ли так быть и, если нет, как это возможно исправить? А заодно может укажете на другие ошибки.

Заранее спасибо.

Вот код программы:

Код:
package org.vsubhuman;

import java.awt.*;
import java.util.*;
import javax.swing.*;

public class SliderClock extends Thread
{
JSlider jsldrHours;
JSlider jsldrMinutes;
JSlider jsldrSeconds;

SliderClock()
{
/* FRAME */

JFrame jfrm = new JFrame("Slider Clock");
jfrm.setLayout(new GridLayout());
jfrm.setSize(300, 300);
jfrm.setResizable(false);
jfrm.setLocation(362, 200);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfrm.setVisible(true);

/* SLIDERS */

jsldrHours = new JSlider(JSlider.VERTICAL, 0, 24, 0);
jsldrMinutes = new JSlider(JSlider.VERTICAL, 0, 60, 0);
jsldrSeconds = new JSlider(JSlider.VERTICAL, 0, 60, 0);

// Set Tick Spacing
jsldrHours.setMajorTickSpacing(3);
jsldrHours.setMinorTickSpacing(1);
jsldrMinutes.setMajorTickSpacing(5);
jsldrMinutes.setMinorTickSpacing(1);
jsldrSeconds.setMajorTickSpacing(5);
jsldrSeconds.setMinorTickSpacing(1);

// Set Ticks and Labels Paint
jsldrHours.setPaintTicks(true);
jsldrHours.setPaintLabels(true);
jsldrMinutes.setPaintTicks(true);
jsldrMinutes.setPaintLabels(true);
jsldrSeconds.setPaintTicks(true);
jsldrSeconds.setPaintLabels(true);

// Set Focusable
jsldrHours.setFocusable(false);
jsldrMinutes.setFocusable(false);
jsldrSeconds.setFocusable(false);

/* ADDING */

jfrm.add(jsldrHours);
jfrm.add(jsldrMinutes);
jfrm.add(jsldrSeconds);

/* END */

JPanel panel = (JPanel)jfrm.getContentPane();
panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

this.start();
}

public void run()
{
while(true)
{
try
{
jsldrHours.setValue(Calendar.getInstance().get(Calendar.HOUR_OF_DAY));
jsldrMinutes.setValue(Calendar.getInstance().get(Calendar.MINUTE));
jsldrSeconds.setValue(Calendar.getInstance().get(Calendar.SECOND));

Thread.sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}

public static void main(String[] args)
{
SwingUtilities.invokeLater(
new Runnable()
{
public void run()
{
new SliderClock();
}
}
);
}
}
Записан

«You should never underestimate the predictability of stupidity»,
«Never attribute to malice that which can be adequately explained by stupidity»
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-08-2010 14:08 » 

Vantuz-Subhuman, а когда ты другие java-приложения запускаешь, они меньше памяти отъедают? Может это необходимый объем памяти для java-машины?
Записан
Vantuz-Subhuman
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 21-08-2010 14:14 » 

Действительно столько же.
Прошу прощения за недогадливость.
Спасибо.
Записан

«You should never underestimate the predictability of stupidity»,
«Never attribute to malice that which can be adequately explained by stupidity»
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines