返回值

JAVA多线程实现的三种方式

我的未来我决定 提交于 2020-03-22 15:01:28
Java 多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如: public class MyThread extends Thread {    public void run() {    System.out.println( "MyThread.run()");   } } public class MyThread extends Thread {   public void run() {    System.out.println("MyThread.run()");   } } 在合适的地方启动线程如下: MyThread

Expression Tree 上手指南 (三)

 ̄綄美尐妖づ 提交于 2020-03-21 18:41:42
上回 我们说到手工解析Expression Tree,以便获得其中的逻辑或者执行我们自定义的语义动作。这种做法扩展了C#语言的威力,让我们可以用C#的语法来做更多的事情,例如Linq to Sql。今天我们要学习一种相反的做法,手工创建表达式树,然后让.NET来解析它。这是一种强大的动态编程手段。我们可以用它来完成许多以前需要Reflection.Emit才能完成的任务。 LambdaExpression的独有方法:Compile 这里我们仍要使用诸多表达式中与众不同的LambdaExpression。在Visual Studio中我们可以看到他有一个Compile方法。这是做什么的呢。在 第一篇 中我们了解到Lambda表达式表达的是一个方法。那么LambdaExpression.Compile方法自然就是 将Lambda表达式的表达式树真的编译成一个.NET方法 。我们看看这段代码: ParameterExpression pi = Expression.Parameter(typeof(int), "i"); LambdaExpression fexp = Expression.Lambda( Expression.Add(pi, Expression.Constant(1)) , pi); Delegate f = fexp.Compile();

Python自学笔记(15day)

徘徊边缘 提交于 2020-03-21 10:00:54
装饰器 (1)装饰器的原则:开放封闭原则   开放:对扩展是开放的   封闭:对修改是封闭的 (2)装饰器的作用:不想修改函数的调用方式,但是还想在原来的函数前后添加功能 装饰器的分类 (1)不含有返回值return的装饰器 import time def func(): time.sleep(0.01) print("帅哥") def timmer(f): #装饰器函数,timmer装饰器函数函数名字 def inner(): #定义一个闭包函数inner() start=timer.timer() f() end=time.time() print(end-start) return inner func=timmer(func) #返回的是闭包函数的函数名字 func() (2)含有返回值return的装饰器 import time def func(): time.sleep(0.01) print("帅哥") return "王然" def timmer(f): #装饰器函数,timmer装饰器函数函数名字 def inner(): #定义一个闭包函数inner() start=timer.timer() ret=f() #调用f()拿到返回值赋值给ret end=time.time() print(end-start) return ret #将ret返回给闭包函数

python 装饰器

荒凉一梦 提交于 2020-03-21 09:05:19
python 装饰器 1、必备 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #### 第一波 #### def foo(): print 'foo' foo #表示是函数 foo() #表示执行foo函数 #### 第二波 #### def foo(): print 'foo' foo = lambda x: x + 1 foo() # 执行下面的lambda表达式,而不再是原来的foo函数,因为函数 foo 被重新定义了 2、需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功能即可。如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ############### 基础平台提供的功能如下 ############### def f1(): print 'f1' def f2(): print 'f2' def f3(): print 'f3' def f4(): print 'f4' ############### 业务部门A 调用基础平台提供的功能 ############### f1() f2() f3() f4() ######

函数与数组

∥☆過路亽.° 提交于 2020-03-21 05:49:59
一:函数 1.什么是函数呢 ? 就是在不断进行加法运算时,为了提高代码的复用性,就把该功能封装为一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这段小程序,那么这种封装形式的具体表现则称之为函数 例如 public class dame{     public static void main(String[] args){     int a = 4+5;        System.out.println("a="+a);       int b = 3+9;        System.out.println("b="+b);       add(4,5);      }     public static int add(int a, int b){        return a+b;     } } 2.函数的格式 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2 , ......){ 执行语句; return 返回值; } 参数类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用 void 来表示该函数没有返回值 函数名:仅仅是一个标识符,可以随意起名字 。 形式参数: 是一个变量,用于存储函数传递进来的实际参数 实际测试:传递给形式参数的具体数值 返回值:返回给调用者的 a:定义函数 1.是否有未知内容参与运算

C#基础-Func,Action

空扰寡人 提交于 2020-03-20 03:06:09
Func,Action 的介绍及其用法 Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。 Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型, Func<T,T,Result>:有参数,有返回类型 Action,则既没有返回也没有参数, Func<T,TResult> 的表现形式分为以下几种: 1。Func<T,TResult> 2。Func<T,T1,TResult> 3。Func<T,T1,T2,TResult> 4。Func<T,T1,T2,T3,TResult> 5。Func<T,T1,T2,T3,T4,TResult> 分别说一下各个参数的意义,TResult表示 委托所返回值 所代表的类型, T,T1,T2,T3,T4表示委托所调用的方法的参数类型, 以下是使用示例: Func<int, bool> myFunc = null;//全部变量 myFunc = x => CheckIsInt32(x); //给委托封装方法的地方 使用了Lambda表达式 private bool CheckIsInt32(int pars)//被封装的方法 {   return pars =

第五章 函数

懵懂的女人 提交于 2020-03-20 00:03:41
5.1 三元运算(三目运算) 三元运算的基本结构: v = 前面的值 if 条件 else 后面 条件为真 v=前面的值,条件为假v=后面的值 if 条件: v = '前面' else: v = '后面' 例题: 让用户输入值,如果值是整数,则转换成整数,否则赋值为none data = input('') value = int(data) True if datea.isdecimal() else none 5.2 函数 截止目前:都是面向过程编程。其特点是可读性差/可重用性差 为了增加代码的重复利用,可读性,所以引入函数 面向过程编程 user_input = input('请输入角色:') if user_input == '管理员': pass #给管理员发邮件,10行代码 if user_input == '业务员': pas s#给业务员发邮件,10行代码 if user_input == '老板': pass #给老板发邮件,10行代码 对于函数编程: 本质:将N行代码拿到别处并给它起个名字,以后通过名字可以找到这段代码并执行 场景: 代码重复执行 代码量特别多超过一屏,可以选择通过函数进行代码分分割 5.2.1函数的基本结构 def 函数名(形参): #函数的定义 def 函数名(): 函数名的命名规则和变量名命名规则一样 函数内容 pass 函数的执行 函数名

call存储过程(有返回值)

女生的网名这么多〃 提交于 2020-03-19 03:22:06
using (SqlConnection sqlconn = new SqlConnection( " server=.;uid=sa;pwd=yuling1310;database=smls " )) { SqlCommand sqlcmd = new SqlCommand( " getcerti_notesbigtext " , sqlconn); sqlcmd.CommandType = CommandType.StoredProcedure; // 输入参数 sqlcmd.Parameters.Add( " p_certi_type_code " , SqlDbType.VarChar, 10 ).Value = " x " ; sqlcmd.Parameters.Add( " p_order_no " , SqlDbType.VarChar, 50 ).Value = " SBF55YQ001 " ; sqlcmd.Parameters.Add( " @p_certi_no " , SqlDbType.VarChar, 50 ).Value = " 00000155 " ; sqlcmd.Parameters.Add( " @a_certi_sheet_type_code " , SqlDbType.VarChar, 10 ).Value = " 1 " ; //

读jQuery源码 - Deferred

烂漫一生 提交于 2020-03-18 11:13:47
Deferred 首次出现在 jQuery 1.5 中,在 jQuery 1.8 之后被改写,它的出现抹平了javascript中的大量回调产生的金字塔,提供了异步编程的能力,它主要服役于 jQuery.ajax 。 Deferred 就是让一组函数在合适的时机执行,在成功时候执行成功的函数系列,在失败的时候执行失败的函数系列,这就是 Deferred 的本质。简单的说,模型上可以规划为两个数组来承接不同状态的函数——数组 resolve 里的函数列表在成功状态下触发, reject 中的函数在失败状态下触发。 本文原创于 linkFly , 原文地址 。 这篇文章主要分为以下知识,和上一篇博文《 读jQuery源码之 - Callbacks 》关联。 什么是Deferred jQuery.Deferred的Promise Deferred的模型与工作原理 jQuery.Deferred的实现 jQuery.Deferred的then() 什么是Deferred 初窥Deferred Deferred本身就是承接一组函数,在异步中执行这组函数,过去的我们是这样编写异步代码的: var resolve = function () { console.log('成功'); }, //定义一个失败状态下运行的函数 reject = function () { console.log(

Flask笔记:RESTful

断了今生、忘了曾经 提交于 2020-03-18 07:34:00
RESTful是用于前台和后端进行通信的一种规范或者说一种风格,采用的是HTTP和HTTPS协议,数据传输的格式使用的都是JSON,而不是XML。通常,RESTful的URL中只有名词,没有动词,而且名词在复数的情况就应该使用其复数的形式。网上有专门讲解RESTful的详细教程,本文只是Flask中用于实现RESTful规范的插件Flask-RESTful的学习笔记,就不详细介绍RESTful了。 安装:pip install Flask-RESTful 使用场景: 一般来说,如果URL是用于向前台返回json数据,就可以考虑使用这个RESTful插件了。 RESTful基础使用 RESTful的使用重点在视图类的定义,包括请求方法的定义,基础使用步骤如下,具体参见示例代码: 导入: from flask_restful import Api, Resource 创建Api对象: api = Api(app) 创建视图类: 视图类需要继承Resource,然后定义对应的请求方法即可,返回值为json格式数据,即字典 添加url: 使用`api.add_resource`方法添加url相关信息,第一个参数为视图类的名称,第二个参数是url字符串,并且可以有多个url,第三个参数是endpoint等关键字参数。 简单示例: from flask import Flask, url