Object-oriented programming concepts were developed in the 1960s with languages like Simula. Java was created in the 1990s and was intended for embedded systems, requiring small size and reliability. Java programs are compiled to bytecode, allowing cross-platform portability. Key features of Java include being simple, object-oriented, network-capable, interpreted yet high-performance, robust with exception handling and memory management, secure, architecture neutral, portable, multithreaded, and dynamic.