javaに限った質問ではないんですが、

左上の座標(x,y)、縦横の長さ(a,b)がわかった長方形が2つあるとして
それらが重なっているか否かを判定するのに、いいアルゴリズムは無いですか?