Для студентов СПбГУ по предмету ДругиеМодификация Java UI для удовлетворения требований проекта OpenJDK CRaCМодификация Java UI для удовлетворения требований проекта OpenJDK CRaC
4,935803
2024-07-162024-07-16СтудИзба
Курсовая работа: Модификация Java UI для удовлетворения требований проекта OpenJDK CRaC
Описание
Оглавление
2
Введение
Согласно индексу TIOBE, на протяжении двадцати лет Java входит в тройку самых популярных языков программирования в мире [16]. Это связано с кроссплатформенностью, надежностью, поддержкой высоко-уровнего параллелизма, обширной библиотекой классов, которая позво-ляет писать программы для самых разных целей. Java активно исполь-зуется в веб–разработке, мобильной разработке, науке, программных инструментах, в анализе данных.
Для исполнения Java–приложений необходима JRE (Java Runtime Environment) — это минимальная реализация JVM (Java Virtual Machine, исполняет байт-код), включающая в себя стандартный набор библио-тек классов. JRE и набор инструментов для разработки приложений в совокупности образуют JDK (Java Development Kit). Эталонной реали-зацией Java считается OpenJDK.
В настоящее время Java является одним из самых быстрых языков по времени выполнения, немного уступая популярным C, C++ [11]. Однако для Java–программ характерны медленный старт и необходи-мость предварительного разогрева. Это связано с загрузкой и иници-ализацией множества классов, из которых состоит запускаемая Java– программа. Чтобы снизить влияние загрузки классов на скорость стар-та программы, применяются такие технологии как Application Class Data Sharing [2], динамическая JIT–компиляция, Ahead–of–Time ком-
пиляция. Однако эти процессы также требуют немало времени, что не всегда позволяет увидеть ощутимое преимущество от их использова-ния.
Одним из решений проблемы медленного старта Java–программ яв-
Введение | 3 | |||
1. | Постановка задачи | 5 | ||
2. | Обзор | 6 | ||
2.1. | Базовая графическая библиотека AWT . . . . . . . . . . | 6 | ||
2.2. | X Window System . . . . . . . . . . . . . . . . . . . . . . . | 7 | ||
2.3. | СетевойпротоколX11 .................... | 8 | ||
2.4. | Использование AWT другими графическими библиотеками | 9 | ||
2.5. | Наработки ........................... | 10 | ||
3. | Ход работы | 11 | ||
3.1. | Описание AWT–приложения . . . . . . . . . . . . . . . . . | 11 | ||
3.2. | Общение AWT–приложения с X Server . . . . . . . . . . . | 12 | ||
3.3. | Описаниепроблемы...................... | 12 | ||
3.4. | Поискпричиныошибок.................... | 13 | ||
3.5. | Устранениепроблемы..................... | 15 | ||
3.5.1. | XWindow, XBaseWindow . . . . . . . . . . . . . . . | 15 | ||
3.5.2. | AwtGraphicsConfigData, XVisualInfo . . . . . . . . | 16 | ||
3.5.3. | X11GraphicsConfig, XRGraphicsConfig . . . . . . . | 18 | ||
3.5.4. | X11GraphicsDevice, X11GraphicsEnvironment . . . | 20 | ||
3.5.5. | Реализациярешения ................. | 21 | ||
4. | Проверка результата | 23 | ||
Заключение | 25 | |||
Список литературы | 26 |
2
Введение
Согласно индексу TIOBE, на протяжении двадцати лет Java входит в тройку самых популярных языков программирования в мире [16]. Это связано с кроссплатформенностью, надежностью, поддержкой высоко-уровнего параллелизма, обширной библиотекой классов, которая позво-ляет писать программы для самых разных целей. Java активно исполь-зуется в веб–разработке, мобильной разработке, науке, программных инструментах, в анализе данных.
Для исполнения Java–приложений необходима JRE (Java Runtime Environment) — это минимальная реализация JVM (Java Virtual Machine, исполняет байт-код), включающая в себя стандартный набор библио-тек классов. JRE и набор инструментов для разработки приложений в совокупности образуют JDK (Java Development Kit). Эталонной реали-зацией Java считается OpenJDK.
В настоящее время Java является одним из самых быстрых языков по времени выполнения, немного уступая популярным C, C++ [11]. Однако для Java–программ характерны медленный старт и необходи-мость предварительного разогрева. Это связано с загрузкой и иници-ализацией множества классов, из которых состоит запускаемая Java– программа. Чтобы снизить влияние загрузки классов на скорость стар-та программы, применяются такие технологии как Application Class Data Sharing [2], динамическая JIT–компиляция, Ahead–of–Time ком-
пиляция. Однако эти процессы также требуют немало времени, что не всегда позволяет увидеть ощутимое преимущество от их использова-ния.
Одним из решений проблемы медленного старта Java–программ яв-
Характеристики курсовой работы
Список файлов
Модификация Java UI для удовлетворения требований проекта OpenJDK CRaC.doc