In G1, an object whose size is at least half a region. It is allocated directly in contiguous old regions and bypasses the young generation.
G1 splits the heap into equal regions of 1 MiB to 32 MiB (a power of two chosen from the heap size; -XX:G1HeapRegionSize overrides it). Large arrays, buffers or strings can exceed half a region. They then occupy one or more contiguous regions entirely, and the unused end of the last region is wasted.
This causes three problems: fragmentation (contiguous free regions are needed), early concurrent cycles (a humongous allocation can start a Concurrent Start collection; the log cause is G1 Humongous Allocation) and, when the heap is nearly full of them, evacuation failures or full collections. Dead humongous objects can be reclaimed eagerly during young collections, but long-lived ones stay until a concurrent cycle or a mixed collection frees them.
Remedies: raise the region size, break up large buffers, or reuse them. The Humongous view of GC Doctor lists the collections concerned.
Official documentation: Garbage-First (G1) Garbage Collector (Oracle)