Что такое кривая обучения и почему круто не трудно?

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

17
задан 8 revs, 4 users 50% 25 August 2011 в 01:00
поделиться

9 ответов

Это - кривая времени по сравнению с мастерством.

Крутой для твердого является неправильным, потому что это означало бы, что Вы становитесь очень опытными в очень небольшое количество времени


proficiency
  |   __
  |  |
  |  |    Proficient in little time (steep = easy)
  |  |
  |_/____________
       time

proficiency
  |
  |       Proficient in lots of time (gentle = hard)
  |            __             
  |           /
  |__________/___
       time

21
ответ дан 30 November 2019 в 10:05
поделиться

См. Википедия .

"крутая кривая обучения" является фразой шума, которая не имеет никакого фактического значения. Это раньше означало, что Вы сделаете быстрые успехи. "Со временем недоразумение появилось, что "крутая" кривая обучения означает, что что-то требует большого усилия учиться..."

Заключение: люди, которые используют фразу, не знают, что это неясно. Необходимо получить детали от них на том, какие определенные вещи тверды изучить и закончить фразы шума и банальность.

15
ответ дан 30 November 2019 в 10:05
поделиться

(от unix.rulez.org/~calver)

classical learning curves for some common editors
(источник: rulez.org )

Эта (очень несерьезная) схема подписывается на крутое == "трудно для восхождения" на интерпретацию для любого сохраняющего счет. Emacs. Таким образом верный. ;-)

11
ответ дан 30 November 2019 в 10:05
поделиться

от Widipedia:

термин кривая обучения относится к графическому отношению между объемом изучения и время, которое требуется для изучения.

термин "крутая кривая обучения" часто неправильно используется для вещей, которые нуждаются в некотором времени для переноса ума. Также здесь на Переполнении стека я видел, что оно использовало неправильно много раз и следовательно этот Вопрос и мой собственный ответ на него.

На самом деле крутая кривая обучения дана, когда относительно легко запуститься с нового skill/technique/...

это означает, что отношения между "изучением прогресса (y)" и "временем вложили капитал (x)", больше, чем 1.

5
ответ дан 30 November 2019 в 10:05
поделиться

Это - сражение интуиции. С одной стороны Вы имеете "steep=hard для восхождения" на ассоциацию, с другой стороны, у Вас есть "время на горизонтальной оси" конвенция (но "мастерство на горизонтальной оси" не является "неправильным", просто "менее популярным"). Так, по моему скромному мнению, это не вопрос "прямо" по сравнению с "несправедливостью", а скорее "интуитивный" по сравнению с "более интуитивным".

я думаю, что "steep=hard для восхождения" победит, потому что это обращается к любому, кто в любой точке в их жизни поднялся на ступеньку, в противоположность кривой x-y, которую даже иногда перепутывают люди, обученные в математике.

5
ответ дан 30 November 2019 в 10:05
поделиться

Существуют некоторые возможная интерпретация "кривой обучения", но довольно естественный был бы "временем, истекшим" на оси X и "знании, полученном" на оси Y. Крутая кривая, в том отображении, подразумевала бы получение большого знания, быстро.

единственная интерпретация, о которой я могу думать, где "крутой", совпадает с, "трудно" то, где Вы отображаете "знание, полученное" на оси X и "усилии, израсходованном" на ось Y, и это не очень естественное отображение.

4
ответ дан 30 November 2019 в 10:05
поделиться

Я обычно понимал это для больше имения отношение к количеству времени, выделенному изучению, и что необходимо изучить в тот промежуток времени. Если у Вас есть только короткий срок, в который можно изучить что-то, Ваша кривая обучения будет намного более крутой, чем если бы у Вас было более долгое количество времени для изучения той же суммы материала. Таким образом, крутая кривая обучения ЯВЛЯЕТСЯ трудной, потому что это означает, что Вы пытаетесь переполнить ценность шести месяцев изучения в три недели, или что бы то ни было.

[еще 111] материал за то же количество времени произвел бы ту же кривую.

7
ответ дан 30 November 2019 в 10:05
поделиться

Кривая обучения является уровнем, на котором банка знаний может полученный. Новый разработчик в сложной системе, вероятно, испытает крутую кривую обучения, поскольку у них будет много для изучения, прежде чем они смогут стать продуктивными. Косвенно опытный разработчик может испытать мелкую кривую обучения, если они знакомы с системой.

приобретение знания не всегда подразумевает понимание. В некоторых случаях разработчик, возможно, не должен поглощать много системной детали, но, возможно, должен понять базовые проекты, прежде чем они смогут быть продуктивными. Это может занять время, но не подразумевает крутую кривую обучения.

В понимании практики и знании идут рука об руку. Большинство разработчиков всегда будет на какой-то кривой обучения, но будет также использовать новое знание для ковки более глубокого понимания систем, они работают, а также инструменты и практика, которую они используют.

1
ответ дан 30 November 2019 в 10:05
поделиться

Это верно, что "крутая кривая обучения" должна означать "легкий" , учитывая источник кривой обучения как график измеренного уровня как функция времени, и что надлежащее выражение для hard-to-learn-task должно быть "постепенной кривой обучения". Но совершенно естественно, что "крутая кривая обучения" должна была прибыть для значения "трудно", учитывая, что a) большинство людей никогда не смотрело на фактическую кривую обучения и b) "крутой" подразумевает "трудный", тогда как "постепенный" подразумевает "легкий".

Это - то, как языки развиваются, и было бы совершенно бесполезно попытаться изменить общее использование этого термина теперь. И в любом случае я мог заботиться о меньше о целой проблеме (см., как Вы все еще знали точно, что я имел в виду?).

1
ответ дан 30 November 2019 в 10:05
поделиться