Spring AOP по сравнению с AspectJ

Вам необходимо изменить масштаб пикселей с помощью параметров imshow: форма и экстент:

import numpy as np
import matplotlib.pyplot as plt

shape = (112, 2182)
extent = [0, 112, 0, 2182]

data = np.random.random_sample(shape)

plt.figure(figsize=(5, 3.5))

ax = plt.subplot(111)
plt.axis('off')

dx = (extent[1] - extent[0]) / shape[1]
dy = (extent[3] - extent[2]) / shape[0]
dx_dy = dx/dy

im = ax.imshow(data, extent=extent, aspect=dx_dy)
plt.show()
174
задан 4 revs, 4 users 57% 28 October 2016 в 21:27
поделиться

4 ответа

Я не уверен, что ваша проблема имеет какое-либо отношение к UpdatePanel .

В Фактически, событие TextChanged не запускает при вводе . Он будет срабатывать только после того, как текстовое поле теряет фокус. Это происходит напрямую, если для параметра AutoPostBack задано значение True или когда происходит следующая обратная передача. См. Документацию для свойства AutoPostBack и события TextChanged .

Ага, лучше всего, вероятно, обработать событие нажатия клавиши в javascript.

Вот простой jQuery пример: pattern

Spring-AOP Cons

  • This is proxy-based AOP, so basically you can only use method-execution joinpoints.
  • Aspects aren't applied when calling another method within the same class.
  • There can be a little runtime overhead.
  • Spring-AOP cannot add an aspect to anything that is not created by the Spring factory

AspectJ Pros

  • This supports all joinpoints. This means you can do anything.
  • There is less runtime overhead than that of Spring AOP.

AspectJ Cons

  • Be careful. Check if your aspects are weaved to only what you wanted to be weaved.
  • You need extra build process with AspectJ Compiler or have to setup LTW (load-time weaving)
231
ответ дан 23 November 2019 в 20:32
поделиться

По сравнению с AOP AspectJ не должен улучшать целевой класс во время компиляции. Вместо этого это генерирует прокси-класс для целевого класса во времени выполнения, которое или реализует тот же интерфейс как целевой класс или является подклассом целевого класса.

, Таким образом, экземпляр прокси-класса может использоваться в качестве экземпляра целевого класса. В целом улучшенная платформа AOP времени компиляции более выгодна в performance—, потому что улучшенная временем выполнения платформа AOP требует динамических улучшений каждый раз, когда это работает.

0
ответ дан 23 November 2019 в 20:32
поделиться

Руководство пользователя пружины даст много информации прямо из уст лошади.

Глава 6.4 - Выбор стиля объявления AOP для использования неуместен для вас, поскольку в нем обсуждаются плюсы и минусы обоих.

Параграф 6.1.2 - Возможности Spring AOP и цели и главы 6.2 - Поддержка @Aspect и 6.8 - Использование AspectJ с приложениями Spring должно быть особенно интересным.

18
ответ дан 23 November 2019 в 20:32
поделиться

Помимо того, что утверждали другие - просто перефразируя, есть два основных различия :

  1. Одно связано с типом ткачества.
  2. Еще одно к определению точки соединения.

Spring-AOP: Плетение среды выполнения через прокси с использованием концепции динамического прокси, если интерфейс существует, или библиотеки cglib, если предусмотрена прямая реализация.

AspectJ: Плетение времени компиляции с помощью AspectJ Java Tools (компилятор ajc) , если доступен исходный код, или переплетение после компиляции (с использованием скомпилированных файлов). Кроме того, можно включить изменение времени загрузки с помощью Spring - для этого требуется файл определения Aspectj , что обеспечивает гибкость.

Переплетение времени компиляции может предложить преимущества производительности (в некоторых случаях), а также определение точки соединения в Spring-aop ограничено только определением метода, что не относится к AspectJ.

21
ответ дан 23 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

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