摘要: JVM在进行垃圾回收时,要做的第一件事情,就是去寻找那些已经没有任何变量引用的对象,从而对此类对象进行回收。那么,JVM是如何判断对象已经死亡了呢? 一、引用计数法程序给对象添加一个引用计数器,每有一个变量引用它时,计数器加1。当引用断开时,计数器减1。当计数器为0时,代表着没有任何变量引用它,该对 阅读全文
posted @ 2019-10-23 14:43 青柳依依 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所 阅读全文
posted @ 2019-10-23 14:34 青柳依依 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 大致来说,zookeeper 的使用场景如下,我就举几个简单的,大家能说几个就好了: 分布式协调 分布式锁 元数据/配置信息管理 HA高可用性 分布式协调 分布式锁 元数据/配置信息管理 分布式协调 这个其实是 zookeeper 很经典的一个用法,简单来说,就好比,你 A 系统发送个请求到 mq, 阅读全文
posted @ 2019-10-21 16:51 青柳依依 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、 阅读全文
posted @ 2019-10-21 16:49 青柳依依 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 项目开发完了,总结一下这段时间用的前端的技术。 1、多选框动态加载 编辑回显 获取选中的值 2、下拉框 阅读全文
posted @ 2019-09-25 16:00 青柳依依 阅读(286) 评论(0) 推荐(0) 编辑
摘要: Java8发布已经有一段时间了,这次发布的改动比较大,很多人将这次改动与Java5的升级相提并论。Java8其中一个很重要的新特性就是lambda表达式, 允许我们将行为传到函数中。想想看,在Java8 之前我们想要将行为传入函数,仅有的选择就是匿名内部类。Java8发布以后,lambda表达式将大 阅读全文
posted @ 2019-08-12 14:57 青柳依依 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 对数据库中查询到的结果进行排序,一般开发中,实体类是没有实现Comparable接口的,所以不能实现compareTo()方法进行排序, 只能用Comparator去进行排序,只需要在带排序的集合中加入以下代码就能实现排序功能了。compare比较的o1和o2,返回值大于0,则o1大于o2,返回值等 阅读全文
posted @ 2019-08-10 15:09 青柳依依 阅读(1737) 评论(0) 推荐(0) 编辑
摘要: 分布式锁一般有三种实现方式: 1. 数据库乐观锁; 2. 基于Redis的分布式锁; 3. 基于ZooKeeper的分布式锁。 本篇博客将介绍第三种方式,基于Zookeeper实现分布式锁。虽然网上已经有各种介绍Zookeeper分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子 阅读全文
posted @ 2019-08-09 17:30 青柳依依 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 一、前言 分布式锁一般有三种实现方式: 1. 数据库乐观锁; 2. 基于Redis的分布式锁; 3. 基于ZooKeeper的分布式锁。 本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本 阅读全文
posted @ 2019-08-09 11:48 青柳依依 阅读(1655) 评论(1) 推荐(1) 编辑
摘要: 通过深入分析Spring源码,我们知道Spring框架包括大致六大模块, 如Web模块,数据库访问技术模块,面向切面模块,基础设施模块,核心容器模块和模块,其中,在Spring框架的Web模块中,又包含很多前端技术,如SpringMVC,Spring WebSocket,Spring WebPort 阅读全文
posted @ 2019-03-14 16:36 青柳依依 阅读(284) 评论(0) 推荐(0) 编辑