Teachers, What's the difference between have done and have been doing?

In my opinion, I think both of them are the same. For example,

"I have been learning English for 10 years.'' "I have learned English for 10 years." The meanings of these two sentences are the same.

Do you agree?