I was experiencing some computer lockups on an old Vista machine using IE9. It's been happening for a while so I finally decided to try and track it down. This was a total lockup, where nothing in the system would respond except the mouse movement, and after clicking several times, even that would stop (with a short beep).
Ok, I know - why am I using Windows Vista and why on earth IE9? Well this is an old machine that is basically used as a TV/YouTube-sort-of device. My main machine is a newer machine with other browsers on it. And this is a relatively new problem - it never happened several years ago.
Fortunately, the problem is easy to reproduce. If I just go to facebook.com from IE9, the computer will lock up for a couple of minutes. The funny thing is it only happens the first time after booting the computer. After it happens once, it doesn't happen again, until a reboot. And only with the facebook homepage, not other facebook pages, though there are quite a few other websites out there that cause the problem as well.
At first I thought the problem might be Adobe Flash Player, as it often happened on sites with Flash video. But then again, half the sites on the Internet seem to contain Flash video, and youtube never seemed to cause the problem. But anyway, the first step was to remove Adobe Flash and reboot.
After rebooting and trying facebook again, same problem. I also tried uninstalling SpyBot just in case - also no effect.
So then I decided to disable Windows Defender, since that seems to do some real-time checking. Around the same time I noticed that one of the IE add-ons was some sort of Java plug-in. So I decided to uninstall Java as well - just went into Control Panel and looked for anything beginning with "Java" in the uninstall list.
After rebooting again - the problem was gone! Ok, so was it Windows Defender or Java causing the problem? I turned Windows Defender back on and once again rebooted.
So, who do you think as the culprit:
Windows Defender or Java?
After the reboot - problem was still gone! So it looks like the problem was actually Java.
Update: I spoke too soon. The problem resurfaced later in the day, with both Windows Defender disabled and Java uninstalled. So it looks like the answer is: neither. Still investigating...
I re-installed Adobe Flash Player, and the problem still seems to be gone - no more random 2-minute lockups.
I suppose I shouldn't really be surprised - Java seems to cause a lot of problems these days.
Back in the mid-90's Java had a lot of promise. It was all the rage to see something running in HotJava - platform-independent code that could run on Windows, Macs, Linux! It was seen as this technology that could change the world, and break everyone's dependence on specific operating systems.
Perhaps the first major stumbling block for Java as a client software platform happened when Corel made a fairly major effort to release Java versions of its WordPerfect suite. I remember trying an early version of it - it was pretty terrible. They gave up on it, and other players probably figured if Corel couldn't make it work, it wasn't worth pursuing.
And performance seemed to be a constant issue for Java. Installing it took forever, and even when just running things - whenever that Java logo popped up, I would wince, knowing it would be a LONG time before the thing loaded.
It just felt really heavy and cumbersome.
Shortly after that, Macromedia came out with Flash Player. I remember the first time I installed Flash Player was when someone sent me an e-card. I'm not sure if this was part of their strategy, but it worked - Flash Player started getting installed on a lot of machines. And they should thank IE6 for part of that too. At one point I tried uninstalling Flash and browsing the web, but it seemed like every website I went to would cause IE to pop up this dialog asking you to install Flash. There was no (obvious) way to just tell it "no and don't ask me again". So I ended up re-installing Flash Player, just to avoid the annoying dialogs.
Flash has not been without its own problems, but one thing they did right was keep it light and fast. It essentially became what Java was probably trying to be on desktop machines. From the late 90's through 2010 or so, if you wanted to do something across multiple platforms, Flash was probably one of the most likely solutions.
Of course, nobody likes seeing one player dominate so thoroughly - some estimate about 95% of machines had Flash installed several years ago. Starting with the iPhone in 2007 as well as the push for HTML5, companies started to actively resist Flash. Companies like Firefox and Google would love to see a world where you can do anything you need using just the native browser capabilities, and HTML5 was a fairly big step forward, with support for videos, fancy new CSS tricks, more powerful Javascript, etc.
Java meanwhile became the standard server programming environment - at least for a little while. Once again it seems to have taken on a stereotype of being a heavyweight system, powerful, but difficult to configure and pain to get set up. I think it's safe to say the vast majority of startups probably do not use Java as their programming language (now the confusingly-named Javascript is another matter - from its early days to do little blinky things on websites, it seems to be growing rapidly in usage with full "single-page" applications written entirely in Javascript and using the browser as the environment). Java today seems to be mainly used on the server by fairly large companies, probably the same sort of companies that require timesheets from their employees.
And then of course there's Android, which uses Java. Well, sort of. Android applications are written using the Java language, but apparently Android doesn't use the true Java environment or even Java bytecode - some more information from zdnet here.
But anyway, enough of this long winding historical post. The conclusion is, if you're running into weirdness on your machine and you don't have a specific need for Java, I would recommend uninstalling that cr... - software! (Update: Java apparently wasn't causing this issue. After quite a bit of trial-and-error, it appears the problem is related to a .css file that has a @font-face definition with inline font data. At least, that seems to be the problem with facebook.com. There probably is no solution since this is an IE9 / Windows Vista issue).