I want to experiment with Ethereum without having to download the *entire* blockchain. My ISP limits my bandwidth to 50GB and downloading the ETH chain would consume a lot of that, not to mention the time. Is there any SPV like implementation of Ethereum? With Bitcoin, I could simply download bitcoinj and start coding.

I have also considered Blockchain as a Service by Azure. Are there any alternatives? (because they need my credit card number.)

What I want to do:

1. Experiment with simple transactions (sending Ether)
2. Create contracts
3. Store arbitrary data on blockchain.

Ideally I would prefer something that runs on JVM but that is not a hard constraint.

One method I have in mind is to run a private blockchain using Ethereum code but with my own genesis block. Will this approach work with other 3rd party Ethereum frameworks (such as Truffle)?