Загрузка ЦП от Java

Сначала нужно признать, что нам нужно ПРИЛОЖИТЬ как входные данные формы, так и файл формы в одну переменную FormData.

Вот мое решение, в котором я включил параметр Multi File , чтобы это решение соответствовало всем примерам.

В большинстве случаев важно включить атрибут имени в элементы управления ввода, чтобы он работал правильно на стороне сервера. Если вы используете C #, вы можете просто использовать Request.Form ["nameAttribute"] , чтобы просто получить функцию. Он похож на Java и другие языки.

Мой пример кода

   $(document).ready(function () //Setting up on Document to Ready Function
    {
        $("#btnUpload").click(function (event) {

            //getting form into Jquery Wrapper Instance to enable JQuery Functions on form                    
            var form = $("#myForm1");

            //Serializing all For Input Values (not files!) in an Array Collection so that we can iterate this collection later.
            var params = form.serializeArray();

            //Getting Files Collection
            var files = $("#File1")[0].files;

            //Declaring new Form Data Instance  
            var formData = new FormData();

            //Looping through uploaded files collection in case there is a Multi File Upload. This also works for single i.e simply remove MULTIPLE attribute from file control in HTML.  
            for (var i = 0; i < files.length; i++) {
                formData.append(files[i].name, files[i]);
            }
            //Now Looping the parameters for all form input fields and assigning them as Name Value pairs. 
            $(params).each(function (index, element) {
                formData.append(element.name, element.value);
            });

            //disabling Submit Button so that user cannot press Submit Multiple times
            var btn = $(this);
            btn.val("Uploading...");
            btn.prop("disabled", true);

            $.ajax({
                url: "Handler.ashx", //You can replace this with MVC/WebAPI/PHP/Java etc
                method: "post",
                data: formData,
                contentType: false,
                processData: false,
                success: function () {
                    //Firing event if File Upload is completed!  
                    alert("Upload Completed");
                    btn.prop("disabled", false);
                    btn.val("Submit");
                    $("#File1").val("");

                },
                error: function (error) { alert("Error"); }

            });

        });

    });

Для рабочего примера (asp.net C # с обработчиками) вы можете посетить пример кода на https://github.com/vibs2006/HttpFileHandlerFormDataSample

17
задан dirkgently 11 March 2009 в 13:49
поделиться

5 ответов

Используйте ManagementFactory для получения OperatingSystemMXBean и вызов getSystemLoadAverage() на нем.

26
ответ дан 30 November 2019 в 07:04
поделиться

Это действительно включает JNI, но существует библиотека GPL от Hyperic, названного Sigar, который предоставляет эту информацию для всех основных платформ, а также набор другой зависимой от операционной системы статистики как использование диска. Это работало отлично для нас.

5
ответ дан 30 November 2019 в 07:04
поделиться

На Linux Вы могли просто считать файл/proc/loadavg, где первые три значения представляют средние числа загрузки. Для Windows, вероятно, необходимо придерживаться JNI.

3
ответ дан 30 November 2019 в 07:04
поделиться

В соответствии с Linux Вы могли использовать Время выполнения . должностное лицо () , чтобы выполнить “uptime” и оценить вывод. Я don’t there’s лучший путь в соответствии с Linux и мной don’t думаю there’s одинаково “convenient” путь в соответствии с Windows.

1
ответ дан 30 November 2019 в 07:04
поделиться

Если Вы используете JRockit JVM, Вы могли бы использовать JMAPI. Это работает на JDK 1.4, 1.5 и 1.6.

System.out.println("Total CPU-usage:" + JVMFactory.getJVM().getMachine().getCPULoad());

System.out.println("Total JVM-load :" + JVMFactory.getJVM().getJVMLoad());

for(Iterator it = JVMFactory.getJVM().getMachine().getCPUs().iterator(); it.hasNext();)
{
   CPU cpu = (CPU)it.next();
   System.out.println("CPU Description: " + cpu.getDescription());
   System.out.println("CPU Clock Frequency: " + cpu.getClockFrequency());
   System.out.println("CPU Load: " + cpu.getLoad());
   System.out.println();
}
0
ответ дан 30 November 2019 в 07:04
поделиться
Другие вопросы по тегам:

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