Java
梦--现实
站在巨人的肩上看世界
展开
-
了解Java中的代理
1. 什么是代理?代理能代替我们去做很多事情,就举一个买票的例子,我们如果去火车站买票,需要搭车去火车站,然后排队买票,买到票回家这一系列的操作都需要自己去完成,万一碰到每票的情况还需要明天继续跑一趟。这时你是不是想有一个人帮你去做,做成之后你给他一点报酬,那么你是不是不用去火车站买票了,可以做一些自己的事了。代替你去买票的过程其实就是代理的过程。2. 代理的实现?在没有使用代理之前,我们需...原创 2019-03-08 17:09:13 · 91 阅读 · 0 评论 -
Java 动态代理为啥需要接口???
我们通过查看源码newProxyInstance方法的实现:public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, ...原创 2019-03-08 17:16:32 · 2272 阅读 · 2 评论 -
如何使用flatMap
1. 什么情况下用到flatMap当使用map()操作时,不是返回一个值,而是返回一个集合或者一个数组的时候,这时候就可以使用flatMap解决这个问题。举个例子,你有一个列表 [21,23,42],然后你调用getPrimeFactors()方法map操作 使数组转化成stream。上述结果[[3,7],[23],[2,3,7]],这个类型Stream<String[]> 使用...原创 2019-03-04 14:37:32 · 68233 阅读 · 5 评论 -
jvm 面试问题总结(2)
1. java 8 将 jvm 中 永久代去除带来的好处?:元空间存放在本地内存中避免之前使用永久代出现内存溢出的问题。类及方法的信息等比较难确定其大小,因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。永久代会通过 full GC 进行回收,这种操作复杂度较高,回收效率偏低。2. 如何判断对象死亡,有哪两种方法?引用计数法:当该对象被引用时,计...原创 2019-03-07 15:52:27 · 122 阅读 · 0 评论