Анонимный внутренний класс используется для создания объекта, который никогда не будет ссылаться снова. Он не имеет имени и объявляется и создается в том же самом заявлении. Это используется там, где вы обычно используете переменную объекта. Вы заменяете переменную ключевым словом new
, вызовом конструктора и определением класса внутри {
и }
.
При написании Threaded Program в Java это обычно выглядит так:
ThreadClass task = new ThreadClass();
Thread runner = new Thread(task);
runner.start();
Используемый здесь ThreadClass
будет определяться пользователем. Этот класс будет реализовывать интерфейс Runnable
, необходимый для создания потоков. В ThreadClass
также необходимо реализовать метод run()
(только метод из Runnable
). Понятно, что избавление от ThreadClass
было бы более эффективным, и именно поэтому существуют Анонимные Внутренние Классы.
Посмотрите на следующий код
Thread runner = new Thread(new Runnable() {
public void run() {
//Thread does it's work here
}
});
runner.start();
Этот код заменяет ссылку сделанный в task
в самом верхнем примере. Вместо того, чтобы иметь отдельный класс, Анонимный Внутренний Класс внутри конструктора Thread()
возвращает неназванный объект, который реализует интерфейс Runnable
и переопределяет метод run()
. Метод run()
будет включать в себя заявления внутри, которые выполняют работу, требуемую потоком.
Отвечая на вопрос о том, является ли анонимные внутренние классы одним из преимуществ Java, я должен сказать, что я не совсем уверен, поскольку я не знаком со многими языками программирования на данный момент. Но я могу сказать, что это, безусловно, более быстрый и простой способ кодирования.
Ссылки: Sams Teach Yourself Java в 21 день Седьмое издание
Ошибка состоит в том, потому что Ваш appdomain был переработан/перезапущен. Когда это происходит, приложение и ключ машины установлены на автоматический, это изменяется. Это влияет на дешифрование информации в URL URL ресурсов (.axd). Установка фиксированного ключа машины предотвратит его от когда-либо случая снова.
проверьте это на большее количество информации о подобном случае (объяснение с проблемой с проверкой состояния отображения, но причина - тот же): http://www.developmentnow.com/blog/InvalidViewstate+Or+Unable+To+Validate+Data+Error.aspx
я также задавался вопросом об этом долгое время. После того, как я видел этот вопрос, это получило меня на нем снова: это попытка повредить мой ASP.NET site' s безопасность? ..., которым я просто ответил почти так же. У меня было чувство, что это было вокруг некоторого перезапуска чего-то, потому что, когда мы опубликовали что-то, что переработало приложение, которое ошибка показала в журнале, но у меня не было никакого другого источника, заявляя его отношение (сегодня я нашел, что случай на invalidviewstate из-за machinekey изменяется:))
ps выше наконец объясняет это на единственном сервере:)
Ben,
Для Вашей первой проблемы, я нашел это, которое, кажется, немного больше на грани того, что Вы видите, в котором эпизодически происходит проблема. Необходимо быть в состоянии найти полное объяснение этого в http://www.codeproject.com/KB/security/Cryptor.aspx#aes .
то, Что действительно необходимо сделать, является набором RijndaelAlg. Дополнение к PaddingMode. ISO10126, PaddingMode. PKCS7 или PaddingMode. ANSIX923. Любое из этих 3 значений должно работать, при условии, что Вы используете то же значение при шифровании и дешифровании. Другие значения будут работать с некоторыми данными, но не со всеми данными. Вышеупомянутый URL объясняет почему.
то, Что я не понимаю, является причиной, Microsoft предоставляет возможности, которые иногда не работают, или по крайней мере почему они не принимают значение по умолчанию к надежной опции.
Эта проблема появляется, когда сообщение сгенерировано, прежде чем страница полностью загружается в браузере. Взгляните на этот вопрос.
/
. Пример:relPathToAbs("/?foo=bar")
должен возвратить "/? foo=bar" вместо этого это возвращается/questions/14780350/?foo=bar
, что означает it' s не правильно обнаружение продвижения/
, когда передает путь обратно корню. – Nucleon 9 November 2014 в 08:35