# AWS Greengrass Core SDK for Java
The **AWS Greengrass Core SDK for Java** enables Java developers to develop Lambda functions which will run within Greengrass.
## Overview
This document provides instructions for preparing your Greengrass Core environment to run Lambda functions written in Java. It also includes examples on how to develop a Lambda function in Java as well as packaging and running an example Hello World file in Java for your Greengrass core.
## Changes to 1.5.0
* Stream manager supports automatic data export to AWS S3 and AWS IoT SiteWise, provides new API method to update existing streams, and pause or resume exporting.
## Changes to 1.4.1
* StreamManager client sets socket option `TCP_NODELAY=true` to prevent multi-millisecond delays when writing small messages.
## Changes to 1.4.0
* SDK supports StreamManager client.
## Changes to 1.3.1
* Improved log level granularity.
## Changes to 1.3.0
* SDK supports SecretsManager client.
## Changes to 1.2.0
* SDK and GGC compatibility check takes place in the background.
## Changes to 1.1.0
* You can now invoke lambda with binary data type. Please refer to the examples folder.
## Preparing your Greengrass to run Java Lambda functions
The environment where Greengrass is running on needs to be able to run Java 8 packages.
* Install Java 8 for your platform. The method will be different based on your platform.
* Installation of Java 8 will create _**java**_ or _**java8**_ executable in _**/usr/bin**_ or _**/usr/local/bin**