Arrays in Java refer to data structures that store homogeneous elements of the same type. There are three main features of arrays: dynamic allocation which reduces storage requirements, elements stored under a single name for easy access, and elements stored in contiguous locations. Arrays allow random access to elements via indexes but have a fixed size. Java supports one-dimensional, two-dimensional, and multi-dimensional arrays.