超详细的HashMap解析(jdk1.8)

目录 一、预备知识时间复杂度基本数据结构基本位运算 二、HashMap实现原理结构速度 三、源码分析基本常量基本成员变量构造方法put方法remove 四、日常使用注意事项五、总结 本文是我在学习 java集合过程中,针对HashMap的一篇总结文章。由于博主是非科班出身程序员,在学习HashMap原理时遇到了很多困难,所以如果你和博主一样,数据结构基础也不扎实甚至是没有基础,这篇文...

【高速接口-RapidIO】6、RapidIO核仿真与包时序分析

层以及物理层来观察RapidIO串行物理层包的传输细节。整个包与信号分析的过程完全基于RapidIO提供的例子工程,例子工程的产生与源代码的分析已经在上一篇文章《Xilinx RapidIO核例子工程源码分析》(链接:https://www.cnblogs.com/liujinggang/p/10091216.html)提到过,这里不再赘述。最后,本文会利用RapidIO核做一个回环测试(Loopback...

Netty源码分析 (三)----- 服务端启动源码分析

n.SO_KEEPALIVE, true); 本篇博文将从源码的角度分析ChannelFuture f = b.bind(8888).sync() 的内部实现。这样就完成了Netty服务器端启动过程的源码分析源码分析ChannelFuture f = b.bind(8888).sync() AbstractBootstrap.java public ChannelFuture bind(int ine...

Android 8.0系统源码分析--openCamera启动过程源码分析

   今年一进公司就开始搞相机开发,一直是在搞相机应用层,不过自己的学习心一直没停,闲暇之余就研究一下相机的framework、HAL层的东西,平时工作中碰到的和自己接触到的,相机中最复杂的就是预览了,有了一些体会也不想放下,所以决定写一系列关于Android相机的博客,把自己学习到的东西记录下来。      说起Android相机的东西,从应用层的角度来看,基本就是四个重要的节点了:openCamera...

Android 8.0系统源码分析--openCamera(HAL)启动过程源码分析

 前面我们详细分析了从应用层调用CameraManager的openCamera的方法来打开相机的逻辑,上次的分析我们来到了CameraServer进程当中,但是还没有真正看到open操作设备节点来实现真正打开的逻辑,遗留的问题也就是从frameworks\av\services\camera\libcameraservice\device3\Camera3Device.cpp文件中的status_t C...

一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg

ndows版ijkplayer系列文章之一——Windows10平台编译ffmpeg 4.0.2,生成ffplay一步步实现windows版ijkplayer系列文章之二——Ijkplayer播放器源码分析之音视频输出——视频篇一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇一步步实现windows版ijkplayer系列文章之四——...

Netty源码分析 (八)----- write过程 源码分析

上一篇文章主要讲了netty的read过程,本文主要分析一下write和writeAndFlush。 主要内容 本文分以下几个部分阐述一个java对象最后是如何转变成字节流,写到socket缓冲区中去的 pipeline中的标准链表结构 java对象编码过程 write:写队列 flush:刷新写队列 writeAndFlush: 写队列并刷新 pipeline中的标准链表结构 一个标准的pipeline...

【Go源码分析】Go scheduler 源码分析

作者:孙伟1、进程/线程/协程基本概念 一个进程可以有多个线程,一般情况下固定2MB内存块来做栈,用来保存当前被调用/挂起的函数内部的变量,CPU在执行调度的时候切换的是线程,如果下一个线程也是当前进程的,就只有线程切换,“很快”就能完成;如果下一个线程不是当前的进程,就需要切换进程,这就得费点时间了。 线程分为内核态线程和用户态线程,用户态线程需要绑定内核态线程,CPU并不能感知用户态线程的存在,它只...

Mybatis源码分析——Mapper与接口绑定源码分析

源码分析前简介 首先我们来看看用 Mybatis 执行 sql 的两种方法 直接操作 SqlSession 方法 public User findUserById(Integer userId) { SqlSession sqlSession = MyBatisSqlSessionFactory.getSqlSession(); try { // namespace + statementId retu...

Netty开发redis客户端,Netty发送redis命令,netty解析redis消息

ty实现心跳机制 Netty系列 spring如何启动的?这里结合spring源码描述了启动过程 SpringMVC是怎么工作的,SpringMVC的工作原理 spring 异常处理。结合spring源码分析400异常处理流程及解决方法 Mybatis Mapper接口是如何找到实现类的-源码分析 Lua脚本在redis分布式锁场景的运用 CORS详解,CORS原理分析...
关于我们 联系我们 友情链接 LMLPHP后院 
本站由 LMLPHP 强力驱动 ©2014-2019 LMLPHP 耗时0.115915(s)
2019-10-17 06:33:59 1571265239