Как делают я обнаруживаю то, что находится в постоянном поколении

Единственная проблема состояла в том, что вы поместили все радио в одну группу

.m-tab, .p-tab {
    display:inline-block;
    width:400px;
    height:450px;
}

.m-tab .tab-info , .p-tab .tab-info{
    display:none;
    padding:10px;
    border-top:1px solid #abc;
}
  
.tabs input {
    display:none;
}
  
.tabs label {
    display:inline-block;
    margin:0 0 -1px;
    padding:15px 25px;
    font-weight:600;
    text-align:center;
    color: rgb(134, 206, 155);
    border: 1px solid transparent;
}

.tabs label:hover {
    color:rgb(47, 187, 89);
    cursor:pointer;
}
  
.tabs input:checked + label {
    color:rgb(2, 163, 51);
    border:1px solid #abc;
    border-top:3px solid rgb(27, 190, 76);
    border-bottom:1px solid #fff;
}
  
  
#about-m:checked ~ #m-about,
#profile-m:checked ~ #m-profile,
#typical-m:checked ~ #m-typical,
#about-p:checked ~ #p-about,
#profile-p:checked ~ #p-profile,
#typical-p:checked ~ #p-typical {
    display: block;
}
<div class="tabs m-tab">
<input id="about-m" type="radio" name="tabs" checked="checked">
<label for="about-m">About Me</label>

 <input id="profile-m" type="radio" name="tabs">
<label for="profile-m">Profile</label>
                              
<input id="typical-m" type="radio" name="tabs">
<label for="typical-m">Typical Day</label>
                              
<div class="tab-info" id="m-about">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do ore magna aliqua labo ris nisi ut aliquip ex ea commodo consequat.</p>
</div>
                              
<div class="tab-info" id="m-profile">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua labo ris nisi ut aliquip ex ea commodo consequat.</p>
</div>
                              
<div class="tab-info" id="m-typical">
<p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua labo ris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</div>

<div class="tabs p-tab">
<input id="about-p" type="radio" name="tabsq" checked="checked">
<label for="about-p">About Me</label>
                                      
<input id="profile-p" type="radio" name="tabsq">
<label for="profile-p">Profile</label>
                                      
<input id="typical-p" type="radio" name="tabsq">
<label for="typical-p">Typical Day</label>
                                      
<div class="tab-info" id="p-about">
<p>Hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.</p>
</div>
                                      
<div class="tab-info" id="p-profile">
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
                                      
<div class="tab-info" id="p-typical">
<p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>

11
задан Tom 11 October 2008 в 18:14
поделиться

5 ответов

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

  • Ваша программа или библиотека, которой Вы пользуетесь, создают классы динамично, и размер по умолчанию постоянного поколения является слишком небольшим - простой increate размер с-XX:MaxPermSize=256m
  • Ваша программа или библиотека, которой Вы пользуетесь, создают новые классы динамично каждый раз, когда это называют, таким образом, размер постоянного поколения увеличивается без остановок - это - программная ошибка, необходимо зафиксировать ее (или искать фиксирование/создавание отчета об ошибках),

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

И хороший обзор о постоянном поколении:

http://blogs.oracle.com/jonthecollector/entry/presenting_the_permanent_generation

1
ответ дан 3 December 2019 в 12:28
поделиться

можно использовать JConsole или jvisualvm.exe (с jdk 1.6 7) для нахождения то, что то, где. Если Вы хотите знать, как все Ваши объекты связаны друг с другом и деревом объектов, то Вы могли бы хотеть попробовать Память Eclipse Анализатор - http://www.eclipse.org/mat/.

Таким образом, Вы доберетесь, хотят Вас, хотят от "http://www.eclipse.org/mat/".

Удачи,

-1
ответ дан 3 December 2019 в 12:28
поделиться

Посмотрите мое сообщение в блоге о thr permsize Eclipse

Короче говоря Анализатор Памяти может мелкая монета, но Вам нужна JVM SAP.

0
ответ дан 3 December 2019 в 12:28
поделиться

У вас есть конкретная проблема, которую нужно решить? Использование String.intern () - одна из типичных причин проблем с перманентной памятью. Вдобавок у проектов с большим количеством классов также есть проблемы с перманентными именами.

Я не знаю, как попасть в пермген и посмотреть, что там есть ...

0
ответ дан 3 December 2019 в 12:28
поделиться

Постоянная генерация действительно содержит только два типа вещей: определения классов и интернированные строки. Последнее очень редко доставляет вам проблемы, но его часто обвиняют в проблемах. Чаще всего возникают проблемы из-за генерации кода и частичной горячей перезагрузки (висячие ссылки).

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

0
ответ дан 3 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: