Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Shaos, а есть какой-либо приём ЗАМЕДЛИТЬ выполнение программы на Java?
А то вроде как наблюдаю некий непринципиальный глючок при выводе на канвас,
но никак не пойму - есть ли он реально, и в чем заключается...
Хочется рассмотреть вывод приторможенно.
|
11 Jun 2011 05:24 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
|
11 Jun 2011 16:05 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Отлаживал тут я программу на Жабе и странный глюк у неё: папка с языковой
поддержкой прямо на виду - в текущей директории, а Жаба-апплет её в упор
не находит...
Ну пришлось посмотреть, где он ищет - и тут я впал в ступпор:
Вот эта папка: C:\WINDOWS\¦L+++Lг TT+T\ которая к тому-же успешно открывается!
Что это может быть за фигня?
Предположил, что это русское что-то так отображается, но русских папок в
C:\WINDOWS\ всего две: Главное меню и Рабочий стол...
пробовал в них подложить LANGUAGES\EN.TXT - не подходит...
Какие могут быть предположения?
_________________ iLavr
|
22 Aug 2012 00:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Самое странное, что после поиска папки с языковой поддержкой
LANGUAGES\EN.TXT по этому странному пути: C:\WINDOWS\¦L+++Lг TT+T\
апплет не ищет её больше нигде, что как-то совершенно нехарактерно!
По крайней мере должен поискать в своей текущей директории!
Но апплет выдаёт предупреждение:
После чего завершает работу...
Вдвойне странно, что если апплет запустить в лобовую:
Все папки и пути находятся правильно и без ошибок...
PS. А кстати говоря, куда браузеры распаковывают апплет в архиве .JAR ?
По моим наблюдениям IE складывает .JAR-ы вот сюда:
C:\WINDOWS\Application Data\Sun\Java\Deployment\cache\javapi\v1.0\
Там есть 3 папочки: ext, file, jar, tmp.
Если запустить из IE .html-файл с апплетом, скажем, Clock.jar,
он появляется в папке:
C:\WINDOWS\Application Data\Sun\Java\Deployment\cache\javapi\v1.0\jar
в довольно странном виде:
Clock.jar-259e87a0-6cf5728c.zip
А вот куда архив .JAR разворачивается - не представляю... Для корректной работы он же должен развернуться с сохранением внутренней структуры папок апплета...
_________________ iLavr
|
22 Aug 2012 09:46 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 889
|
А никуда. Так из zip-архива по одному файлу и читает.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
22 Aug 2012 09:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Серьёзно? Прямо не верится! А где бы это уточнить поофициальнее?
Не то, чтобы я не верю, но дико как-то постоянно лазить за файлами в архив!
Опера, кстати, складывает архивы .JAR вот здесь:
Она их переименовывает на свой лад и где-то помечает...
Наверное внутри... в одном из файлов нашел текст: Clock.jar
_________________ iLavr
|
22 Aug 2012 10:04 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
ну твоё озу заведомо больше размера джара - что джаве мешает его в память раздекодить?
|
22 Aug 2012 10:07 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это уже второе мнение...
1. Жаба постоянно лазиет в zip-файл.
2. Жаба удерживает распакованный архив в ОЗУ с сохранением струкуры папок.
Истина, наверное, где-то рядом... Как бы её поточнее узнать?
Вопрос-то у меня не праздный. Я ж смотрю - что подглюкивает в путях
файлов Жабёнок порой...
PS. Я не ленивый, я погуглил вопрос... но безрезультатно пока...
_________________ iLavr
|
22 Aug 2012 10:15 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Тем не менее, похоже, что так и есть, и b2m совершенно прав!
Для проверки запустил сложный по структуре апплет из примеров Джабы:
C:\WORK\j2sdk1_4\demo\plugin\jfc\Java2D\Java2Demo.jar
Запускал через файл Java2D.html из папки:
C:\WORK\j2sdk1_4\demo\plugin\jfc\
следующим кодом:
И промониторил обращения к файлам во время запуска апплета... В протоколе кроме сплошных обращений к файлу Java2Demo.jar с позиционированием внутри этого файла ничего другого не обнаружил.
Специально просмотрел текст протокола мониторинга обращений к файлам
на фразы " JAVA2DEMO.CLASS" и " .CLASS" - таковых не нашлось, хотя
APPLET CODE = java2d.Java2DemoApplet.class
Значит необходимые файлы апплета по ходу процесса постоянно вынимаются
из архива JAVA2DEMO.JAR! Кто-бы мог подумать!
_________________ iLavr
|
22 Aug 2012 11:43 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Ну может они не постоянно вынимаются, а вынимаются ОДИН РАЗ чтобы быть закешированными в памяти?...
P.S. Кстати эту дискуссию скорее надо было вести в топике про смерть жабы
|
22 Aug 2012 12:09 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Не думаю - обращения постоянно следуют и число их велико... Файл протокола в zip-архиве аплоудером не скушался...в rar-тоже... А чего гадать? Промониторь память и истину - обретём...
Мне представляется, что " в топике про смерть жабы" вести эту дискуссию
о её жизненных процессах было бы по меньшей мере оффтопом...
Да ты и сам там постоянно подчеркиваешь эту мысль...
Так что - оставим " топик про смерть жабы" для соболезнований и некрологов...
_________________ iLavr
|
22 Aug 2012 12:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
оставим
|
22 Aug 2012 13:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А в исходнике лажи не наблюдается?
У меня ощущение, что с applet.getCodeBase проблема... не указана она нигде
напрямую апплету...
PS. Да.. что-то тут не продумали... :( До URL url=new URL(applet.getCodeBase()+"languages/en.txt");
дело ни разу не доходит просто...
После попытки prop.load(new FileInputStream("languages/en.txt"));
программа вываливается нафиг с предупреждением...
_________________ iLavr
|
22 Aug 2012 14:48 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
applet.getCodeBase() - это вроде бы тот каталог откуда апплет запустился
|
22 Aug 2012 17:11 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну это так... только до него дело не доходит ни разу:
Похоже applet=null в этот момент, откуда пытаются:
prop.load(new FileInputStream("languages/en.txt"));
оно, не срабатывает, т.к. languages/en.txt не в папке апплета - и всё выходит в аут...
Как-то так получается...
Я поставил там в нужных местах public String givenUrl = applet.getCodeBase()+"languages/",
а по выпадению - вывожу его на печать... givenUrl = null
_________________ iLavr
|
22 Aug 2012 17:23 |
|