Skip to content

Latest commit

 

History

History
34 lines (13 loc) · 1.25 KB

* Question.md

File metadata and controls

34 lines (13 loc) · 1.25 KB

Question

1、作者您好,我前两天参加了阿里云的一个面试,面试问了我一道题。内容为:server内存10g,xmx4g,permsize 10m。问:最多能创建多少对象?我觉得是不是还少些条件呢?单独这么说,我真不知道能创建多少个对象,求指点

你好,谈下我自己的理解哈,创建对象一般使用new所以对象放到了堆里面,这里堆最大为4g,而一个对象需要占用多少内存(比如一对象里面可能有一个大数组了),这个也没说,另外持久带放存放Class和Meta信息,这里限制为10M,也没说一个对象里面大概占用多少。所以面试官应该故意没给全条件,想让你来追问补充条件。

1024 * 10M * 1024 = byte / 8(header) = 1310720 个 最多

按一个Object内 最少有一个属性,且选最少 boolean\byte ;堆中最多存储 4294967296b * 1b 个对象

4G * 1024mb * 1024kb * 1024b = 4294967296b

所以 最多 1310720 个对象

2、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

64 * 50 = 298G

  • 分而治之
  • Bloom filter

https://tieba.baidu.com/p/5584608671?red_tag=1231656068

3、12306 秒杀模式