风行水上_ZH
码龄3年
求更新 关注
提问 私信
  • 博客:47,646
    动态:88
    47,734
    总访问量
  • 37
    原创
  • 74
    粉丝
  • 4
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2022-04-14

个人简介:路漫漫其修远兮,吾将上下而求索。

博客简介:

ZH的博客

博客描述:
路漫漫其修远兮,吾将上下而求索。
查看详细资料
个人成就
  • 获得107次点赞
  • 内容获得3次评论
  • 获得227次收藏
  • 博客总排名257,656名
  • 原力等级
    原力等级
    3
    原力分
    351
    本月获得
    0
创作历程
  • 3篇
    2024年
  • 11篇
    2023年
  • 23篇
    2022年
成就勋章
TA的专栏
  • zh和他的Android
    37篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

兴趣领域 设置
  • Java
    java
  • 移动开发
    kotlin
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

90人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

NestedScrollView实现嵌套滑动机制

本文介绍一种常用的实现嵌套滑动的开源框架NestedScrollView。通过它可以优雅的实现嵌套滑动的效果。
原创
博文更新于 2024.11.25 ·
1838 阅读 ·
27 点赞 ·
2 评论 ·
24 收藏

属性动画与硬件加速

在屏幕显示的时候,GPU拿着cpu的指令,直接转换为像素应用到屏幕上,显示文字,图形等元素。本文根据动画常见的使用场景,详细总结一下Android中各种属性动画的区别和特点,以及制作复杂动画所用到的关键帧、插值器、估值器的原理、使用场景和方法。view的绘制是非常频繁的操作。为了性能考虑,android每次绘制信号到来(就是我们常说的VSync信号),并不会整个界面,只绘制改变了的区域。它的主要原理是,这些view自带的属性,被android做了优化,这些属性的改变,不会导致gpu操作的改变。
原创
博文更新于 2024.06.23 ·
760 阅读 ·
13 点赞 ·
0 评论 ·
27 收藏

Grdle构建原理分析

它的作用是包住gradle,实际上做工作的是它里面的gradle。java语言提供匿名内部类和lamda表达式的形式来传递方法,它实际上传递的是类的对象,而不是方法本身。前面说的buildType flavorDimensions生成的变体,实际上是通过插件根据配置创建出不同的task(后面准备分享一票Android apk编译打包的过程,这里再详细进行介绍)。事实上,老的版本Gradle只提供compile方法,新的版本提供了非传递依赖的implementation方法和传递依赖的api方法。
原创
博文更新于 2024.06.23 ·
889 阅读 ·
21 点赞 ·
0 评论 ·
27 收藏

(三)OkHttp网络请求拦截器详解

这个拦截器一般做网络调试用,用户自定义,插在连接拦截器和请求服务拦截器之间。整个OkHttp的网络请求工作都是在这个五大拦截器中完成。他们分别负责不同的工作,如果流水线一样,经过五到工序,最终完成了完整的工作。
原创
博文更新于 2023.08.06 ·
3323 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

View的加载和更新流程

本文主要讲解View的完整加载过程和View的更新流程。
原创
博文更新于 2023.08.06 ·
600 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

(一)OkHttp网路请求框架详解

前面几篇文章讲解了HTTP相关的技术知识。接下来将看一下OkHttp是如何使用HTTP的相关技术,完成网络请求。如果没有看过之前HTTP的内容,建议先看一下再来看本章的内容。本文是介绍OkHttp的第一章节----OkHttp的网络请求框架。
原创
博文更新于 2023.08.06 ·
1191 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

(二)OkHttp网络请求配置参数详解

前面说到OkHttp网络请求的总体框架。这一章节主要通过解读OkHttpClient的内容,了解可以通过框架配置哪些参数,以及这些参数的意义。让我们对OkHttp框架和HTTP协议之间的关系有更深的了解。
原创
博文更新于 2023.08.06 ·
4216 阅读 ·
13 点赞 ·
0 评论 ·
11 收藏

Dagger2实现原理分析

Dagger是一个依赖注入框架,这个框架往往给人一种“高端,但是却很难用“的感觉。我们在使用或者阅读别人的项目时,往往会陷入dagger搭建的”迷宫里”绕不出来。导致Dagger被认为是android史上”最受冷落的优质库”。本文先通过理清依赖注入的概念,然后详细介绍Dagger一些常见的使用场景和注意事项,最后介绍一下Dagger主要功能实现的原理。帮助大家进行理解。
原创
博文更新于 2023.05.20 ·
1331 阅读 ·
0 点赞 ·
1 评论 ·
8 收藏

Git深入理解与常用操作的本质

Git当前十分流行的版本管理系统(VCS)。它是一种分布式的VCS,即Git的每一个仓库都具有完整的内容和功能,可以独立运行。基于分布式的特性,Git可以在任意位置clone代码仓库,进行开发和提交。使得对代码的管理十分方便。本文对Git涉及的主要概念以及经常会用到的Git命令进行讲解。帮助大家更好的理解、掌握和使用Git。本文篇幅较长,请耐心阅读。
原创
博文更新于 2023.05.20 ·
428 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HTTPS安全通讯原理解析

对于敏感数据我们通常会选择用HTTPS进行加密传输。HTTPS和HTTP有什么关系?它是如何实现数据安全传输的?现在就带你研究。
原创
博文更新于 2023.03.04 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一文读懂TCP/IP网络分层模型

网络模型有国际标准化组织定义的OSI七层网络模型和实际使用的TCP/IP五层网络模型。本文从应用开发的角度介绍TCP/IP网络模型,帮助大家更好的理解。
原创
博文更新于 2023.03.04 ·
684 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HTTP登录和授权

HTTP是无状态的协议,它不会记录和保存之前连接的状态。那么它进行登录验证和授予客户端权限的过程是怎样的?我们经常使用微信、QQ等进行第三方的授权登录。又是怎样实现的?本文将通过介绍HTTP登录和授权机制帮助大家理解这些问题。
原创
博文更新于 2023.03.04 ·
2049 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

网络安全签名与认证

网络安全的签名与认证是非常实用的技术知识,但是了解的人比较少。因为相关的内容基本都有成熟的解决方案,很少需要我们做什么。这些东西经常被用到,需要真正理解才能更好和更正确的使用。这里把相关的内容整理出来,帮助大家更好的掌握。
原创
博文更新于 2023.03.04 ·
869 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

HTTP工作方式与报文解析

HTTP是我们在开发工作中经常接触而又容易被忽视的知识点。它经常是“一次配置,终身使用”。即在第一次被搭建起来,后面基本不会再动它。前端、后端,以及前后端交互的代码都已经定型。而我们只需要按照之前的规则来对他进行扩展。这就导致了我们经常使用,但对它又并不是很了解。本文将通过介绍HTTP协议的定义、工作方式,以及请求报文和响应报文的解析,帮助大家更好的理解HTTP协议。
原创
博文更新于 2023.03.04 ·
1054 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java原生网络编程 ---- IO多路复用

Java是在jdk1.4引入支持NIO的库。前面博客说过BIO通讯,这种模式下服务端一个线程只处理一个会话。当线程被阻塞在read() 或 write()时,不能够做其他的事情。线程在服务器属于比较昂贵的资源。BIO的方式会造成很大的资源浪费。NIO,被称为IO多路复用,中心思想既是对服务器的线程进行复用,从而提高服务器资源利用的效率。
原创
博文更新于 2022.05.14 ·
2103 阅读 ·
3 点赞 ·
1 评论 ·
9 收藏

Java原生网络编程 ---- 阻塞式IO

阻塞式IO,即BIO。采用BIO通信的服务端模型,通常由一个独立的Acceptor线程负责监听客户端的连接,当收到一个客户端连接请求后,为该客户端创建一个线程进行会话,包括数据的读取、写入以及处理等,会话完成后销毁线程。这是一种“一请求一应答”的模型,即一个线程处理一个会话。
原创
博文更新于 2022.05.14 ·
430 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTP协议简介

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,用于从万维网服务器传输超文本到本地浏览器。(本地浏览器通过解析超文本从而在本地浏览器显示内容)。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息。URL,全称是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地...
原创
博文更新于 2022.05.14 ·
779 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

TCP协议

TCP(Transmission Control Protocol)是面向连接的可靠的通讯协议。TCP需要经过三次握手建立连接,并在断开时通过四次挥手释放连接。TCP通过应答确认、超时重传(RTO)、往返时延(RTT)、数据排序、流量控制、全双工通讯的机制和特性,保证连接的可靠性。
原创
博文更新于 2022.05.13 ·
2276 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

Java原生网络编程基础

计算机网络,是利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。
原创
博文更新于 2022.05.12 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java外置锁实现原理

Java中的锁,如,ReentrantLock(显式锁)、CountDownLatch(闭锁)等都是基于AQS(队列同步器)来实现的,AQS又是CLH队列锁的一种变体实现。下面对这些锁的知识进行详细介绍。
原创
博文更新于 2022.05.12 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多