Добрий вечір.Дуже вдячний всім за відповіді.Знайшов потрібні файли в src.
Вибачаюсь, коли писав запитання було ще дуже багато інших справ і поспішаючи написав нісенітницю. Звичайно ці класи написані на Java.Я насправді мав на увазі інше.Коли створювалася ця мова, то перші команди повинні були бути написані на іншій мові програмування і я думаю, що вони збереглися.
Наприклад розглянемо метод available().Його б можна було реалізувати приблизно так(я початківець і можливо десь помиляюся):
1. public int available() throws IOException
2. {
3. int x;
4. FileInputStream IS = new FileInputStream(myFile.txt);
5. For (int i = 0; i<IS.Lenght(); i++)
6. {
7. x=i+1;
8. }
return x;
}
Що ми бачимо в бібліотечних класах:
1.В класі FileInputStream
1. public int available() throws IOException
2. {
3. return available0();
4. }
5. private native int available0() throws IOException;
І більше нічого , що стосується цього методу.
//____________________________________
2.В класі FilterInputStream:
1. public int available() throws IOException
2. {
3. return in.available();
4. }
І більше нічого , що стосується цього методу.
//____________________________________
3.В класі InputStream
1. public int available() throws IOException
2. {
3. return 0;
4. }
// This method should be overridden by subclasses.
І більше нічого , що стосується цього методу.
Фактично не зрозуміло, як же були пораховані ті байти.Те ж саме стосується і всіх інших методів і т.п..
Виникає думка , що в машині Java є коди , що відповідають кожній команді такій як available(), і вони вставляються в программу вже при створенні машинного коду.В усякому разі коди бібліотечних класів, які є в папці src не пояснюють механізм роботи програми.