Что такое тильда (~) в определении enum?

Native Memory - это область, которая обычно используется JVM для внутренних операций и для выполнения JNI-кодов. JVM использует собственную память для оптимизации кода и для загрузки классов и библиотек вместе с промежуточным генерированием кода. Размер основной памяти зависит от архитектуры операционной системы и объема памяти, которая уже включена в кучу Java. Собственная память - это область процессов, в которой загружаются коды JNI или загружаются библиотеки JVM, или загружаются собственные пакеты производительности, а модули Proxy. Для размера Родной области нет опции JVM. но мы можем рассчитать его примерно с использованием следующей формулы:

NativeMemory = (ProcessSize - MaxHeapSize - MaxPermSize)

Найден это в devopsconsole

143
задан chue x 14 April 2014 в 03:35
поделиться

6 ответов

~ является унарным оператором поразрядного дополнения до единицы - это зеркально отражает биты своего операнда.

~0 = 0xFFFFFFFF = -1

в дополнительной арифметике two, ~x == -x-1

~ оператор может быть найден на в значительной степени любом языке, который одолжил синтаксис у C, включая Objective-C/C ++/C#/Java/Javascript.

134
ответ дан Anoop Vaidya 14 April 2014 в 03:35
поделиться

Я думал бы что:

[Flags]
public enum PurchaseMethod
{
    None = 0,
    Cash = 1,
    Check = 2,
    CreditCard = 4,
    All = Cash | Check | CreditCard
 }

было бы немного более ясным.

57
ответ дан Sean Bright 14 April 2014 в 03:35
поделиться
  • 1
    Менять целевое имя так же просто. Нажмите на название проекта, наверху оставленное, затем выберите целевое имя на правой панели, сопровождаемой путем нажатия " Enter". введите на новое имя. – rmaddy 26 February 2013 в 20:07

Просто примечание стороны, когда Вы используете

All = Cash | Check | CreditCard

, Вы обладаете дополнительным преимуществом, которое Cash | Check | CreditCard оценило бы к All а не к другому значению (-1), который не равен всем в то время как содержащий все значения. Например, если Вы используете три флажка в UI

[] Cash
[] Check
[] CreditCard

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

10
ответ дан configurator 14 April 2014 в 03:35
поделиться
  • 1
    Можно ли уточнить os.geteuid() часть? И можно ли дать пример (примеры), чтобы показать, что и не то же т.е. , x может быть достигнут только с getuid и не geteuid, и , y может только быть достигнут только с geteuid и не getuid? – Santosh Kumar 19 February 2013 в 05:32

Это - дополнительный оператор, Вот статья, к которой я часто обращаюсь для побитовых операторов

http://www.blackwasp.co.uk/CSharpLogicalBitwiseOps.aspx

, Также MSDN использует его в их статье перечислений, которая демонстрирует, что это использует лучше

http://msdn.microsoft.com/en-us/library/cc138362.aspx

5
ответ дан missaghi 14 April 2014 в 03:35
поделиться
  • 1
    @Dukales:..., почему? AFAIK, без ведущей наклонной черты, на которую это указывает родственник путь, wheras ведущая наклонная черта, делает его абсолютным путь w.r.t. корень файловой системы – Rody Oldenhuis 4 December 2012 в 11:32
public enum PurchaseMethod
{   
    All = ~0, // all bits of All are 1. the ~ operator just inverts bits
    None =  0,
    Cash =  1,
    Check =  2,
    CreditCard =  4
}

из-за двух дополнений в C#, ~0 == -1, число, где все биты 1 в двоичном представлении.

22
ответ дан Johannes Schaub - litb 14 April 2014 в 03:35
поделиться

Лучше, чем

All = Cash | Check | CreditCard

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

PayPal = 8 ,

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

отношения

15
ответ дан blabla999 14 April 2014 в 03:35
поделиться
  • 1
    В Windows к продвижению POSIX наклонная черта является лишней. – Orient 4 December 2012 в 11:30
Другие вопросы по тегам:

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