山不转的博客

山不转水转,水不转我转

Java NIO AIO介绍、示例及性能分析

参考:http://tutorials.jenkov.com/java-nio/index.html 1、Java NIO Tutorial NIO最早出现在Java 1.4版本中,从那个时候开始,Java至少有两套可用的IO方面的API集,一套是标准的,另一套就是NIO,两者的工作原理不同。...

2019-04-12 17:52:10

阅读数 1039

评论数 0

LinkedBlockingDeque应用场景

BlockingDeque是多线程双头队列接口,LinkedBlockingDeque是其一种实现。 Deque的特点是可以同时在队列的两头put、take元素。 在TCP协议中,数据报有一个URG指针。正常情况下,接收者按数据包到达本机的顺序处理,而对于设置URG标志的数据报则会优先处理。 ...

2019-04-02 23:51:26

阅读数 13

评论数 0

DelayQueue实现原理及应用场景分析

DelayQueue基本原理 DelayQueue是一个没有边界BlockingQueue实现,加入其中的元素必需实现Delayed接口。当生产者线程调用put之类的方法加入元素时,会触发Delayed接口中的compareTo方法进行排序,也就是说队列中元素的顺序是按到期时间排序的,而非它们进...

2019-04-02 19:49:24

阅读数 12

评论数 0

Docker容器数据持久化

参考:https://docs.docker.com/storage/ 默认情况下,container内部新创建文件或者修改文件,结果会保存在container的可读写层中,这意味着: 当container消失时,与container一体的可读写层也一并消失,数据并没有持久化。并且,当一个co...

2019-03-25 13:24:20

阅读数 33

评论数 0

Docker image 多阶构建(multstage build)

参考:https://docs.docker.com/develop/develop-images/multistage-build/ 背景 过大的image占用更多的磁盘空间,push或者pull操作时占用更多的网络带宽,花费更长的时间。大规模的部署过程可能需要数个小时,大部分时间浪费在im...

2019-03-24 22:52:33

阅读数 853

评论数 0

iptables命令学习笔记

NAME iptables - IPV4数据包过滤与NAT管理工具 SYNOPSIS iptables [-t table] -[AD]chain rule-specificat[options]iptables [-t table] -Ichain [rulenum] rule-speci...

2019-03-23 14:54:31

阅读数 254

评论数 0

基于GFS的Hadoop实现原理分析

1、摘要 一个面向数据密集型应用的可伸宿、分布式文件系统。 使用廉价服务器实现高容错特性,注意是廉价服务器,不是昂贵的普通人一辈子工资买不起、没见过的特制服务器。 同时请注意是容错,不是避免错误的发生。 实现大量客户端并发访问的高性能。 2、介绍 与一般的分布式文件系统在概念上的区别: ...

2019-03-19 21:16:09

阅读数 839

评论数 0

Ubuntu 16.04安装Zimbra邮件服务器

1、环境 用VirtualBox创建虚拟机。 操作系统:Ubuntu 16.04,最小化安装操作系统,不要安装DNS服务器、邮件服务器等组件,否则在安装Zimbra之前需要手动关闭掉相关服务。 内存:1G。Zimbra要求单机安装内存不少于8G,没那么多内存,只安装必需组件,也够用 磁盘:...

2019-03-16 21:50:01

阅读数 1975

评论数 0

Hibernate 连接池配置配置

1、Hibernate内置连接池 hibernate.cfg.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> &...

2019-02-28 11:52:04

阅读数 15

评论数 0

Hibernate开发环境搭建与测试

1、环境 开发环境: Eclipse Java EE IDE for Web Developers. Version: 2018-09 (4.9.0) Build id: 20180917-1800 Java运行时环境:Java SE 18.3,构建号10.0.2 mysql serve...

2019-02-26 19:53:11

阅读数 35

评论数 0

Servlet Session属性监听器深入探索

Servlet关于对象属性监听器,接口有三类:HttpSessionAttributeListener、ServletContextAttributeListener、ServletRequestAttributeListener。每种接口有三个方法attributeAdded、attribute...

2019-02-02 18:22:18

阅读数 42

评论数 0

Session的线程安全问题及有效性问题

1、线程安全问题 Session接口的相关实现由Tomcat容器提供,本身保证线程安全。但Session中保存的对象,其线程安全当然要由开发者保证。线程安全问题隐蔽、偶发,出了问题不好定位修正,一定要注意线程安全问题。通常,通过如下代码创建或者取得Session引用: HttpSession ...

2019-02-01 16:19:47

阅读数 96

评论数 0

Java设计模式之访问者模式

1、概念 访问者模式涉及两个角色,一个是访问者,另一个是被访问的资源。 访问者有多个具体的实现,资源也有多个具体的实现。 访问者与资源可以有多种组合,假如有三种类型的访问者与三种类型的资源,则它们的组合方式就有3 * 3 =  9种。 访问者解决的问题就是每种组合都能产生不同的行为。 2...

2019-01-22 16:57:31

阅读数 760

评论数 0

Java设计模式之模板模式

从名字上看模板模式与元型模式有点像,但实际上它们有很大的不同。 元型模式是创建系列中的模式,它的实现是先为类创建一个实例,然后对这个实例进行初化,并当成是元型。以后再需要这个类的实例时,不再是从头开始new,而是从已有的元型clone。当然,元型可能不只一个,这个时候就要用集合类进行管理了,在c...

2019-01-21 19:16:32

阅读数 44

评论数 0

Java设计模式之空对象模式

空对象模式很简单,不怎么重要。一般与工厂模式结合使用。 工厂根据用户提供的条件创建具体的类,如果用户提供的条件工厂都不满足,那么就创建一个默认实现而不是返回null,这样的话程序还是可以继续运行下去。 示例代码: package com.zhangxf.nullobject; // 电脑...

2019-01-21 18:43:36

阅读数 34

评论数 0

Java设计模式之状态模式与策略模式

1、概念 应用场景:一个对像处于不同的状态,调用相同的方法时产生不同的行为。 目的:将对象本身的表示与对象状态的变迁逻辑解耦。 角色:状态角色、上下文角色。状态代表上下文所处的状态,上下文为状态中方法的实现提供支持。 实现方法:为状态定义抽象类,其中包含对上下文对象的引用,以便调用上下文的...

2019-01-21 18:15:20

阅读数 716

评论数 0

Java设计模式之观察者模式

观察者模式原理很简单,当被观察者发生某个消息时,由观察者调用注册过的观察者的某个方法,将消息通知给观察者。 这也可以说是一种发布定阅模式。Java JDK为实现观察者模式提供了相关的接口、抽象类 有如下场景,发布者可以讲笑话、唱歌、讲故事,定阅者接收以上信息。可以有多个发布者、多个定阅者,并且...

2019-01-21 14:58:58

阅读数 34

评论数 0

Java设计模式这备忘录模式

备忘录模式是一种行为模式,用来记录的中间状态,在需要时使对象恢复到某个中间状态。 我们在写代码时,发现代码结构不理想或者出错,恢复到过去的某种状态就是这种情况,代码如下: package com.zhang.memento; import java.util.ArrayList; impo...

2019-01-18 16:56:12

阅读数 42

评论数 0

Java设计模式之中介者模式

比如下五子棋,选手与选手之间通过“棋盘”交互的,而不是彼此之间直接交互。两个选手就是参与通信的角色,而棋盘就是中介者,它要记录选手共用的棋盘。代码如下: package com.zhangxf.mediator; import java.util.Scanner; // 选手类 class...

2019-01-17 21:39:20

阅读数 852

评论数 0

Java设计模式之迭代器模式

迭代器用来按某种顺序取出集合中的元素。代码: package com.zhangxf.iterator; // 迭代器接口 interface MyIteratorInf<T> { public boolean hasNext(); publ...

2019-01-17 15:32:26

阅读数 105

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭