Classes in the avm package can be used to access blockchain-specific functionality exposed by the AVM.

Classes in the org.aion.avm.userlib package are optionally packaged along-side your contract code as common-case utilities and quality-of-life routines.

Packages 
Package Description
avm
Defines routines specific to running in a blockchain environment and high-level types to interact with them.
org.aion.avm.embed
Defines classes which embed the AVM, directly.
org.aion.avm.userlib
Defines utility and quality-of-life classes which can optionally be used by user-defined contract code.
org.aion.avm.userlib.abi
Defines classes related to encoding/decoding the high-level data types serialized into transaction payload data.