Как писать программы на java?
И, согласитесь, что зная действия с массивами, я вряд ли пойму логику работы графического редактора 
Декомпозиция - и все сведется к тем же действиям с массивами (условно). Просто в очень большом количестве.
Основы и есть все что железобетонно необходимо знать, все опирается на это.
Как пример что вы привели массивы и графический редактор.
Если взять за основу 3д редактор то выйдет следующее. Утрированно все работает на этих массивах. Модель состоит из массива точек, еще один массив описывает соединения точек из первого массива в полигоны, дальше еще один массив описывает координаты текстурной развертки по этим полигонам. Все операции в том или ином виде идут над этими массивами, причем как правило они весьма простые но математические.
В общем учите основы, дальше уже берите книжки с уклоном что вам нравится, если графика то по большей части это будут книги не языковые а матан,геометрия и т.д. .Если хочется в сеть то для начала книжку про то как это устроено, спецификации и стандарты, потом уже можно взять книжку именно по java и сетям и дело пойдет очень легко.
Любая программа даже самая огромная в конечном счете состоит из множества простейших участков кода основ.