Stack,Heap,Lambda

////////////////////////2016-11-17///////////////////////////

int study_data(){

Stack:

Stack是存放方法和局部变量的内存空间

每个方法都会分配一块Frame

方法一旦执行完成,Frame会被销毁

对于原始类型,变量的值也保存在Stack里面

对于引用类型,Stack保存的是指向对象的内存地址(引用)

Heap堆是存放Object的

Java是传值的,不是传引用

GC:

垃圾回收器:GC(Gabege Collection)

Heap里面的对象由GC自动回收

GC维护和检测对象引用,引用数为0的对象会被回收

GC并不是实时回收内存的

Lambda:

“Lambda 表达式”(lambda expression)是一个匿名函数

Lambda表达式是一个方法,他可以作为参数在方法间传递

但只能在实现了FunctionalInterface接口的地方

Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿名的内部类,代码不仅简洁,而且还可读。

没有使用Lambda的老方法:

button.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent ae){

         System.out.println("Actiondetected");

    }

});

使用Lambda:

button.addActionListener(()->{

    System.out.println("Actiondetected");

});

让我们来看一个更明显的例子。

不采用Lambda的老方法:

Runnable runnable1=new Runnable(){

    @Override

    public void run(){

        System.out.println("RunningwithoutLambda");

    }

};

使用Lambda:

Runnable runnable2=()->{

    System.out.println("RunningfromLambda");

};

Lambda表达式不仅让代码变的简单、而且可读、最重要的是代码量也随之减少很多

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,528评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,951评论 0 62
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,225评论 1 114
  • 我还没有牵过女生的手,怎么一路走到头 望着天空,也要适时的放空 出去遛个弯,打个转,唱个小曲 还没有想好谈恋爱,就...
    导演张升志阅读 1,950评论 0 0
  • 又是繁忙的加班日,手账上写好的计划又有很多打破了。渐渐感到了疲惫期,产生了一点点的职业病吧。 回忆上半年,发现做了...
    肉甲子itsme阅读 1,423评论 0 0

友情链接更多精彩内容