As of the census of 2010, there were 21,203 people, 7,364 households, and 5,834 families residing in the town. The population density was 646.4 people per square mile (249.4/km). There were 7,634 housing units at an average density of 232.7 per square mile (89.8/km). The racial makeup of the town was 94.5% White, 0.6% African American, 0.1% Native American, 2.9% Asian, 0.01% Pacific Islander, 0.4% from some other race, and 1.4% from two or more races. Hispanic or Latino of any race were 1.7% of the population.