OP:
Там действительно нет.
Саймон:
Jconsole является побочным аргументом к тому, в чем действительно разница между java и .net. Java с готовностью предоставляет пользователю информацию, которую .net запутывает. Возможно, из-за их различных идеологий и целей java спроектирован как общая виртуальная среда, которая работает на любом хосте, где .net в основном разрабатывается с учетом Windows.
. Net процессы не предназначены для работы в неоднозначном вакууме; они работают как службы компонентов или части iis, и они работают на окнах, поэтому в виртуальной среде нет условий для удаленного мониторинга, потому что вы получите некоторую степень этого от wmi.
Java не работает таким образом, потому что java не может делать какие-либо предположения о лежащем в основе os или о том, какую информацию он будет предоставлять, и все, что делает java, должно выполняться одинаково для всех систем. Таким образом, java предлагает пользователю огромное количество данных о своей памяти и активности потоков и предоставляет инфраструктуру для обработки и обнаружения управляемых объектов в коде пользователя (mbeans). Jconsole и jvisualvm позволяют пользователю удаленно подключаться к процессу java (локально или по сети с помощью jmx, хотя jmx требует наличия флага для активного целевого процесса java), а затем они могут видеть все эти данные и просматривать все доступные MBeans. Кроме того, все это является основной функциональностью, и программы бесплатны.
.Net flat out этого не имеет. Разработчик с самого начала встраивает удаленное управление в код своего приложения, и нет удобного средства просмотра, которое помогает пользователям обнаруживать, какие объекты управления вообще существуют.
Кроме того, java-код можно тривиально вернуть обратно в исходный код, преобразовать в проект, а затем отладить с помощью удаленных точек останова в производственной системе. С сетью .net это возможно, но они определенно не делают это легким.