请教 Java 面试题

2020-03-25 18:32:43 +08:00
 zxc1234

1.java 内存模型为什么要有 工作内存和主内存

2.java new 一个对象的时候,什么情况下会发生 GC

如果新生代和老年代没有满呢

3.jdk 8 去掉方法区用 元数据 代替,是为什么?

4.dubbo 调用一个服务的详细过程

4838 次点击
所在节点    程序员
48 条回复
zxc1234
2020-03-30 21:18:15 +08:00
@cxshun
@hangszhang

刚刚面试被问

dubbo 是怎么调用的? zookeeper 是怎么获取到 producer 地址列表的???
RRRSSS
2020-03-31 11:20:10 +08:00
其实 Java 是这样的,因为这些东西出来太久了,默认就是你应该要会,要不没什么好问的,因为就只是写业务搬砖的话,每个人区别不大,只能这么涮人。面试考算法同理。
cxshun
2020-03-31 17:05:32 +08:00
我来答一下 8
B+树不会在正常结点中存放数据,会在叶子结点中存放数据,并且是通过链表组织的,可以通过链表获取所有数据。
@zxc1234 #41
dubbo 怎么调用?是指 consumer 怎么调用 producer 吗?那就是 RPC 罗,因为 dubbo 用了自己的协议,详细可以找一下网上的文章。
zookeeper 获取到 producer 地址? zookeeper 不需要获取 producer 的地址啊,producer 的地址是注册到 zookeeper,由 consumer 去获取。
而 dubbo 获取 producer 的地址就直接通过 zookeeper 提供的 client 去获取的,没啥特殊的东西。
zxc1234
2020-04-01 12:29:50 +08:00
@cxshun B+树叶子节点中通过链表组织 是单链表 还是双向链表呢
zxc1234
2020-04-01 12:31:14 +08:00
@cxshun dubbo 用 RPC 协议 那 netty 是做什么用的 ,一直没用过 netty,都不知道是做啥的
zxc1234
2020-04-01 12:47:03 +08:00
@cxshun producer 的地址是注册到 zookeeper,zookeeper 没有自动发现功能吗
cxshun
2020-04-02 12:39:04 +08:00
@zxc1234 #44 这问题有点多哈,搞得好像我在面试一样。
1 、B+树叶子节点是通过双向链表来实现的,因为在解析过程中很可能要往前遍历。
2 、netty 是一个 java nio 框架,负责网络协议解析啊。dubbo 的 RPC 协议就是通过 netty 来解析和传输的。
3 、自动发现不是说真的全网去搜,只是一个形容而已吧。也是要提供方主动注册上去的。
zxc1234
2020-04-02 18:49:22 +08:00
@cxshun 非常感谢大大大大大大佬的回答!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656150

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX