go on google and look up how to make java run faster. there is a way to force more or your ram to be devoted to minecraft (by default it is 256 mb). its something like go into the control panel settings for java runtime environment and type -xmx2000m if you want to devote 2000 mb to java (2 gigs of ram). this devoted space will NOT be useable by anything other than java, which includes facebook, minecraft, most RPG games, but will not allow it to be used by things like playing non-java games, storing loaded content when your watching a youtube video, and running windows. this will only help if the problem is how much ram you have. it may also be that your graphics card isn't good enough.
some other suggestions:
-turn down your graphics settings (such as lower your render distance from far to normal, disable fancy graphics, turn off smooth lighting, and disable clouds)
-get the mod OpdeFine: this will change the way minecraft thinks to it uses less computer power (conflicts with some mods)
-periodically log in and out of your world to get rid of processes that are no longer needed
-don't leave minecraft open (menu is ok) for long periods because it keeps spawning more mobs and making other things happen
-periodically change minecraft to peaceful for a moment to despawn hostile mobs
-don't play multiple worlds at once
EDIT: some mods, such as Technic pack, mo' creatures, and powercraft make minecraft use way more memory.
-higher resolution texture packs require MUCH more memory than lower ones. if you lag when you render on far, than your texture pack may be too much for your graphics card and you should downgrade.
-playing on a server requires more memory than single player, because your computer helps the server keep chunks loaded.
-large redstone contraptions, moving pistons, flowing water, flowing lava and too many nether portals use up a ton of memory
-mobs require large amounts of memory. if you have large farms, play on hard, or have mods that add new mobs, this will use up lots of memory.
-generally, if you lag, than your using too much memory and should cut back on something.
.
.
some other suggestions:
-turn down your graphics settings (such as lower your render distance from far to normal, disable fancy graphics, turn off smooth lighting, and disable clouds)
-get the mod OpdeFine: this will change the way minecraft thinks to it uses less computer power (conflicts with some mods)
-periodically log in and out of your world to get rid of processes that are no longer needed
-don't leave minecraft open (menu is ok) for long periods because it keeps spawning more mobs and making other things happen
-periodically change minecraft to peaceful for a moment to despawn hostile mobs
-don't play multiple worlds at once
-higher resolution texture packs require MUCH more memory than lower ones. if you lag when you render on far, than your texture pack may be too much for your graphics card and you should downgrade.
-playing on a server requires more memory than single player, because your computer helps the server keep chunks loaded.
-large redstone contraptions, moving pistons, flowing water, flowing lava and too many nether portals use up a ton of memory
-mobs require large amounts of memory. if you have large farms, play on hard, or have mods that add new mobs, this will use up lots of memory.
-generally, if you lag, than your using too much memory and should cut back on something.