Towards Efficient Fine-Tuning of Pre-trained Code Models: An Experimental Study and Beyond