The 18-year-old winger has been rewarded for an impressive debut season in the U's first team.
"Doing well enough to earn a new contract is something I'd hoped for as soon as I got my first deal," he told the club website.
"I knew at that point I hadn't achieved anything yet, so it's good to know that after a good season, I've done enough to get this contract.
"I learned a lot from being in dressing rooms on highs and lows and we're all stronger for it now.
"The experience will do me well for the future, and now I just want to play more and score more goals for the team."