JAVA常见技术总结
等後那场雪
喜欢研究多线程、分布式相关技术
展开
-
同步、异步、阻塞、非阻塞
同步、异步 同步、异步其实是指对CPU时间片的利用。主要看请求的发起方对于消息结果的获取是主动发起的还是被动通知的。如果是请求发起方主动发起的,一直在等待应答结果(同步阻塞),或者可以先去处理其他事情,但要不断轮询查看是否有应答结果(同步非阻塞)。如果是服务方通知的,一直等待通知(异步阻塞),或者可以先去处理其他事情(异步非阻塞),事件处理完成,服务方会主动通知请求的发起方。异步通知的方式一般有状态改变、消息通知、回调函数,不过大多数时候采用的是回调函数。 阻塞、非阻塞 在计算机的世界里,通常是针对I/O的原创 2020-07-01 20:27:25 · 136 阅读 · 0 评论 -
分布式、集群的区别
本文目录==Cluster====Distributed====Difference== Cluster 集群是一组服务实体,共同工作提供一个可伸缩的、高可用的服务平台。可伸缩性,动态添加服务实体到集群中,可以提高集群的处理性能。高可用,避免单点故障导致整个系统不可用。 为了拥有可伸缩性、高可用性,集群必须拥有以下两个能力。 负载均衡。集群环境中,能均衡分布任务给计算和网络资源。 错误恢复。有节点挂掉,需要有其他节点顶替它,继续完成任务。 集群服务中有两个技术需要实现:集群地址、内部沟通。 Dis原创 2020-06-30 18:20:37 · 183 阅读 · 0 评论 -
JDK动态代理 - 底层原理
JDK动态代理 是JDK原生提供的动态代理方式,无需添加任何第三方依赖。运行期,生成具体的字节码,但是不可以修改。被代理类需要有接口。 可以通过ProxyGenerator.generateProxyClass(String s, Class<?>[] classes) 方法获取生成的字节码。再通过FileOutputStream#write(byte[] arr)方法写入到一个文件中。 e.g. byte[] arr = ProxyGenerator.generateProxyClass("$原创 2020-06-12 15:26:54 · 226 阅读 · 0 评论