02 2017 档案

摘要:跟踪收集器 跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任 何引用链时,则证明此对象是不可用的。 下图中,对象Object6、Object7、Object8虽然 阅读全文
posted @ 2017-02-28 16:48 山河永慕~ 阅读(333) 评论(1) 推荐(1) 编辑
摘要:对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。 如下面这句代码: 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“new Object()”这部分将会反映到Java堆中,形成一块存储 阅读全文
posted @ 2017-02-28 16:04 山河永慕~ 阅读(298) 评论(1) 推荐(0) 编辑
摘要:一:Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。 阅读全文
posted @ 2017-02-28 14:36 山河永慕~ 阅读(372) 评论(0) 推荐(0) 编辑
摘要:前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容。 List概括 先来回顾一下List在Collection中的的框架图: 从图中我们可以看出: 1. List是一个接口,它继承与Collection接口,代表有序的队列 阅读全文
posted @ 2017-02-24 16:46 山河永慕~ 阅读(14547) 评论(3) 推荐(5) 编辑
摘要:上一章学习了ArrayList,并分析了其源码,这一章我们将对LinkedList的具体实现进行详细的学习。依然遵循上一章的步骤,先对LinkedList有个整体的认识,然后学习它的源码,深入剖析LinkedList。 LinkedList简介 首先看看LinkedList与Collection的关 阅读全文
posted @ 2017-02-23 18:02 山河永慕~ 阅读(661) 评论(0) 推荐(0) 编辑
摘要:最近忙着替公司招人好久没写了,荒废了不好意思。 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学习。首先学习List。而ArrayList又是List中最为常用的,因此本章先学习ArrayList。先对ArrayList有个整体的 阅读全文
posted @ 2017-02-22 13:58 山河永慕~ 阅读(557) 评论(1) 推荐(0) 编辑
摘要:Collection是一个接口,它主要的两个分支是List和Set。如下图所示: List和Set都是接口,它们继承与Collection。List是有序的队列,可以用重复的元素;而Set是数学概念中的集合,不能有重复的元素。List和Set都有它们各自的实现类。 为了方便,我们抽象出Abstrac 阅读全文
posted @ 2017-02-15 16:13 山河永慕~ 阅读(750) 评论(0) 推荐(0) 编辑
摘要:Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方。 Memcached现在已被广泛使用,客户端实现也有较多的版本,基本上各个语言的都有。比如:Mem 阅读全文
posted @ 2017-02-15 09:46 山河永慕~ 阅读(269) 评论(0) 推荐(0) 编辑
摘要:分布式一致性hash算法简介 当你看到“分布式一致性hash算法”这个词时,第一时间可能会问,什么是分布式,什么是一致性,hash又是什么。在分析分布式一致性hash算法原理之前,我们先来了解一下这几个概念。 分布式 分布式(distributed)是指在多台不同的服务器中部署不同的服务模块,通过远 阅读全文
posted @ 2017-02-10 14:15 山河永慕~ 阅读(534) 评论(0) 推荐(0) 编辑
摘要:Redis与spring的整合 相关依赖jar包 spring把专门的数据操作独立封装在spring-data系列中,spring-data-redis是对Redis的封装 Spring 配置文件applicationContext.xml 注意新版的maxTotal,MaxWaitMillis这两 阅读全文
posted @ 2017-02-09 17:59 山河永慕~ 阅读(6130) 评论(1) 推荐(0) 编辑
摘要:为什么匿名内部类参数必须为final类型 1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的 2) 为什么Java中要加上一条限制:只能访问fina 阅读全文
posted @ 2017-02-09 10:04 山河永慕~ 阅读(2268) 评论(0) 推荐(1) 编辑
摘要:责任链模式,顾名思义,就是一条链。这个链到底是怎么运行的呢?它主要是将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象进行处理,以此类推。 比如说公司请假需要审批,举个不恰当的例子,如果请假小于3天,主 阅读全文
posted @ 2017-02-08 15:58 山河永慕~ 阅读(500) 评论(1) 推荐(0) 编辑
摘要:代理模式的核心作用就是通过代理,控制对对象的访问。这跟实际中是一样的,比如说明星都有经纪人,这就是一个代理,比如有人要找某明星拍戏,那么首先处理这事的是他的经纪人,虽然拍戏需要自己拍,但是拍戏前后的一些必须要做的事等等,都由这个经纪人来处理。 在程序中也是如此,通过代理,可以详细控制访问某个或者某类 阅读全文
posted @ 2017-02-08 11:10 山河永慕~ 阅读(340) 评论(0) 推荐(0) 编辑
摘要:我们还是举上一节的例子:生产汽车。上一节我们通过模板方法模式控制汽车跑起来的动作,那么需求是无止境的,现在如果老板又增加了额外的需求:汽车启动、停止、鸣笛引擎声都由客户自己控制,他想要什么顺序就什么顺序,那该如何做呢? 1. 汽车无休止的改造 假如现在要生产两种车,奔驰和宝马,这两辆车都有共性,我们 阅读全文
posted @ 2017-02-07 15:20 山河永慕~ 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1. 模板方法的一个实例 这一节主要来学习一下设计模式中的模板方法模式。我们先来看一个例子:假如现在老板让你做一个汽车的模型,要求只要完成基本功能即可,不考虑扩展性,那你会怎么做呢?我们首先会根据经验设计一个类图: 由这个类图可知,非常简单的实现了悍马车,该车有两个型号H1和H2。那现在我们开始实现 阅读全文
posted @ 2017-02-06 15:34 山河永慕~ 阅读(485) 评论(0) 推荐(0) 编辑
摘要:1. 女娲的失误 上一节学习了工厂模式,女娲运用了该模式成功创建了三个人种,可是问题来了,她发现没有性别……这失误也忒大了点吧……竟然没有性别,那岂不是……无奈,只好抹掉重来了,于是所有人都被消灭掉了,重新造人。 女娲开始分析了,既然要区别男女,那么生产人种的工厂(八卦炉)要重新改造了,因为一个设备 阅读全文
posted @ 2017-02-05 15:57 山河永慕~ 阅读(428) 评论(0) 推荐(0) 编辑
摘要:1.工厂模式的定义 工厂模式使用的频率非常高,我们在开发中总能见到它们的身影。其定义为:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory 阅读全文
posted @ 2017-02-04 17:21 山河永慕~ 阅读(1866) 评论(0) 推荐(1) 编辑
摘要:首先,该方法是将数组转化为list。有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支持add和remove方法上代码: 运行结果: 阅读全文
posted @ 2017-02-04 11:09 山河永慕~ 阅读(111643) 评论(6) 推荐(9) 编辑

点击右上角即可分享
微信分享提示