Игорь Архипов, и что? От этого он лучше стал? Сколько не встречал проектов на битриксе, везде, абсолютно везде, если более или менее нагруженный сайт, половина битрикса переписана! Из коробки все работает медленно и печально. Больших нагрузок не держит.
Ну да, для малого и среднего бизнеса - сгодится, можно стартануть за месяц с нуля.
sooyoval, Кроме номеров портов есть еще куча всего, например адреса нижнего уровня (ethernet к примеру). А и не единым TCP все живет. И ошибок может быть много, и на каждом из уровней. Для этого есть куча протоколов, которые управляют передачей состояния и ошибками. И эти протоколы работают каждый на своем уровне.
Задача по передаче пакета из одной точки до другой достаточно сложная, и чтобы не заглядывать куда не нужно, все данные для передачи обычно содержатся в заголовках - в самом начале.
Это как с письмом, чтобы не вскрывать его, достаточно посмотреть на конверт и понять, по какому адресу нужно переправить письмо.
vreitech, Это не относится к операционной системе или типу виртуализации! Это аппаратные штучки, которые тем не менее должны поддерживаться системой, материнкой, биосом. Про Hyper-V не знаю, в линуксе KVM точно поддерживает, думаю, что и Hyper-V тоже должен.
RomKing, Да, немного не поняли.
Я попробую объяснить. Есть детская игрушка, где на дощечке в разные геометрические отверстия нужно вставить разные фигуры, куб, цилиндр, пирамиду, октаэдр и т.д.
Представим, что дощечка - наш класс! Дырки под фигуры - наши поля класса или переменные. Каждая дырка может соответствовать только одному типу фигуры, как замок и ключик к нему.
В дырку может быть вставлена фигура, а может и не стоять, но при этом дырка нужной формы все равно есть.
Теперь мы объявим Игру - сделаем сами доску в форме звезды с дырками под квадрат, окружность, треугольник.
Теперь на эту доску мы можем поставить (а можем и не ставить!) наши трехмерные фигуры, которые подходят в дырки, а саму доску можем положить на какую-то другую доску с дыркой типа звезда.
Тоже самое и с классами, полями и типами. При этом, сам класс тоже является типом!
RomKing, Car3 car; Это переменная с именем car типа Car3. Другими словами, в эту переменную мы можем положить только объект Car3 и производные от него. String mystr - переменная типа String, можем сделать так mysrtr = "My String"; или mystr = new String("My String");
Тоже самое с любой другой переменной, компилятор будет проверять соответствие типов при присвоении и обращении к полям внутри этого типа.
так мы и в инициализации Human объект Car3 не присваиваем переменной car...
Значит она у вас просто болтается в воздухе и равна null. Компилятор не знает, когда и где вы хотите ее присвоить, но знает, что там есть объект типа Car3 с полем color.
Вот на этапе выполнения он попытается взять значение color от переменной car, и выскочит ошибка, что доступ к не инициализированному объекту.
RomKing, А почему он должен ругаться?! У компилятора есть ВСЯ информация для доступа к полям класса Car3 поля car класса Human!
Даже, если это поле было незаполнено, что в рантайме (когда запустите) конечно же даст ошибку выполнения. Но не при компиляции.