Поточний час:
Сьогодні 22 листопада, середа 2017 рік
Стрічка RSS

Введіть ваш Е-mail:

Zura-Blog 2 роки 11 місяців 3 дня

Ваш ip адрес:54.80.169.119

Доброї ночі!
Ви обновили сторінку в 3 : 39
Статистика

Кількість публікацій на блозі: 367
Кількість коментарів на блозі: 102
Кількість категорій на блозі: 17
Кількість міток на блозі: 28

Zura – Blog
Яндекс.Метрика UA TOP Bloggers

Post_86bПривіт продовжую сьогодні розглядати тему яка стосується мови програмування Java. Власне відносно програм написаних на Java, дехто стверджує що вони працюють повільно, і їм потрібно більше памяті чим додаткам які написані на інших мовах програмування.

Колись це було так, так як віртуальні машини на яких виконувався байт–код Java були недосконалі.

Крім того, мова  Java і віртуальна машина розроблялась не для компютерів, а як універсальне середовище для різних приладів, де швидкість роботи програм була некритична, а обєми даних не значні.

Швидкість виконання одинакових задач компілюємим кодом і інтерпретуємим кодом Java могла відрізнятись в сотні разів. З введенням компіляції в режимі реального часу в 1997–1998 р для Java 1.1 швидкість виконання Java–програм значно покращилась.

Додавання функцій мови, які використовуються для підтримки більш глубокого аналізу і оптимізації безпосередньо в Java Virtual Machine в деяких випадках HotSpot, створено по замовчуванню для JVM Sun в 2000р.

Таким чином на даний час  Java байт код не інтерпретується віртуальною машиною, а компілюється та ще й оптимізується, причому динамічно, на основі збираємих віртуальною машиною даних в ході виконання програми.

Іншими словами, якщо  Java колись була відносно повільною технологією, то тепер всі ці питання успішно вирішені.

До речі відповім на таке цікаве питання

 

“Як ефективніше використовувати память компютера таким чином щоб не робити роботу компютера повільнішою”.

Java використовує для цього автоматичний збір “мусора” (garbage collection) для керування памяттю в життєвому циклі обєкта.

Розглянемо процес детальнішк використовуючи автоматичний збір “мусора” (garbage collection)  Java як середовище виконання програми, бере на себе обовязки звільнення памяті від обєктів, які більше не використовуються.

Роль програміста тут заключається в створені динамічних обєктів і їх використанні. Він може тепер не турбуватись про видалення обєктів, так як за нього це робить  Java. Для здійснення збору мусора в  Java передбачений спеціальний програмний модуль, який називається “збирач мусора”.

Запускаючись періодично, цей модуль визначає, які із створених в динамічній памяті обєктів більше не використовуються, і звільняють заняту ними память.

Ситуація, коли створив обєкт в динамічній памяті, програміст не видаляє “мусор” після закінчення використання, виникає дуже часто. В такому випадку якщо посилючий на  обєкт змінної буде присвоєно нове значення і на обєкт немає других посилань, він стає програмно недоступним, але продовжує займати память, так як команда його видалення не викликалась.

Дану ситуацію називають “памяті”

Таким чином обєкти без посилань можуть формуватись в програмі постійно, відповідно, маючи місце утечка памяті — постійне збільшення  обєма використованої памяті. Якщо програма працює довго, обєм використованої памяті постійно росте і через деякий час значно уповільнюється робота всієї системи.

Одна із ідей автоматичного керування памятю  Java складається в тому, що програмісти звільняються від необхідності вручну керувати памятю додатків. В деяких мовах програмування використовується комбінація двух методів керування памятів, ручного і автоматичного.

Слід звернути увагу на то, що збиральник “мусора”  Java не допускає втрати “логічної памяті” а саме тої в якої ще є посилання, але яка по настоящому ніколи не використовувалась.

Збір “мусора” може проходити в любий момент і визначається особливостями системи Java. Збірник може працювати в фоновому режимі, запускаючись при неактивності програми (коли програма не працює очікуючи введення даних користувачем).

При винекненні ситуації, коли чергову операцію видалення памяті неможливо виконати із за того, що вся доступна память вичерпана запускається  “збиральник мусора”.

В такому випадку стається перерив в виконанні програми. Після завершення процесу звільнення памяті перервана операція виділяння памяті поновлюється і програма продовжує виконуватись дальше.

Бувають випадки що звільнити память не можливо, тоді програма зупиняється з повідомленням про помилку “Недостатньо памяті”

Підсумок

Технологія Java використовується в всіх основних сферах діяльності і приміняється в самих різних приладах, компютерів і мережах.

Універсальність, ефективність, сумсність з різними платформами і безпека технології Java роблять її ідеальним інструментом для мережевих технологій.

 

Java використовується всюди від портативних компютерів до центрів обробки даних, від ігрових приставок до научних суперкомпютерів, від мобільних телефонів до інтернету.

На цьому буду закінчувати публікації які присвячені мові програмування Java, більше дізнатись і також завантажити Java можна на сайті Java перейшовши за посиланням https://www.java.com/ru де на російськомовній сторінці зразу посередині стоїть червона кнопочка з написом ” Загрузить Java бесплатно”

А також на тій же сторінці можна перевірити клацнувши на текст “чи встановлений у вас на компютері програмне забезпечення  Java” а також ознайомитись більш детальніше клацнувши на текст “Что такоє Java”, і якщо вам буде потрібна допомога клацнути на текст “Требуєтся помощь”.

Всі ці тексти перекинуть вас на сторінки на якій знаходиться вся необхідна інформація яка стосується мови програмування Java.

java1

⇑https://www.java.com/ru

І на остаток додам що Java і JavaScript це дві різні мови програмування, незважаючи на схожість назви.

До зустрічі з повагою Руслан!


user_97

Більше матеріалів по мові програмування  розміщено на сторінці з назвою JAVA, на якій викладені основні визначення JAVA, а також вказані найбільшрозпоширені способи використання даної мови в інтернеті.

Посилання на сторінку:

4 Responses to Проблеми продуктивності і використання памяті в Java

  • Cortez says:

    Мені дуже подобається ваш блог .. Дуже гарний колір & тема. Ви зробили цей
    сайт самостійно або Ви наймаєте когось хто робить це за вас?
    Плз відповісти, я шукаю когось для створення свого власного блогу і хотів б
    з’ясувати, деяку пораду як ви отримати таку тему. Дякую

    [Відповісти]

    Ruslan Reply:

    Тему створив сам за користуючись програмою Artisteer, вам також рекомендую спробувати створити свою тему з допомогою даної програми, як працювати з Artisteer можна прочитати в публікаціях на блозі “Перші спроби в веб дизайні починаєм з ARTISTEER”, і ще одна “Як зробити шаблон для сайту за допомогою програми ARTISTEER”, публікації можна найти ввівши в поле для пошуку в боковій панелі назву публікації, або в категорії “Програми для веб-дизайну”

    [Відповісти]

  • jesten says:

    Я дійсно вражений форматом у вашому блозі.
    Це платна тема чи ви налаштувати її самі? У любому випадку так тримати, зробіть ще відмінну
    якість запису, рідко можна побачити хороший блог такий як цей сьогодні.

    [Відповісти]

    Ruslan Reply:

    Тема не платна, але програма ARTISTEER якою створена тема платна, якість запису звичайно з часом зроблю кращою, погоджуюсь з вами що сайт потрібно старатись робити все кращим, міняючи в кращу сторону як сам дизайн, так і якість запису і т.д.

    [Відповісти]

Leave a Reply

Your email address will not be published. Required fields are marked *