1.Static详情见下面代码讲解点击查看代码packagecom.Tang.oop.demo07;publicclassStudent{privatestaticintage;//静态变量privatedoublescore;//非静态变量publicvoidrun(){go();//非静态方法可以调用静态方法}publicstaticvoidgo(){}publicstaticvoidmain(String[]args){Students1=newStudent();System.out.println(Student.age);//静态变量可以被类中的所有实例去共享//System.ou
1.Static详情见下面代码讲解点击查看代码packagecom.Tang.oop.demo07;publicclassStudent{privatestaticintage;//静态变量privatedoublescore;//非静态变量publicvoidrun(){go();//非静态方法可以调用静态方法}publicstaticvoidgo(){}publicstaticvoidmain(String[]args){Students1=newStudent();System.out.println(Student.age);//静态变量可以被类中的所有实例去共享//System.ou
为什么要改变this指向?我们知道bind,call,apply的作用都是用来改变this指向的,那为什么要改变this指向呢?请看下面的例子:varname="lucy";letobj={name:"martin",say:function(){console.log(this.name);}};obj.say();//martin,this指向obj对象setTimeout(obj.say,0);//lucy,this指向window对象可以观察到,正常情况下say方法中的this是指向调用它的obj对象的,而定时器setTimeout中的say方法中的this是指向window对象的(在
为什么要改变this指向?我们知道bind,call,apply的作用都是用来改变this指向的,那为什么要改变this指向呢?请看下面的例子:varname="lucy";letobj={name:"martin",say:function(){console.log(this.name);}};obj.say();//martin,this指向obj对象setTimeout(obj.say,0);//lucy,this指向window对象可以观察到,正常情况下say方法中的this是指向调用它的obj对象的,而定时器setTimeout中的say方法中的this是指向window对象的(在
写在最前:写在最前,我把代码和整理的文档放在github上了https://github.com/Leezhen2014/python_deep_learning Forward指的是神经网络推理,forward与感知机相比,多了一个激活函数的模块。因此本章需要实现激活函数,另外也需要重新实现y=w*x+b。本章的顺序如下: 3.1激活函数的实现在感知机中讲到用阈值来切换输出,这样的函数称为“阶跃函数”:一旦输入超出了阈值,就切换输出。阶跃函数也算是一种激励函数。需要注意激励函数应该具有以下数学特性:第一:由于后期训练过程中会对激励函数求导,因此这些函数必须符合数学上的可导。第二:必须为非
写在最前:写在最前,我把代码和整理的文档放在github上了https://github.com/Leezhen2014/python_deep_learning Forward指的是神经网络推理,forward与感知机相比,多了一个激活函数的模块。因此本章需要实现激活函数,另外也需要重新实现y=w*x+b。本章的顺序如下: 3.1激活函数的实现在感知机中讲到用阈值来切换输出,这样的函数称为“阶跃函数”:一旦输入超出了阈值,就切换输出。阶跃函数也算是一种激励函数。需要注意激励函数应该具有以下数学特性:第一:由于后期训练过程中会对激励函数求导,因此这些函数必须符合数学上的可导。第二:必须为非
PartOne:Systemcalltracing任务:修改Xv6内核的代码来打印出每个系统调用以及返回值根据提示,应该在syscall.c中修改syscall()。首先在syscall.c中增加对应系统调用名称的数组:staticchar*syscalls_name[]={[SYS_fork]"fork",[SYS_exit]"exit",[SYS_wait]"wait",[SYS_pipe]"pipe",[SYS_read]"read",[SYS_kill]"kill",[SYS_exec]"exec",[SYS_fstat]"fstat",[SYS_chdir]"chdir",[SYS_
PartOne:Systemcalltracing任务:修改Xv6内核的代码来打印出每个系统调用以及返回值根据提示,应该在syscall.c中修改syscall()。首先在syscall.c中增加对应系统调用名称的数组:staticchar*syscalls_name[]={[SYS_fork]"fork",[SYS_exit]"exit",[SYS_wait]"wait",[SYS_pipe]"pipe",[SYS_read]"read",[SYS_kill]"kill",[SYS_exec]"exec",[SYS_fstat]"fstat",[SYS_chdir]"chdir",[SYS_
call,apply,bind都是一种方法。一,call()①:call()是可以调用函数的。1functionfn(){2console.log(12)3}45fn.call()//12 ②:通过给call()内部传参,可以改变this指向。1letDog={2name:'旺财',3sayName(){4console.log(this.name)5},6}78letCat={9name:'喵喵',10}1112Dog.sayName.call(Cat)//喵喵③:如果给call()内部传递多个参数,那么第一个默认为改变this的参数,后面为传给函数的参数。1letDog={2name:'旺
call,apply,bind都是一种方法。一,call()①:call()是可以调用函数的。1functionfn(){2console.log(12)3}45fn.call()//12 ②:通过给call()内部传参,可以改变this指向。1letDog={2name:'旺财',3sayName(){4console.log(this.name)5},6}78letCat={9name:'喵喵',10}1112Dog.sayName.call(Cat)//喵喵③:如果给call()内部传递多个参数,那么第一个默认为改变this的参数,后面为传给函数的参数。1letDog={2name:'旺