java lambda 局部变量_AWS Java Lambda局部变量vs对象变量

AWS将启动JVM并在第一个请求时实例化您的代码实例. AWS具有未记录的停机时间,如果您在此时间限制内未再次调用Lambda,则会关闭JVM.您会注意到这些初始请求可能会花费更长的时间,但是一旦您的功能“预热”,它就会快得多.

因此,要直接回答您的问题,如果下一个请求足够快,您的实例将被重用.否则,将会出现一个新实例.

一个简单的Lambda函数可以说明这一点:

/**

* A Lambda handler to see where this runs and when instances are reused.

*/

public class LambdaStatus {

private String hostname;

private AtomicLong counter;

public LambdaStatus() throws UnknownHostException {

this.counter = new AtomicLong(0L);

this.hostname = InetAddress.getLocalHost().getCanonicalHostName();

}

public void handle(Context context) {

counter.getAndIncrement();

context.getLogger().log("hostname=" + hostname + ",counter=" + counter.get());

}

}

从调用上面的日志.

22:49:20 hostname=ip-10-12-169-156.ec2.internal,counter=1

22:49:27 hostname=ip-10-12-169-156.ec2.internal,counter=2

22:49:39 hostname=ip-10-12-169-156.ec2.internal,counter=3

01:19:05 hostname=ip-10-33-101-18.ec2.internal,counter=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值