Для анализа поведения во время выполнения приложений или для реализации плагинов есть ли способ добавить крючки к методам, выводу, и т. Д. Внутри работающего приложения?Collection.class.getHooks().add("size", Event.BEGIN, (args, vars) -> {
System.out.println("Collection.size() called with args: " + args);
vars.put("start", System.nanoTime());
});
Collection.class.getHooks().add("size", Event.END, (returnValue, vars) -> {
System.out.println("Collection.size() returned: " + returnValue);
Long start = (Long) vars.get("start");
System.out.println("Collection.size() took " + (System.nanoTime() - start) + " ns");
});
Collection c = new ArrayList();
c.add("foo");
c.size();
< /code>
должен распечатать что -то вроде: < /p>
Collection.size() called with args: null
Collection.size() returned: 1
Collection.size() took 123 ns
Подробнее здесь: https://stackoverflow.com/questions/795 ... ks-in-java
Как зарегистрировать крючки на Java? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение