函数是否为同一对象的每个实例占用更多内存?

Does functions occupy more memory for each instance of the same object?

想象一下这种极端情况:

一个classCity有10个变量,但是操作这些变量的函数和逻辑有1000行。

Class Person {    
    // 10 variables
    int age = 20;
    int height = 180;
    String name = "Name";
    .
    .
    .
    // 1000 lines of functions and logic
    public void increaseAge(int years){
        age+=years;
    }
    
    public void doLogic(){
        //some logic
    }
    .
    .
    .
}

我不知道这个class的一个实例究竟会占用多少内存,但假设变量占用10 bytes,1000行函数占用1 kb放一个样品量。

如果你有 100 个 class 的实例,重复 100 次的变量应该占用 10*100 bytes 但是函数会发生什么?这些函数会占用 1*100 kb 内存吗?或者编译器会做些什么来避免这种情况?

I don't know exactly how much memory will occupy a instance of this class, but let's say that the variables occupy 10 bytes and the 1000 lines of functions occupy 1 kb to put a sample amount.

此 class 的一个实例在此场景中将占用 10 个字节。 (这实际上是不可能的,因为 objects 有 headers 各种固定大小,根据 JVM 设置从 4 到 12 字节不等,即使这样它们也会四舍五入到 8 字节的倍数,但是重点是您只需为 class 的变量付费。)

内存中只存储了给定 class 的函数实现的一个副本。