My requirements are these:
- Fast classification of vectors of length 100 to one of 30000 classes
- Iterative learning (can improve the model after it was first learnt)
- Preferably available implementations in Matlab and Java
I would suggest using Deep Learning and especially convolutional neural networks. This might be a generic approach to large scale classification tasks. One such example is identifying faces. As an example, 10.000 classes have been tackled by Sun et. al. in the following : http://ieeexplore.ieee.org/document/6909640/
And iterative learning is of course supported.
Well, it depends on the nature of the classes. Personally, I prefer the SVM because it's easy to work with and it works (Not that fast)! You can also use the k-means method (but it really slooooooooooooooooow especially with this number of classes). Another classifier worth looking into is the Adaboost, they say it's fast :)
Have you considered multiple sigmoid regression? There is an analytical simplification of it's partial derivative that makes iterative algorithms simple. You can implement them yourself pretty easily.