自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 jQuery基础

https://jquery.cuishifeng.cn/前端方法库插件 库 和 框架的区别插件: 实现某一个单一类功能库: 封装了各种的功能和你需要的工具框架: 自己的完整的生态系统主要内容是封装了各种 dom 操作优点:选择器链式编程隐式迭代特点:号称全兼容,2.0 以前的版本,2.0 以后逐步的不再兼容 IE当你引入一个 jquery.js 或者 jquery.min.js 以后,会向全局暴露两个变量名:jQuery、$jQuery 从 $()jQuery 的选择器

2022-02-10 21:13:00 473

原创 JavaScript基础

JS 的三种书写方式行内式 JS 代码a 标签,因为 a 标签本身就有行为出现,当点击的时候, 需要区分是跳转链接还是执行 JS 代码,在 href 属性里面书写一个 javascript: JS代码 ;非 a 标签,因为没有自己的行为, 需要给他加一个行为,写一个 onclick 属性, 表示当点击时执行属性值的位置书写的 JS 代码<div onclick="JS代码"></div>内嵌式 JS 代码在页面内书写一个 script 标签,把 JS 代码书写在标签对

2022-02-10 20:46:53 179

原创 CSS样式

CSS样式常用标签标签名作用备注p段落文本内容<P>段落文本内容</P>br换行<br/> 换行hr水平线<hr/> 水平线strong文本加粗(推荐使用)<strong>强调的内容</strong>b文本加粗<b>加粗内容</b>em文本倾斜(推荐使用)<em>强调倾斜文本</em>i文本倾斜&lt

2021-12-28 23:02:18 674

原创 Gradle详解

Gradle 是一款强大的构建工具,但 Gradle 不仅仅是一款强大的构建工具,它更像是一个编程框架。Gradle 的组成可以细分为如下三个方面:groovy 核心语法:包括 groovy 基本语法、闭包、数据结构、面向对象等等。Android DSL(build scrpit block):Android 插件在 Gradle 所特有的东西,我们可以在不同的 build scrpit block 中去做不同的事情。Gradle API:包含 Project、Task、Setting 等等。Gra

2021-10-08 22:15:41 1295 1

原创 Groovy

一、Gradle简介Gradle 是一个基于 JVM 的新一代构建工具Groovy 是 Apache 旗下的一种基于JVM的面向对象编程语言,既可以用于面向对象编程,也可以用作纯粹的脚本语言。在语言的设计上它吸纳了 Python、Ruby 和 Smalltalk 语言的优秀特性,比如动态类型转换、闭包和元编程支持。Groovy 与 Java 可以很好的互相调用并结合编程 ,比如在写 Groovy 的时候忘记了语法可以直接按 Java 的语法继续写,也可以在 Java 中调用 Groovy 脚本。比

2021-09-24 23:06:08 123

原创 Jetpack之LiveData原理分析

Jetpack之LiveData原理分析一、LiveData的基本使用//创建一个LiveData对象private MutableLiveData<String> currentName=new MutableLiveData<>();//创建一个观察者,currentName的value改变时会回调到onChanged方法,获取到改变后的值用一个textView来显示改变的内容Observer observer=new Observer<String>(){

2021-08-23 23:45:54 129

原创 Jetpack之Lifecycle原理分析

Jetpack之Lifecycle原理分析Lifecycle是用来观察和监听Activity、Fragment生命周期的组件。一、Lifecycle的基本使用Lifecycle有两个核心类,一个是LifecycleOwner接口,该接口有一个getLifecycle()方法,实现这个接口的类就可以作为一个被观察者,AppCompatActivity和Fragment就实现了这个接口,所以它们的 生命周期可以被观察和监听。另一个是LifecycleObserver接口,实现了这个接口可以作为一个观察者。

2021-08-22 23:54:02 99

原创 Gradle入门及使用

Gradle是一款构建系统工具,它的DSL基于Groovy实现,大部分功能都是通过插件的方法实现的,如果内置插件不能满足需求,可以自定义自己的插件。Gradle入门安装完成后,可以通过下面命令校验gradle版本// Window osgradlew -v// Linux os./gradle -v现在来编写第一个Gradle脚本// build.gradletask hello { doLast { println "Hello World!" }}

2021-08-14 23:08:15 779

原创 Groovy基本语法与使用

Groovy简介Groovy是增强Java平台的唯一的脚本语言;与Java相比,脚本语言具有更好的表示能力,能够提供更高的抽象等级。Groovy语言特点:Groovy是一种面向对象的脚本语言,涉及的所有事物都是对象,这一点不像Java语言Groovy与Java是二进制兼容的,Groovy编译器产生的字节码与Java编译器产生的字节码是完全一样的Groovy能够完全使用各种Java APIGroovy是动态类型语言,类型标记存在于对象中,而不是由引用它的变量来决定,所以Groovy不要求声明变量

2021-08-14 20:34:08 1742

原创 Java注解、反射及动态代理

Java注解、反射及动态代理注解注解本身没有任何意义,单独的注解就是一种注释,他需要结合其他如反射、插桩等技术才有意义。Java 注解(Annotation)又称 Java 标注,是 JDK1.5 引入的一种注释机制。是元数据的一种形式,提供有关于程序但不属于程序本身的数据。注解对它们注解的代码的操作没有直接影响。注解声明声明一个注解类型Java中所有的注解,默认实现 Annotation 接口:package java.lang.annotation; public interface A

2021-08-08 21:14:33 171

原创 Java泛型

Java泛型1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具

2021-08-07 23:49:53 86

原创 RxJava基本使用

RxJava基本使用Rx介绍ReactiveX的历史ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言库由ReactiveX这个组织负责维护,比较流行的有RxJav

2021-08-04 22:26:10 141

原创 Retrofit基本使用

Retrofit基本使用Retrofit是什么官网介绍是A type-safe HTTP client for Android and Java,是一个 RESTful 的 HTTP 网络请求框架的封装,但网络请求不是Retrofit来完成的,它只是封装了请求参数、Header、Url、返回结果处理等信息,而请求是由OkHttp3来完成的。Retrofit基本使用导包//网络请求相关 implementation "com.squareup.retrofit2:retrofit:$rootP

2021-08-01 20:13:27 260

原创 OkHttp原理解析

OkHttp原理解析OkHttp 3.10.0版本,最新OkHttp为:4.0.1逻辑与3版本并没有太大变化,但是改为kotlin实现。OkHttp介绍OkHttp是当下Android使用最频繁的网络请求框架,由Square公司开源。Google在Android4.4以后开始将源码中的HttpURLConnection底层实现替换为OKHttp,同时现在流行的Retrofit框架底层同样是使用OKHttp的。优点:支持Spdy、Http1.X、Http2、Quic以及WebSocket连接

2021-07-29 23:21:51 138

原创 网络编程基础

1、三次握手TCP建立连接必须进行三次握手:若A要与B进行连接,则必须第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认。即A发送信息给B第二次握手:服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认。即B收到连接信息后向A返回确认信息第三次握手:客户端收到服务器的(SYN+ACK)报文段,并向服务器发送ACK报文段。即A收到确认信息后再次向B返回确认连接信息此时,A告诉

2021-07-21 21:40:05 76 1

原创 计算机网络(谢希仁第7版)-应用层

计算机网络(谢希仁第7版)-运输层计算机网络(谢希仁第7版)- 网络层应用层应用层的许多协议都是基于客户服务器方式,即使是P2P对等通信方式,实质上以上一种特殊的客户服务器方式。客户和服务器都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。域名系统DNS(Domain Name System)域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。互联网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。域名到IP地址的解析

2021-07-18 21:36:18 2500 1

原创 计算机网络(谢希仁第7版)-运输层

计算机网络(谢希仁第7版)- 网络层运输层运输层协议概述从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层要对收到的报文进行差错检测。运输层的两个主要协议1)用户数据报协议UDP(User Datagram Protocol)传输控制协议TCP(Transmission Control Protocol)两个对等运输实体在通信时传送的数据

2021-07-14 22:45:33 504 1

原创 计算机网络(谢希仁第7版)- 网络层

网络层网络层提供的两种服务1、无连接的网络服务(数据报服务)2、面向连接的服务(虚电路服务)中间设备1、物理层使用的中间设备叫转发器(repeater)2、数据链路层使用的中间设备叫网桥或桥接器(bridge)3、网络层使用的中间设备叫路由器(router)4、在网路层以上使用的中间设备叫网关(gateway)用网关连接两个不兼容的系统需要在高层进行协议的转换。地址解析协议ARP(Address Resolution Protocol)ARP是解决同一个局域网上的主机或路由器的IP地址

2021-07-11 17:17:27 798 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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