Esta es una pregunta muy general, por lo que daré una respuesta general.
Java cambió de los hilos verdes a los hilos nativos early in its development. Esto no significa que los hilos creados en Windows y Linux se comportarán de manera diferente ya que ambas plataformas utilizarán hilos nativos en sus respectivas implementaciones de JVM.
La interfaz de subprocesos expuesta a Java por cada sistema operativo, y de manera similar las interfaces nativas para el subprocesamiento a través de pthreads y subprocesos de Windows son muy similares.
Las mayores diferencias con respecto al enhebrado en las dos plataformas son que todos los hilos en Linux son una forma de proceso. Windows trata los hilos y procesos de manera muy diferente.
En mi experiencia personal, los subprocesos nativos en Windows son un poco más livianos y pueden funcionar ligeramente mejor en aplicaciones de proceso único. De forma correspondiente (y tal vez irrelevante), los procesos de Windows son extremadamente pesados en comparación con sus homólogos de Linux.