# Class: com.pnfsoftware.jeb.core.units.code.asm.memory.AbstractVirtualMemory

A skeleton implementation for virtual memory classes. Most trivial methods are implemented here.

## Constructor: AbstractVirtualMemory


## Method: addAllocListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryAllocListener`


## Method: addFreeListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryFreeListener`


## Method: addPreWriteListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener`


## Method: addPropertyListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryPropertyListener`


## Method: addProtectionListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryProtectionListener`


## Method: addWriteListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener`


## Method: allocatePage
- parameter: `address`, type: `long`
- parameter: `protection`, type: `int`


## Method: freePage
- parameter: `address`, type: `long`


## Protected Method: getAllocListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryAllocListener>`


## Method: getAproximateFootprint
- return type: `int`


## Protected Method: getFreeListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryFreeListener>`


## Protected Method: getPreWriteListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener>`


## Protected Method: getPropertyListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryPropertyListener>`


## Protected Method: getProtectionListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryProtectionListener>`


## Protected Method: getWriteListeners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener>`


## Method: readBEInt
- parameter: `address`, type: `long`
- return type: `int`


## Method: readBELong
- parameter: `address`, type: `long`
- return type: `long`


## Method: readBEShort
- parameter: `address`, type: `long`
- return type: `short`


## Method: readByte
- parameter: `address`, type: `long`
- return type: `byte`


## Method: readInt
- parameter: `address`, type: `long`
- return type: `int`


## Method: readInt
- parameter: `address`, type: `long`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`
- return type: `int`


## Method: readLEInt
- parameter: `address`, type: `long`
- return type: `int`


## Method: readLELong
- parameter: `address`, type: `long`
- return type: `long`


## Method: readLEShort
- parameter: `address`, type: `long`
- return type: `short`


## Method: readLong
- parameter: `address`, type: `long`
- return type: `long`


## Method: readLong
- parameter: `address`, type: `long`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`
- return type: `long`


## Method: readPointer
- parameter: `address`, type: `long`
- return type: `long`


## Method: readShort
- parameter: `address`, type: `long`
- return type: `short`


## Method: readShort
- parameter: `address`, type: `long`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`
- return type: `short`


## Method: removeAllocListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryAllocListener`


## Method: removeFreeListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryFreeListener`


## Method: removePreWriteListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener`


## Method: removePropertyListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryPropertyListener`


## Method: removeProtectionListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryProtectionListener`


## Method: removeWriteListener
- parameter: `listener`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.IMemoryWriteListener`


## Method: roundToPage
- parameter: `address`, type: `long`
- return type: `long`


## Method: roundToSize
- parameter: `address`, type: `long`
- return type: `long`


## Method: setLazyMemoryProvider
- parameter: `lazyMemoryProvider`, type: `com.pnfsoftware.jeb.core.units.code.asm.memory.ILazyMemoryProvider`
- parameter: `skipFailedAllocations`, type: `boolean`


## Method: writeBEInt
- parameter: `address`, type: `long`
- parameter: `v`, type: `int`


## Method: writeBELong
- parameter: `address`, type: `long`
- parameter: `v`, type: `long`


## Method: writeBEShort
- parameter: `address`, type: `long`
- parameter: `v`, type: `short`


## Method: writeByte
- parameter: `address`, type: `long`
- parameter: `v`, type: `byte`


## Method: writeInt
- parameter: `address`, type: `long`
- parameter: `v`, type: `int`


## Method: writeInt
- parameter: `address`, type: `long`
- parameter: `v`, type: `int`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`


## Method: writeLEInt
- parameter: `address`, type: `long`
- parameter: `v`, type: `int`


## Method: writeLELong
- parameter: `address`, type: `long`
- parameter: `v`, type: `long`


## Method: writeLEShort
- parameter: `address`, type: `long`
- parameter: `v`, type: `short`


## Method: writeLong
- parameter: `address`, type: `long`
- parameter: `v`, type: `long`


## Method: writeLong
- parameter: `address`, type: `long`
- parameter: `v`, type: `long`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`


## Method: writePointer
- parameter: `address`, type: `long`
- parameter: `ptr`, type: `long`


## Method: writeShort
- parameter: `address`, type: `long`
- parameter: `v`, type: `short`


## Method: writeShort
- parameter: `address`, type: `long`
- parameter: `v`, type: `short`
- parameter: `end`, type: `com.pnfsoftware.jeb.util.io.Endianness`


