随笔分类 -  Java

java基础
摘要:出现场景 文件系统目录加载配置文件(FileSystemXmlApplicationContext),类路径加载配置文件(ClassPathXmlApplicationContext),以及根据项目上下文目录(XmlWebApplicationContext)加载配置文件。加载的过程模版方法:Abs 阅读全文
posted @ 2018-12-17 22:54 是谁扭曲了时空 阅读(186) 评论(0) 推荐(0)
摘要:一、问题引入 BitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射,怎么理解呢?举一个例子,有一个无序有界int数组{1,2,5,7},初步估计占用内存44=16字节,这倒是没什么奇怪的,但是假如有10亿个这样的数呢,10亿4/(102410241024)=3.72G左右。 阅读全文
posted @ 2018-11-28 09:45 是谁扭曲了时空 阅读(541) 评论(0) 推荐(0)
摘要:关于位与运算&与取余今天在研究hashmap源码的时候,发现其源码中在解决Entry分布时,本来大多数人以为会用index = hash % length,但是源码中却使用了index = hash & (lenth -1)的方式。 另外由上述还可以注意到,在源码中对于Entry数组容量的定义中,要 阅读全文
posted @ 2018-11-28 09:27 是谁扭曲了时空 阅读(1435) 评论(0) 推荐(2)
摘要:命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式的结构 命令模式是对命令的封装。命令 阅读全文
posted @ 2018-11-21 11:12 是谁扭曲了时空 阅读(182) 评论(0) 推荐(0)
摘要:在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以这篇文章对单例模式做了详解。 一、单例模式定义: 单例模式确保某个类只有一个实例,而且自行实例化并向 阅读全文
posted @ 2018-11-19 10:19 是谁扭曲了时空 阅读(249) 评论(0) 推荐(1)
摘要:概述 ReentrantReadWriteLock是Lock的另一种实现方式,ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应 阅读全文
posted @ 2018-11-15 11:50 是谁扭曲了时空 阅读(175) 评论(0) 推荐(0)
摘要:线程状态: 线程池状态: 1. RUNNING (01) 状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。(02) 状态切换:线程池的初始化状态是RUNNING。换句话说,线程池被一旦被创建,就处于RUNNING状态!道理很简单,在ctl的初始化代码中(如下), 阅读全文
posted @ 2018-11-12 15:33 是谁扭曲了时空 阅读(2376) 评论(0) 推荐(1)
摘要:1.工厂模式简介 工厂模式用于对象的创建,使得客户从具体的产品对象中被解耦。 2.工厂模式分类 这里以制造coffee的例子开始工厂模式设计之旅。 我们知道coffee只是一种泛举,在点购咖啡时需要指定具体的咖啡种类:美式咖啡、卡布奇诺、拿铁等等。 2.1 简单工厂 简单工厂实际不能算作一种设计模式 阅读全文
posted @ 2018-11-12 11:28 是谁扭曲了时空 阅读(186) 评论(0) 推荐(0)
摘要:AtomicLong简要介绍 AtomicLong是作用是对长整形进行原子操作,显而易见,在java1.8中新加入了一个新的原子类LongAdder,该类也可以保证Long类型操作的原子性,相对于AtomicLong,LongAdder有着更高的性能和更好的表现,可以完全替代AtomicLong的来 阅读全文
posted @ 2018-11-10 00:21 是谁扭曲了时空 阅读(756) 评论(0) 推荐(0)
摘要:1、初步认识 观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 2、这个模式的结构图 3、可以看到,该模式包含四个角色 抽象被观 阅读全文
posted @ 2018-11-09 11:21 是谁扭曲了时空 阅读(183) 评论(0) 推荐(0)
摘要:前言 IO 包中是用了大量的装饰器模式 为了弄明白装饰器模式的本质,我查看了很多资料,发现有很多文章要么说的很苦涩,要么举的例子不恰当。 其实我们可以这样理解装饰器模式, 就拿自己举例子,你把自己裸体的样子,想象成被装饰的对象。你的鞋子,你的寸衣,你的外套,你的手表,你的帽子 等等,都是你的装饰物, 阅读全文
posted @ 2018-11-01 18:08 是谁扭曲了时空 阅读(221) 评论(0) 推荐(0)
摘要:1. 前言 在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。 2.Class.getResource(String path) path不以'/'开头时,默认是从此类所在的包下取资源; path以'/'开头 阅读全文
posted @ 2018-10-24 16:17 是谁扭曲了时空 阅读(258) 评论(0) 推荐(0)
摘要:java设计模式之组合模式 【学习难度:★★★☆☆,使用频率:★★★★☆】 树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个 阅读全文
posted @ 2018-09-13 11:37 是谁扭曲了时空 阅读(330) 评论(0) 推荐(0)