编译型语言、JIT、AOT相关定义

想问问什么是编译型语言,其定义是什么?我看网上说的是“将高级语言一次性编译成可被特定平台硬件执行的机器码”,但是JIT是边运行边编译呀,那它为什么被划分为编译型呢?还有AOT,JIT和AOT的区别?