runAsync和supplyAsyncrunAsync接受一个Runable的实现,无返回值CompletableFuture.runAsync(()->System.out.println("无返回结果的运行"));supplyAsync接受一个Supplier的实现,有返回值CompletableFuturecompletableFuture=CompletableFuture.supplyAsync(()->{System.out.println("有返回结果的运行");return1;});获取结果的get和join都是堵塞,直到返回结果get方法抛出是经过处理的异常,Executi
0.1、索引https://waterflow.link/articles/16645912928711、tcp的3次握手(建立连接)客户端的协议栈向服务器端发送了SYN包,并告诉服务器端当前发送序列号j,客户端进入SYNC_SENT状态;服务器端的协议栈收到这个包之后,和客户端进行ACK应答,应答的值为j+1,表示对SYN包j的确认,同时服务器也发送一个SYN包,告诉客户端当前我的发送序列号为k,服务器端进入SYNC_RCVD状态;客户端协议栈收到ACK之后,使得应用程序从connect调用返回,表示客户端到服务器端的单向连接建立成功,客户端的状态为ESTABLISHED,同时客户端协议栈也
0.1、索引https://waterflow.link/articles/1663921524839通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。1、检查数组中元素是否存在Golang没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。很简单,遍历一遍数组检查元素是否存在。packagemainimport"fmt"funcmain(){ slice:=[]string{"apple","grapes","mango"} ifContains(slice,"mango"){ fmt.Println("元素存在") }el
runAsync和supplyAsyncrunAsync接受一个Runable的实现,无返回值CompletableFuture.runAsync(()->System.out.println("无返回结果的运行"));supplyAsync接受一个Supplier的实现,有返回值CompletableFuturecompletableFuture=CompletableFuture.supplyAsync(()->{System.out.println("有返回结果的运行");return1;});获取结果的get和join都是堵塞,直到返回结果get方法抛出是经过处理的异常,Executi
0.1、索引https://waterflow.link/articles/16645912928711、tcp的3次握手(建立连接)客户端的协议栈向服务器端发送了SYN包,并告诉服务器端当前发送序列号j,客户端进入SYNC_SENT状态;服务器端的协议栈收到这个包之后,和客户端进行ACK应答,应答的值为j+1,表示对SYN包j的确认,同时服务器也发送一个SYN包,告诉客户端当前我的发送序列号为k,服务器端进入SYNC_RCVD状态;客户端协议栈收到ACK之后,使得应用程序从connect调用返回,表示客户端到服务器端的单向连接建立成功,客户端的状态为ESTABLISHED,同时客户端协议栈也
0.1、索引https://waterflow.link/articles/1663921524839通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。1、检查数组中元素是否存在Golang没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。很简单,遍历一遍数组检查元素是否存在。packagemainimport"fmt"funcmain(){ slice:=[]string{"apple","grapes","mango"} ifContains(slice,"mango"){ fmt.Println("元素存在") }el
反射概述Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取的信息来创建对象,调用方法的一种机制。由于这种,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。获取Class类的对象案例://Student类publicclassStudent{/***成员变量:私有,默认,公共*/privateStringname;intage;publicStringaddress;//构造方法:一个私有,一个默认,两个公共publicStudent(){}privateStudent(Stringname){this.name=name;}Student(S
变量变量的使用步骤:声明、赋值、使用packagemainimport"fmt"funcmain(){ //1.变量的声明 varageint //2.变量的赋值 age=18 //3.变量的使用 fmt.Println("age=",age) //4.变量的声明和赋值可以合成一句 varage2int=19 fmt.Println(age2) /*注意: 1.变量不可以重复定义:就是一个文件前面定义了,同文件下面的代码不能在定义了 2.不可以在赋值的时候给与不匹配的类型int必须是整型 varnumint=12.5会报错 */}变量的四种使用方式packagemainimport"fmt"f
反射概述Java反射机制:是指在运行时去获取一个类的变量和方法信息。然后通过获取的信息来创建对象,调用方法的一种机制。由于这种,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。获取Class类的对象案例://Student类publicclassStudent{/***成员变量:私有,默认,公共*/privateStringname;intage;publicStringaddress;//构造方法:一个私有,一个默认,两个公共publicStudent(){}privateStudent(Stringname){this.name=name;}Student(S
变量变量的使用步骤:声明、赋值、使用packagemainimport"fmt"funcmain(){ //1.变量的声明 varageint //2.变量的赋值 age=18 //3.变量的使用 fmt.Println("age=",age) //4.变量的声明和赋值可以合成一句 varage2int=19 fmt.Println(age2) /*注意: 1.变量不可以重复定义:就是一个文件前面定义了,同文件下面的代码不能在定义了 2.不可以在赋值的时候给与不匹配的类型int必须是整型 varnumint=12.5会报错 */}变量的四种使用方式packagemainimport"fmt"f