1,iBatis源码中DefaultSqlSession.java,下面这个方法中匿名类的使用比较有意思,我对这个语法不熟悉,师兄说这是匿名类的初始化,

private Object wrapCollection(final Object object) {

if (object instanceof List) {

return new HashMap() {{

put("list", object);

}};

} else if (object != null && object.getClass().isArray()) {

return new HashMap() {{

put("array", object);

}};

}

return object;

}

2,BufferedInputStream类的实现是其内部有一个字节数组作为缓冲区,默认大小为8K字节,还有一个AtomicReferenceFieldUpdater用来对这个缓冲区进行比较和赋值,这主要是防止在赋值时,其他调用者调用了close方法,导致缓冲区为null,因此将这个赋值动作做成原子化操作。读数据的时候,如果缓存区是空的,一种特别的情况就是要读的字节数大于或等于缓冲区长度,并且没有mark和set操作过,那么就直接从底层的输入流中读取,否则就重新填充缓冲区,再从缓冲区中读取数据。填充缓冲区时,主要要考虑有没有mark标志的,对其分别进行处理,当然最主要的操作还是对缓冲区扩容,重新从底层输入流中读取数据,

    public void close() throws IOException
    {    
        byte[] buffer;
        while ((buffer = buf) != null) {
            if (bufUpdater.compareAndSet(this, buffer, null)) {
                InputStream input = in;
                in = null; 
                if (input != null) 
                    input.close();
                return;
            }
        }

}

每日学习笔记(18)相关推荐

  1. Hadoop学习笔记—18.Sqoop框架学习

    Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...

  2. Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel

    Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只有单元格会进入编辑模式,而行编辑模式中则对编辑行的所有可编辑字段统一进行 ...

  3. 华为HCIA-datacom 学习笔记18——SDN与NFV概述

    华为HCIA-datacom 学习笔记18--SDN与NFV概述 SDN与NFV概述 1.计算机时代的演进 1.1大型机 专门的硬件 专门的操作系统 专门的应用.(稳定性能好,但封闭) 1.2小型机 ...

  4. 2020-4-12 深度学习笔记18 - 直面配分函数 5 ( 去噪得分匹配,噪声对比估计NCE--绕开配分函数,估计配分函数)

    第十八章 直面配分函数 Confronting the Partition Function 中文 英文 2020-4-8 深度学习笔记18 - 直面配分函数 1 ( 配分函数概念,对数似然梯度) 2 ...

  5. Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

    Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...

  6. 【计算机网络学习笔记18】防火墙技术、入侵检测技术

    [计算机网络学习笔记18]防火墙技术.入侵检测技术 一.防火墙 防火墙 (firewall) :一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降 ...

  7. 影像组学视频学习笔记(18)-使用MRIcroGL软件格式转换、勾画ROI、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(18)主要介绍: 使用MRIcroGL软件进行格式转换.勾画ROI并保存为mask文件 MRIcroGL 是一款免费.开源的轻量级软件: ...

  8. opencv学习笔记18:canny算子边缘检测原理及其函数使用

    canny边缘检测原理 去噪:边缘检测容易受到噪声的影响,在此之间,先去噪,通常采用高斯滤波器.opencv学习笔记11:图像滤波(均值,方框,高斯,中值) 梯度:对去噪后的图像采用sobel算子计算 ...

  9. [原创]java WEB学习笔记18:java EE 中的MVC 设计模式(理论)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

最新文章

  1. 推荐7款超良心的windows软件,每一个都是精品!
  2. ARM嵌入式开发之JTAG与SWD接口
  3. Consul入门01 - 安装Consul
  4. docker安装教程-centos
  5. linux贪吃蛇c程序,Linux环境下C语言实现贪吃蛇游戏
  6. [Swift]LeetCode452. 用最少数量的箭引爆气球 | Minimum Number of Arrows to Burst Balloons
  7. Linux中EXPORT_SYMBOL的用法
  8. OC_内存管理(二)对象复制、循环引用问题、自动释放池
  9. CSS:使用媒体查询进行网页元素的缩放
  10. 标题:我的中医自学历程(2013.8.26 更新网盘,欢迎下载和传播)
  11. ahu-557容斥原理
  12. python 二进制写入字典_Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)...
  13. bzoj1127 [POI2008]KUP
  14. cadence allegro 17.2中的正负片
  15. 【图像转换】基于matlab灰度图像转换彩色图像【含Matlab 1233期】
  16. 华为手机充满有提醒吗_手机充满电铃声提醒软件下载-华为手机充满电铃声提醒软件app下载 v1.0-友情手机站...
  17. 祝贺 Influx Technology 成为北航 AERO 大学生方程式赛车队一级赞助商
  18. Windows server 2008、2012、2016搭建sftp服务(超级简单)
  19. 启动nacos-server报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null
  20. PSPICE-AA灵敏度分析

热门文章

  1. 杂谈 | 微软复兴,它与苹果竟有这么多相似之处!
  2. 宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨!揭晓中国开发者真实现状...
  3. 年薪超 1400 万美元!苹果 CEO 库克去年薪酬大曝光!
  4. 厉害!从电影花瓶到 Wi-Fi 之母,这才是乘风破浪的姐姐!
  5. 『原创』+『参考』基于PPC的图像对比程序——使用直方图度量
  6. intellij 打开node项目 一直停留在scanning files to index....,或跳出内存不够的提示框...
  7. tp框架之Model类与命名空间
  8. [洛谷P4722]【模板】最大流 加强版 / 预流推进
  9. 使用apidoc文档神器,快速生成api文档
  10. Python第三周 学习笔记(2)