ActiveMQ is an open source message broker built with Java that supports Java standards like JMS and J2EE. It allows applications to communicate asynchronously by sending and receiving messages through topics and queues. Messages consist of headers and a body that can contain different types of data like XML, text, or binary objects. ActiveMQ provides features like message durability, persistence, content-based filtering using SQL, and scalability.