Everybody blames windows
Remember people, windows will never start or stop a service on its own unless it's been told so, there is a conflict, or there's a critical error.
In this case, it's probably either the Java Runtimes or another app that uses port 8080.
Possible problem No1:
Jenkins is trying to start Java from c:\Program Files\Java\jre1.8.0_144\bin (or something similar) but if you did a Java update, the path changed and the software sadly doesn't look in the new path.
In the installation folder, there is a
jenkins.xml. This contains the reference to the java installation in the tag. Change it to your current java installation and it will start again.
Keep in mind that there is a version-independent absolute path, that can be used to start the java run-time
: C:\ProgramData\Oracle\Java\javapath\java.exe.
Also deleting the
jenkins_agent.pid and restarting might help if the above steps alone won't fix the issue.
Possible problem No2:
A different application/service is using
TCP port 8080. You can never have 2 apps using the same port. Check the jenkins.err.log and see if that is the issue. You can check which app uses which port with TcpView.
If the above won't help, maybe downgrade JDK? If I remember well Jenkins uses JDK 8 to 11 so it might have issues with newer versions? It's also very rare (but happens a lot to us developers) that your windows log is full of events. When the log is full, a lot of services that generate log messages fail to start. You lose nothing by checking this and clearing the logs.
Hope it helped.