Указатели - уменьшение потребления памяти

Я писал копию Minecraft для практики OpenGL (как я полагаю многим), однако после написания базового API рендеринга я заметил, что настоящий Minecraft используетмного или память - около 800 МБ! Я могу полностью понять, почему это со всеми блоками, которые он должен помнить, вместе с мобами и, вероятно, данными о местности для генератора ... Я спросил себя: "Этот блок точно такой же, как этот блок ... они могут быть в коде?" " и помнил, что в C ++ есть указатели, поэтому я попытался сделать то же самое в Java единственным способом, о котором я мог думать, создавая один статический экземпляр каждого блока и не используяnew Ключевое слово, это лучший способ? Это определенно, кажется, помогает .. Я все еще хотел бы, чтобы это было лучше, если это возможно?
Вот этот класс ..

public abstract class Block {
    public static DirtBlock Dirt = new DirtBlock();
    public static GrassBlock Grass = new GrassBlock();
    public static RedstoneOreBlock RedstoneOre = new RedstoneOreBlock();
    public static TNTBlock TNT = new TNTBlock();
    public static MonsterSpawnerBlock Monserspawner = new MonsterSpawnerBlock();
    public static BedrockBlock Bedrock = new BedrockBlock();
    public static StoneBlock Stone = new StoneBlock();
    public static GlassBlock Glass = new GlassBlock();
    public static SandBlock Sand = new SandBlock();
    public static WaterBlock Water = new WaterBlock();
    public static SnowBlock Snow = new SnowBlock();
    public static SnowGrassBlock SnowyGrass = new SnowGrassBlock();
    public static IceBlock Ice  = new IceBlock();
    public static CoalBlock Coal = new CoalBlock();

Текущее использование памяти составляет около 200 МБ для мира из 100 блоков: каждый блок состоит из 16 блоков в ширину и 64 в высоту и 16 в глубину, всего 1638 400 блоков - около 128 байт на блок.

Ответы на вопрос(1)

Ваш ответ на вопрос