04 2019 档案

摘要:本来只想算一下程序占用内存多少,顺便了解了很多东西 Java对象的内存布局包括:对象头(Header),实例数据 (Instance Data)和补齐填充(Padding) 对象头 包含:Mark Word(哈希值,GC分代年龄,锁的级别等),Class Metadata Address(存储对象是 阅读全文
posted @ 2019-04-26 14:15 注册以后还能改吧 阅读(204) 评论(0) 推荐(0)
摘要:Java对象的内存布局包括:对象头(Header),实例数据 (Instance Data)和补齐填充(Padding) 其中对象头中也包含了java内置的锁机制 对象头 对象头都至少包括两个字: 第一个字被称为Mark Word。包含了锁相关的信息 第二个字是指向metadata class的指针 阅读全文
posted @ 2019-04-26 11:32 注册以后还能改吧 阅读(374) 评论(0) 推荐(0)
摘要:悲观锁 每次都认为用数据的同时,别人可能会修改,因此每次拿数据的同时都要加上锁,因而降低了性能。 Java中的synchronized和ReentrantLock等就是悲观锁的思想 适用于多写的场景 乐观锁 每次都认为不会有人修改,但更新的同时回去判断在此期间是否有人去更新这个数据 Java中的ja 阅读全文
posted @ 2019-04-25 20:06 注册以后还能改吧 阅读(129) 评论(0) 推荐(0)
摘要:今天谈论三分忽然感觉传统的做法有点浪费时间 传统来说三分写法分为两种 第一种,对于区间 l~r (我一直以来都用这种方法) midl=(l+r)/2 midr=(midl+r)/2 然后判断以后,l=midl或者r=midr 第二种 midl=l+(r-l)/3 midr=r-(r-l)/3 同样判 阅读全文
posted @ 2019-04-22 21:52 注册以后还能改吧 阅读(217) 评论(0) 推荐(0)