Search
Write a publication
Pull to refresh
6
0
Iurii Glushenkov @Arx777

Java Software Engineer

Send message

Trace Compass and GZip

Reading time4 min
Views1K

Trace Compass with GZip

Trace Compass is an open-source application performance analysis framework. It is designed to visualize and analyze traces, which are recordings of events that occur in a software system during its execution. Trace Compass is particularly useful for understanding the behavior, performance, and interactions within complex software systems.

Key features of Trace Compass include:

Trace Visualization: It provides a graphical representation of traces, allowing users to visualize the sequence and timing of events in a system.

Analysis Tools: Trace Compass offers various analysis tools and modules for different types of traces, helping users identify performance bottlenecks, errors, and other issues.

Support for Multiple Trace Formats: It supports a wide range of trace formats from different sources, making it versatile for analyzing traces generated by various software components.

Customizable Views: Users can customize the views and analyses based on their specific needs, allowing for a more tailored and effective analysis process.

Integration with Eclipse: Trace Compass is often integrated with the Eclipse IDE, providing developers with a seamless environment for analyzing and debugging their applications.

Overall, Trace Compass is a valuable tool for developers, system administrators, and performance analysts to gain insights into the runtime behavior of software systems and optimize their performance.

Read more

The Java Language Specification. Chapter 17. Threads and Locks (Перевод. Часть 1)

Reading time8 min
Views5.6K
Привет, Хабр! Представляю вашему вниманию перевод статьи «The Java Language Specification (Chapter 17. Threads and LocksОригинал.

Глава 17. Треды и блокировки (Chapter 17. Threads and Locks)

В то время как большая часть дискуссий в предыдущих главах касалась только поведения кода, исполняемого одновременно и как единое утверждение или выражение одновременно, т.е. в одном треде, JVM (Java virtual machine) может поддерживать одновременно несколько тредов исполнения. Эти треды независимо друг от друга используют код, который действует на значения и объекты, находящиеся в общей памяти (shared main memory). Треды могут поддерживаться за счет использования множества аппаратных процессоров, временным разделением одного аппаратного процессора или временным разделением нескольких аппаратных процессоров.

Треды представлены классом Thread. Единственный способ, каким пользователь может создать тред — это создать объект этого класса; каждый тред ассоциируется с каким-то объектом. Тред начнет свое исполнение, когда будет вызван метод start() на соответствующем Thread-объекте.
Поведение тредов, особенно когда синхронизация выполнена некорректно, может быть непонятно и не соответствовать ожиданиям. Эта глава описывает семантику многопоточного программирования; она содержит правила, согласно которым значения можно увидеть для чтения в общей памяти, которая обновляется множеством тредов. Так как спецификация аналогична Memory Models для различных архитектур, эта семантика известна как Memory Model языка программирования Java. Когда не будет возникать путаницы, мы просто будем называть эти правила "Memory Model".

Эта семаника не предписывает, как должна выполняться многопоточная программа. Скорее, она описывает возможное поведение, которое могут демонстрировать многопоточные программы. Приемлима любая стратегия выполнения, которая генерирует возможные модели поведения.

17.1 Синхронизация (17.1. Synchronization)
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity