My choice is Eclipse, though definition of best varies from person to person. Here are top three IDE which can be used on windows
Eclipse is available under a Eclipse Public License and is available on Windows, Mac OS X and Linux and free Java IDE for developers and programmers and it is mostly written in Java. Eclipse lets you create various cross platform Java applications for use on mobile, web, desktop and enterprise domains.
NetBeans is cross-platform and runs on Microsoft Windows, Mac OS X, Linux, Solaris and other platforms supporting a compatible JVM.
The NetBeans IDE supports development of all Java application types (Java SE, JavaFX, Java ME, web, EJB and mobile applications) standard out of the box. NetBeans is modular in design meaning it can be extended by third party developers who can create plugins for NetBeans to enhance functionality (Our PDF Plugin for NetBeans is a good example).
The NetBeans IDE is can be used to develop in Java, but also supports other languages, in particular PHP, C/C++, and HTML5. NetBeans features are an Ant-based project system, support for Maven, refactoring, version control (supporting CVS, Subversion, Git, Mercurial and Clearcase) and is also released under a dual license consisting of the Common Development and Distribution License (CDDL) v1.0 and the GNU General Public License (GPL) v2.
IntelliJ IDEA Community Edition
IntelliJ Idea Community Edition is is released under a Apache 2 License which is a free Java IDE (Integrated Development Environment) mainly used for Android app development, Scala, Groovy, Java SE and Java programming. It is lightweight in design and comes with useful features like JUnit testing, TestNG, debugging, code inspections, code completion, support for multiple refactoring, Maven build tools, ant, visual GUI builder and code editor for XML and Java.
There are some features missing from the Community Edition but if you require more you can buy a license to unlock all the features.