返回值

多线程基础体系知识清单

三世轮回 提交于 2019-12-01 07:48:33
前言 本文会介绍Java中多线程与并发的基础,适合初学者食用。 线程与进程的区别 在计算机发展初期,每台计算机是串行地执行任务的,如果碰上需要IO的地方,还需要等待长时间的用户IO,后来经过一段时间有了批处理计算机,其可以批量串行地处理用户指令,但本质还是串行,还是不能并发执行。 如何解决并发执行的问题呢? 于是引入了进程的概念,每个进程独占一份内存空间,进程是内存分配的最小单位,相互间运行互不干扰且可以相互切换,现在我们所看到的多个进程“同时"在运行,实际上是进程高速切换的效果。 那么有了线程之后,我们的计算机系统看似已经很完美了,为什么还要进入线程呢?如果一个进程有多个子任务,往往一个进程需要逐个去执行这些子任务,但往往这些子任务是不相互依赖的,可以并发执行,所以需要CPU进行更细粒度的切换。所以就引入了线程的概念,线程隶属于某一个进程,它共享进程的内存资源,相互间切换更快速。 进程与线程的区别: 进程是资源分配的最小单位,线程是CPU调度的最小单位。所有与进程相关的资源,均被记录在PCB中。 线程隶属于某一个进程,共享所属进程的资源。线程只由堆栈寄存器、程序计数器和TCB构成。 进程可以看作独立的应用,线程不能看作独立的应用。 进程有独立的地址空间,相互不影响,而线程只是进程的不同执行路径,如果线程挂了,进程也就挂了。所以多进程的程序比多线程程序健壮,但是切换消耗资源多。

return的使用

好久不见. 提交于 2019-12-01 07:45:02
1.return的作用: 返回值数目=0:默认返回None 返回值数目=1:返回object 返回值数目>1:返回tuple 2.注意点: return是用来给函数返回结果的 当函数执行到return时,函数执行结束 函数没有定义return,默认返回None 来源: https://www.cnblogs.com/kxx-1/p/11669810.html

委托简介和使用。

一曲冷凌霜 提交于 2019-12-01 07:41:54
委托 编程中,可能会遇到以下逻辑 需求: 写一个方法,输出数组中满足条件(5的倍数,除7余1……)的数字。 我们可以这样写: 方法1(数字x):如果x是5的倍数,返回真。 方法2(数字x):如果x除以7余1,返回真。 打印1(数组a){if(方法1(数组a中所有的元素))打印该元素} 打印2(数组a){if(方法2(数组a中所有的元素))打印该元素} 主方法酌情调用。代码如下: 1 static bool ff1(int x) 2 { 3 return x % 5 == 0; 4 } 5 static bool ff2(int x) 6 { 7 return x % 7 == 1; 8 } 9 static void dy1(int[] a) 10 { 11 foreach(var t in a) 12 { 13 if(ff1(t)) 14 { 15 Console.WriteLine(t); 16 } 17 } 18 } 19 static void dy2(int[] a) 20 { 21 foreach (var t in a) 22 { 23 if (ff2(t)) 24 { 25 Console.WriteLine(t); 26 } 27 } 28 } 29 static void Main(string[] args) 30 { 31 int[] a = new int

Java基础知识

本小妞迷上赌 提交于 2019-12-01 07:07:06
目录 1.0 Java基础 1.0.1 Java的发展史 1.0.2 Java的跨平台 1.0.3 JVM安装 1.1第一个Java程序 1.1.1 关注的重点内容 1.1.2 代码编写 1.1.3代码的关注点 1.2 Java数据类型 1.2.1 数据类型是什么 1.2.2 数据类型分类 1.3 Java中的变量 1.3.1 什么是变量 1.3.2 如何定义变量 1.4运算符 1.4.1运算符分类 1.4.2算术运算符 1.4.3 比较运算 1.4.4字符类型的比较原理 1.4.5逻辑运算符 1.4.6三目运算符 1.4.7单目运算符 1.5 条件判断 1.5.1 条件判断的分类 1.5.2 if语句 1.5.3 switch语法 1.6 循环 1.6.1 循环分类 1.6.2 while循环 1.6.3 do..while 循环 1.6.4 for循环 1.6.5 foreach 循环 1.6.6 continue 关键字 1.6.7 总结break 和 continue 1.6.8 任务 1.7 数组 1.7.1 数组的意义 1.7.2 数组的语法 1.7.3 数组的分类 1.7.4 数组的赋值与遍历 1.7.5 数组的报错 1.7.6 数据类型转换 1.7.7 任务 1.8 字符串 1.8.1 字符串初始化 1.8.2 字符串构造方法 1.8.3 字符串方法的使用 1.8

3 返回值

一曲冷凌霜 提交于 2019-12-01 05:23:33
返回值 函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回 def stu_register(name, age, course='PY' ,country='CN'): print("----注册学生信息------") print("姓名:", name) print("age:", age) print("国籍:", country) print("课程:", course) if age > 22: return False else: return True registriation_status = stu_register("王山炮",22,course="PY全栈开发",country='JP') if registriation_status: print("注册成功") else: print("too old to be a student.") 注意 函数在执行过程中只要遇到return语句,就会停止执行并返回结果,也可以理解为 return 语句代表着函数的结束 如果未在函数中指定return,那这个函数的返回值为None 来源: https://www.cnblogs.com/shibojie/p/11658256.html

Go语言入门教程(十一)

谁都会走 提交于 2019-12-01 01:25:26
原创: IT干货栈 Hello,各位小伙伴大家好,我是小栈君,昨天讲了关于go语言的函数的定义和自定函数的部分种类,我们今天接着上期所讲的内容继续进行分享。 一、函数之无参有返回值 有返回值的函数,必须有明确的终止语句,否则会引发编译错误。所以在有返回值的函数中需要使用关键字 return 。 他可以是一个或者多个返回值。官方建议:最好命名返回值,因为不命名返回值,虽然使得代码更加简洁了,但是会造成生成的文档可读性差。 //方式1 func Test01() int { return 250 } //方式2, 给返回值命名 func Test02() (a int) { a = 250 return a } //方式3, 给返回值命名 func Test03() (value int) { value = 250 return } func main() { v1 := Test01() //函数调用 v2 := Test02() //函数调用 v3 := Test03() //函数调用 fmt.Printf("v1 = %d, v2 = %d, v3 = %d\n", v1, v2, v3) } 有过编程经验的小伙伴可能发现了,这样的编程语法其实是和JavaScript相差不大的。 对于函数的调用或是定义都和其他语言有点区别,如果慢慢熟悉这种语法了

构造方法

99封情书 提交于 2019-11-30 21:39:24
什么是构造函数 java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。 作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。 来源: https://www.cnblogs.com/fan111/p/11641374.html

Go语言入门教程(十)之函数

自闭症网瘾萝莉.ら 提交于 2019-11-30 21:38:30
Hello 各位小伙伴大家好,我是小栈君,假期一眨眼就过去了。不知道大家玩的是否开心呢? 上次我们讲到了关于Go语言的流程控制,小栈君也希望小伙伴跟着小栈君一步一个脚印的敲一下代码,相互进步。本期我们要分享的Go语言系列之函数。 一、什么是函数? 函数是指一段在一起的、可以做某一件事儿的程序。也叫做子程序、(OOP中)方法。 一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。 在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。 在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量 二、函数之函数定义 所以综上所述我们可以知道函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。 所以函数的通用格式如下: 函数定义说明: func:函数由关键字 func 开始声明 funcName:函数名称,根据约定,函数名首字母小写即为private,大写即为public ,注意之前小栈君提醒过各位,在go语言中是区分大小写的。所以这里的add是仅本类中使用。 参数列表:函数可以有0个或多个参数

js数组遍历方法总结

随声附和 提交于 2019-11-30 21:13:19
数组遍历方法 1.for循环 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。 1 2 3 for (j = 0,len=arr.length; j < len; j++) { } 2.foreach循环 遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE 1 2 3 4 5 6 //1 没有返回值 arr.forEach((item,index,array)=>{ //执行代码 }) //参数:value数组中的当前项, index当前项的索引, array原始数组; //数组中有几项,那么传递进去的匿名回调函数就需要执行几次; 3.map循环 有返回值,可以return出来 map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了); 1 2 3 4 5 6 7 arr.map( function (value,index,array){    //do something    return XXX }) 1 2 3 4 5 6 var ary = [12,23,24,42,1]; var res = ary.map( function (item,index,ary ) { return item*10; }

Java相关知识2

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 18:43:54
11、是否可以从一个static方法内部发出对非static方法的调用? 不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。 12、Integer与int的区别 int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。 例如:要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。 在Hibernate中,如果将OID定义为Integer类型