So if the ram was cheap would it help to upgrade to 4gb from 1gb?
Well, as others have stated, 32bit Java is limited to 1GB of memory. If you had 2GB in your system, you could have 1 for all your programs and such, with the full 1gb assigned for minecraft. If your computer has multiple cores and 3GB of ram (and the 1GB limit for java is per instance and not total), you could have 1 thread running a server (with 1GB), 1 thread running minecraft (1GB) and another running all your OS stuff. (A separate machine to run a server would be better.) It would probably make it viable.
You could always try it out. If the additional memory was free, you would only be out your time, and that would confirm a few things with your system.
A couple things that have been mentioned a bit that could help. Set a short render distance. Update your video drivers. Clean up your system startup programs (background tasks outside of windows). Run Optifine. There are several different versions of optifine. They all work a bit different. Some may cause Minecraft to crash on your computer, other versions may enhance your game play. It's a lot of trial and error and error. There are a few threads that have Java optimizations that may help eek out every bit of performance in your computer. If you play AgS, use tubes sparingly. Always use opaque tubes when you do. Don't load up any one room with lots and lots of machines. Try to spread them out a bit. The rendering will take quite a bit of horsepower, and if you limit the number of machines, microblocks, tubes, and what not in one area, that will help out a bit. Avoid openblocks liquid tanks. They do a tremendous amount of rendering to display the liquids.
If you can start a game and have your FPS around the mid 20s with nothing in the world, you just might be able to play. If you aren't hitting 20fps, you will have to try something else. By the time you start building up some machines, your FPS could be cut in half, which would put you about 12-15 FPS--Playable, but just barely. Anything below 10 is awful.