正弦

08 2018 档案

常用消息队列对比
摘要:作为中间件,消息队列是分布式应用间交换信息的重要组件。消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高 阅读全文

posted @ 2018-08-28 11:32 HKplus 阅读(705) 评论(0) 推荐(0)

submit与execute区别
摘要:1、可以接受的任务类型 submit: execute: 可以看出: execute只能接受Runnable类型的任务 submit不管是Runnable还是Callable类型的任务都可以接受,但是Runnable返回值均为void,所以使用Future的get()获得的还是null 2、返回值 阅读全文

posted @ 2018-08-28 09:32 HKplus 阅读(840) 评论(0) 推荐(0)

Runnable与Callable区别
摘要:相同点: 不同点: 注意点: Callable接口支持返回执行结果,此时需要调用FutureTask.get()方法实现,此方法会阻塞主线程直到获取‘将来’结果;当不调用此方法时,主线程不会阻塞! Callable工作的Demo: Runnable的Demo 转自 https://www.cnblo 阅读全文

posted @ 2018-08-28 08:48 HKplus 阅读(233) 评论(0) 推荐(0)

JAVA 垃圾回收
摘要:垃圾回收 垃圾回收主要思考三件事情: 哪种内存需要回收? 什么时候回收? 怎么回收? 第一步、判断对象是否存活 引用计数法 这是一种非常简单易理解的回收算法。每当有一个地方引用一个对象的时候则在引用计数器上 +1,当失效的时候就 -1,无论什么时候计数器为 0 的时候则认为该对象死亡可以回收了。 这 阅读全文

posted @ 2018-08-25 14:44 HKplus 阅读(218) 评论(0) 推荐(0)

JAVA 内存分析
摘要:Java 运行时的内存划分 程序计数器 记录当前线程所执行的字节码行号,用于获取下一条执行的字节码。 当多线程运行时,每个线程切换后需要知道上一次所运行的状态、位置。由此也可以看出程序计数器是每个线程私有的。 虚拟机栈 虚拟机栈由一个一个的栈帧组成,栈帧是在每一个方法调用时产生的。 每一个栈帧由局部 阅读全文

posted @ 2018-08-25 14:12 HKplus 阅读(158) 评论(0) 推荐(0)

导航