Sobre static e contador de objetos

Eu to pesquisando mais a respeito do static e olhando um artigo, “aprendi” a contar a quantidade de objetos de uma classe. Não entendi muito bem pois o artigo não explica o que o que realmente esta acontecendo.

public static int qtdObjetos;
public Pessoa() {
	Pessoa.qtdObjetos++;
}

Pelo que entendi, toda vez que se é criado um objeto dessa classe, o construtor criado acima é chamado. é isso mesmo ?

O construtor tem esse nome pois ele é o código que é executado quando você cria (ou constrói) um objeto da classe.

Após a instrução new você sempre chama um construtor.

Quando você não declara explicitamente um construtor, o compilador cria um construtor público sem parâmetros pra você.

Entendi.
Eu tenho mais outra duvida… Existe alguma biblioteca que oferece recursos para obter informações de perifericos ? Por exemplo… Pegar as informações do meu mouse, pegar o DPI atual dele ou até mesmo verificar se tem alguma saida de audio…