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

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

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

«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