`
lianpeng0011
  • 浏览: 9092 次
社区版块
存档分类
最新评论
文章列表
      需求             主人公frade 刚刚来到北京,马上就要开启自己的北漂生活了,首先解决的问题就是需要找房子,那么问题来了,北京的房子如果你想找房东去租,难度太大,比较容易的办法就是找中介。这里咋们用proxy模式来实现下这个需求。      proxy模式分为两种:静态代理和动态代理,以下是两种方式分别实现上面的需求;      静态代理     1. 抽象角色        按照java面向对象的思路首先定义一个person的接口。 public interface Person { /** * 这里有两个参数,用来设置目标房源的 ...

并发编程三

    博客分类:
  • java
   Lock       Java5的concurrent包引入的接口: java.util.concurrent.locks,其功能与synchronize类似,在开始代码处调用lock() 方法获取锁,在结尾处调用unlock()释放锁。   public class MainClass { private Lock lock; private Object shared; ...

java 并发编程二

    博客分类:
  • java
竞态条件和同步    1、竞态条件(Race Condition) :两个以上的线程同时对一个公用的变量进行读写操作,由于执行顺序无法控制,导致结果出现错误。   计算输出 : 比如方法调用的结果 不受控制:比如线程调度是不受控制的,具有随机性   顺序或时机:比如那个线程先执行,执行到哪一行代码由OS切换出去,那个线程切换进来有CPU执行   下面举个浅显的例子,假设有这样一个计算器:   public class Calculator { private final int[] input; private int start; ...

java并发编程一

    博客分类:
  • java
基础知识        线程的本质是机器执行的路径,是操作系统的最小执行单元,它完全是多任务操作系统之上的虚拟概念,从硬件角度来说每一个cup只有一条执行路径。成百上千个线程同时执行是操作系统调度的假象。           每一个计算机程序,或每个进程,至少有一个线程,这个线程称为主线程,Java的主线程称为main thread。它以某个class类的main方法为起点。任何计算机程序都是由单一线程开始运行的。进程独享一个内存空间,进程中的线程共享这个内存空间,每个线程有单独的栈来存储数据。   并发编程的术语         屏障(Barrier):屏障代表多个线程的集合点 ...
# 客户端参数 [client] #设置默认字符集格式 default_character_set=utf8   [mysql] default_character_set=utf8   #服务端参数 [mysqld] #设置默认字符集格式 character_set_server=utf8                                                 bind_address=127.0.0.1                             port=3306                               ...

Mockito 单元测试

Mockito 简介      Mockito是一个java仿冒架构,所谓的仿冒就是创建一个“虚拟”的java类来模拟一个java类的行为。之所以使用仿冒可能出于以下几个原因:      某个类已经进入单元测试,但是协作的类还没有开发完成;      协作类可能有缺陷,使用仿冒机制隔离缺陷;      模拟在单元测试阶段难以获得的对象,这些对象往往与环境和容器相关,如:HttpServletRequest      Mockito的三个事件,mock仿冒、验证(verification)和打桩(stubbing)。所谓的验证就是断言预期的行为,所谓的打桩就是mock对象在特定 ...
下载mysql镜像 docker pull hub.c.163.com/nce2/mysql:5.6  创建mysql5.6容器 docker run --name mymysql -d -P hub.c.163.com/nce2/mysql:5.6  验证容器状态  通过主机进入mymysql容器 docker exec -it mymysql bash //输出 root@4344add2cca7:/#  登录mysql数据库,查看mysql是否可以正常使用 $ docker exec -it mymysql bash root@4344ad ...

java 运算符

    博客分类:
  • java
 运算符分类          运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算、双目运算符和三目运算符。运算符按其功能来分,有算术运算符、赋值运算 ...
  1.   在镜像仓库中下载ubuntu桌面版本镜像   docker pull dorowu/ubuntu-desktop-lxde-vnc    2.   运行镜像   映射宿主机的8080端口和镜像的80端口   docker run -it -p 8080:80 --name vnc dorowu/ubuntu-desktop-lxde-vnc  3.   查询docker环境变量配置 docker-machine env    4.  用本地浏览器访问  http://192.168.99.100:8080/    

linux 的ls 用法

 1. 不带参数的ls      显示目录下的所有文件   2.  ls  -l      显示目录的长列别 文件属性 文件个数 拥有者 所属分组    文件大小          日期                    文件名称 文件属性类型 第一个字母代表的类型       - 常规文件  d目录  l 符号链接 c 字符特殊设备 b 模块特殊设备 p FIFO s 套接字 其余的每3个格代表一列   rwx   r  代表读   w 代表写 x 代表可执行 。第一组表示当前用户对文件的权限 第二组表示该组用户对文件的操作权限;第三组表示其余用户对文件的操作权限 ...

docker 基础知识

基础概念: container  容器。可以把每个 container 看做是一个独立的主机。 container 的创建通常有一个 image 作为其模板。类比成虚拟机的话可以理解为 image 就是虚拟机的镜像,而 container 就是一个个正在运行的虚拟机。一个虚拟 ...

netty基础知识2

 本文所使用JDK7和netty5.0为基础。Netty5.0   Netty 服务端开发        import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import i ...

json解析工具jackson

    博客分类:
  • java
Jackson库(http://jackson.codehaus.org),是基于Java语言的开源json格式解析工具,整个库包含3个jar包: jackson-core.jar——核心包(必须),提供基于“流模式”解析的API。 jackson-databind——数据绑定包(可选),提供基于“对象绑定”和“树模型”相关API。 jackson-annotations——注解包(可选),提供注解功能。 Jackson的优势          相对于Java json解析的其他库,诸如json-lib、gson包,Jackson具有以下优点: 功能全面,提供多种模式的 ...
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。 1、元注解 元注解是指注解的注解。包括  @Retention @Target @Document @Inherited四种。 1.1、@Retention: 定义注解的保留策略 @Retention(RetentionPolicy.SOURCE)    //注解仅存在于源码中,在class字节码文件中不包含

netty基础学习1

1、netty是什么    Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。 2、NIO入门    首先我们看一下基于同步线程阻塞IO(BIO)的线程模型图    从上 ...
Global site tag (gtag.js) - Google Analytics