Ograniczanie wyników
Czasopisma help
Autorzy help
Lata help
Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 93

Liczba wyników na stronie
first rewind previous Strona / 5 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  Java
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 5 next fast forward last
PL
Artykuł zawiera porównanie wydajności dwóch aplikacji mobilnych, napisanych odpowiednio w językach programowania Java i Kotlin. Aplikacje miały postać gry typu auto-scroller i posiadały wspólne zasoby graficzne. Celem pracy było potwierdzenie lub odrzucenie hipotezy: język Java jest w niniejszym kontekście nieznacznie lepiej wydajny niż język Kotlin. Przedmiotem porównania było zużycie pamięci RAM, CPU oraz baterii urządzenia. Metryki te uzyskano z użyciem narzędzia Android Profiler. Badanie przeprowadzono z użyciem dwóchurządzeń mobilnych. Wyniki wskazują na potwierdzenie hipotezy badawczej.
EN
The article contains a performance comparison of two mobile applications, developed in the Java and Kotlin programming languages respectively. The applications took the form of an auto-scroller game and shared their graphics assets. The aim of the work was to confirm or reject the hypothesis: Java is slightly more efficient than Kotlin in the presented context. The subject of comparison was the consumption of CPU, RAM and the device’s battery resources. The mentioned metrics were obtained using the Android Profiler tool. The study was conducted using two mobile devices. The results confirm the research hypothesis.
EN
The article presents a performance analysis of connections to both relational and non-relational databases, critical components of the functionality of modern web applications. The study is concerned with evaluating the advantages of manually integrated database drivers compared to the comprehensive Spring Data module. In addition, the impact of the Spring Framework on the performance of drivers responsible for database connections was investigated. Based on the results obtained, there are performance benefits for CRUD operations when adding drivers manually and using the Spring Framework for JDBC and MongoDB drivers.
PL
Artykuł przedstawia analizę wydajności połączeń zarówno z relacyjnymi, jak i nierelacyjnymi bazami danych, krytycznymi komponentami funkcjonalności współczesnych aplikacji internetowych. Badanie dotyczy oceny zalet ręcznie zintegrowanych sterowników baz danych w porównaniu do kompleksowego modułu Spring Data. Ponadto zbadano wpływ Spring Framework na wydajność sterowników odpowiedzialnych za połączenia z bazami danych. Na podstawie uzyskanych wyników stwierdzono, że istnieją korzyści w zakresie wydajności dla operacji CRUD w przypadku ręcznego dodawania sterowników i korzystania ze Spring Framework dla sterowników JDBC i MongoDB.
PL
W tym artykule porównano wydajność mikroserwisów napisanych w językach Java i C#, wykorzystując Spring Cloud dla Javy oraz Consul dla C#. Pomiary przeprowadzono w trzech etapach: podstawowa implementacja serwisów, zastosowanie wzorców projektowych oraz wdrożenie na platformie chmurowej Microsoft Azure. Wyniki pokazują, że mikroserwisy Java są generalnie wydajniejsze, choć różnica ta maleje na platformie chmurowej, gdzie .Net wykazuje lepszą optymalizację z Microsoft Azure.
EN
This article compares the efficiency of microservices written in Java and C#, using Spring Cloud for Java and Consul for C#. The measurements were carried out in three stages, such as basic service implementation, application of design patterns, and deployment on the Microsoft Azure cloud platform. The results illustrate that Java microservices are generally more efficient, although that difference diminishes on the cloud platform where .Net shows better optimization with Microsoft Azure.
EN
In the rapidly evolving landscape of enterprise software systems, there is a marked escalation in the proliferation of new technologies, tools, languages, and methodologies daily. These innovations are pivotal not only for the development of new systems but also for the maintenance and augmentation of existing infrastructures. Consequently, it is imperative to devise systems that are responsive to these advancements, fostering the integration of novel tools and methodologies into the current systems. This integration often necessitates mechanisms for transforming source code across diverse programming languages. In the course of developing a transformation tool from Smalltalk to Java, we encountered several code patterns that significantly impede the transformation process. This paper aims to elucidate one such transformation anti-pattern. We provide a comprehensive overview, a formal delineation, illustrations derived from actual code, and propose refactoring strategies for both Smalltalk and Java environments.
PL
Celem artykułu jest ocena efektywności analitycznego przetwarzania danych w języku Java z użyciem technologii ORM takich jak Hibernate, Apache Cayenne, EclipseLink oraz DataNucleus. Na wstępie przedstawiono charakterystykę i znaczenie narzędzi ORM oraz dokonano przeglądu literatury przedmiotu. Badania zostały zrealizowane przy użyciu aplikacji zaimplementowanych w języku Java i polegały na zmierzeniu czasu wykonania zapytań analitycznych o różnym stopniu złożoności. Uzyskane wyniki badań pozwalają stwierdzić, iż Hibernate jest najbardziej efektywną technologią stosowaną do analitycznego przetwarzania danych. Dodatkowo, na ich podstawie dokonano identyfikacji ograniczeń zastosowania wybranych technologii ORM oraz wskazano istotne różnice występujące między poszczególnymi narzędziami.
EN
The aim of this paper is to evaluate Java ORM frameworks in terms of analytical data processing. The analysis includes following technologies: Hibernate, Apache Cayenne, EclipseLink and DataNucleus. Article contains characteristics and importance of ORM technologies, as well as the research of related literature. The main study has been performed with the use of implemented Java applications that enabled to run and measure the execution time of analytical queries with various levels of complexity. The analysis of the obtained results enabled to define Hibernate as the most efficient technology for analytical data processing. Additionally the limitations of examined tools and the significant differences between them have been identified and presented.
EN
The article deals with method of interaction between JavaScript objects of different web pages in hybrid java applications. To solve this problem, the WebView component is used, its functionality to provide an interface for JavaScript objects, as well as the SharedPreferences global settings class, with its ability to store data in local storage. The software implementation is considered and the results of the practical use of the developed methodof interaction between JavaScript WebView objects in the form of a hybrid Java application embedded in the electronic university system –the Timetable SNU electronic timetable module are presented.
PL
Artykuł dotyczy sposobu interakcji między obiektami JavaScript różnych stron internetowych w hybrydowych aplikacjach Java.Do rozwiązania tego problemu wykorzystywany jest komponent WebView, którego funkcjonalność zapewnia interfejs dla obiektów JavaScript, a także klasa ustawień globalnych SharedPreferences z możliwością przechowywania danych w lokalnym magazynie. Rozważono implementację oprogramowania oraz przedstawiono wyniki praktycznego wykorzystania opracowanej metody interakcji między obiektami JavaScript WebView w postaci hybrydowej aplikacji Java osadzonej w elektronicznym systemie uczelni –module elektronicznego planu lekcji Timetable SNU.
7
Content available remote Comparing the understandability of iteration mechanisms over Collections in Java
EN
Source code understandability is a desirable quality factor affecting long-term code maintenance. Understandability of source code can be assessed in a variety of ways, including subjective evaluation of code fragments (perceived understandability), correctness, and response time to tasks performed. It can also be assessed using various source code metrics, such as cyclomatic complexity or cognitive complexity. Programming languages are evolving, giving programmers new ways to do the same things, e.g., iterating over collections. Functional solutions (lambda expressions and streams) are added to typical imperative constructs like iterators or for-each statements. This research aims to check if there is a correlation between perceived understandability, understandability measured by task correctness, and predicted by source code metrics for typical tasks that require iteration over collections implemented in Java. The answer is based on the results of an experiment. The experiment involved 99 participants of varying ages, declared Java knowledge and seniority measured in years. Functional code was perceived as the most understandable, but only in one case, the subjective assessment was confirmed by the correctness of answers. In two examples with the highest perceived understandability, streams received the worst correctness scores. Cognitive complexity and McCabe's complexity had the lowest values in all tasks for the functional approach, but - unfortunately - they did not correlate with answer correctness. The main finding is that the functional approach to collection manipulation is the best choice for the filter-map-reduce idiom and its alternatives (e.g., filter-only). It should not be used in more complex tasks, especially those with higher complexity metrics.
PL
W artykule przedstawiono analizę porównawczą technologii Java i C++ w kontekście wydajności na platformie Andro-id. Celem tej pracy było wskazanie wydajniejszego języka do tworzenia aplikacji mobilnych. Badania przeprowadzono na autorskich aplikacjach. Testy dotyczyły sortowania danych, wyznaczania liczb pierwszych, modyfikacji bitmapy, zapisu do bazy danych i odczytu z pliku tekstowego. Serie powtórzeń każdego testu wykonane zostały na urządzeniach marki Samsung oraz Xiaomi. Kryteria, którymi się posłużono to: czas wykonania testu, obciążenie procesora, wykorzy-stanie pamięci RAM. Wydajność wwiększości przeprowadzonych testów była na korzyść języka C++. Cechą wykazu-jącą największe różnice między badanymi technologiami był czas wykonania, gdzie C++ uzyskał 18punktów, a Java 3 punkty. Dla wykorzystania procesora wynik był taki sam, jednak różnice wartości mniejsze. Parametrem niewskazu-jącym faworyta było wykorzystanie pamięci RAM. Uzyskano 11punktów dla języka C++ i10 punktów dla Javy.
EN
The article presents a comparative analysis of Java and C ++ technologies in terms of performance on the Android plat-form. The purpose of this work was to point to a more efficient language for developing mobile applications. The study was carried out on custom applications. The tests concerned data sorting, prime numbers determination, bitmap modifi-cation, saving to the database and reading from a text file. The series of repetitions of each test were performed on Sam-sung and Xiaomi devices. The following criteria were used: test execution time, CPU load, and RAM usage. The per-formance, in most of the carried out tests, was in favor of the C++ language, and the main difference and with the great-est discrepancy between the technologies tested was the execution time, where C++ scored 18 points, and Java 3 points. For the CPU usage, the result was the same, but value differences were smaller. A nondiscerning parameter that was the use of RAM. C++ received 11 points and Java 10.
PL
Niniejszy artykuł przedstawia analizę porównawczą dwóch języków programowania używanych do wytwarzania aplikacji internetowych. Porównanodwa najbardziej popularne języki programowania Java oraz PHP. Oceniane kryteria to: implementacja oraz wydajność. Sprawdzono czas wykonywania konkretnych operacji na 100, 1000 oraz 10000 rekordach. Została przeprowadzona analiza kodu w celu ustalenia w którym języku łatwiej jest zaimplementować aplikację posiadającą identyczne funkcjonalności. Przed implementacją aplikacji, dokonano przeglądu artykułów, książek oraz stron internetowych poświęconych podobnemu zagadnieniu. W celu zbadania wydajności wykorzystano narzędzie developerskie Postman. Z porównania wynika, że PHP jest wydajniejszym językiem wytwarzania aplikacji internetowych niż Java
EN
This article presents a comparative analysis of two programming languages used to develop web applications. Two most popular programming languages Java and PHP were compared. The evaluated criteria were: implementation and performance, the time of performing specific operations on 100, 1000 and 10000 records was checked. A code analysis was carried out to determine in which language it is easier to implement an application with identical functionalities. Before the implementation of the application, articles, books and websites on a similar topic were reviewed. In order to test the efficiency, the Postman developer tool was used. The comparison shows that PHP is a more efficient language for developing web applications than Java.
PL
Celem niniejszej pracy było porównanie aplikacji internetowych tworzonych przy pomocy podejścia imperatywnego oraz reaktywnego w języku Java. Do tego celu stworzono dwie aplikacje z takimi samymi funkcjonalnościami używa-jąc obu podejść. Badanie dotyczyło wydajności, stabilności oraz czasochłonnościimplementacji każdej z aplikacji. Na podstawie uzyskanych wyników, stwierdzono, że aplikacja reaktywna szybciej przetwarza zapytania, w mniejszym stopniu obciąża procesor oraz jest stabilniejsza w przypadku obsługi wielu jednoczesnych żądań, gdzie czas przetwo-rzenia jest większy niż 10 sekund. W przypadku wykorzystania ilości pamięci RAM przez aplikacje nie zaobserwowa-no znaczących różnic. Ponadto badanie pokazało, że stworzenie aplikacji reaktywnej jest bardziej czasochłonne.
EN
The subject of this study was to compare web applications created using the imperative and reactive approaches in Java. For this purpose, two applications with the same functionalities were developed using both approaches. The study looked at the performance, stability and time-consumption of implementation of each application. Based on the obtained results, it was found that the reactive application processes queries faster, uses less CPU, and is more stable in the case of handling many simultaneous requests, where the processing time is greater than 10 seconds. No significant differences were observed in using the computer's RAM by the applications. In addition, the study showed that reactive application takes more time to create.
PL
W niniejszej pracy przedstawiono wyniki analizy porównawczej języków programowania Java i Dart pod kątem przydatności do tworzenia aplikacji mobilnych. Badania przeprowadzono na dwóch autorskich aplikacjach o identycznych funkcjonalnościach, które zostały zaimplementowane w rozpatrywanych językach. Analiza obejmuje obszary takie jak: obciążenie procesora, zużycie pamięci RAM, zużycie baterii oraz czas wykonania programów. Dodatkowo na podstawie autorskich aplikacji rozpatrzono budowę kodu, liczbę linii kodu i wsparcie społeczności. Rezultaty analizy wskazują, że trudno jednoznacznie określić, który język jest wydajniejszy,dlatego wybór pomiędzy językiem Java, aDart powinien być analityczny i jak najlepiej dopasowany do wymagań danej aplikacji
EN
This paper presents the results of a comparative analysis of Java and Dart programming languages in terms of suitability for creating mobile applications. The research was carried out on two proprietary applications with identical functionalities, which were implemented in the analyzed languages. The analysis covers areas such as: CPU load, RAM consumption, battery consumption and program execution time. Additionally, on the basis of proprietary applications, the code structure, number of lines of code and community support were considered. The results of the analysis indicate that it is difficult to clearly determine which language is more efficient, so the choice between Java and Dart should be analytical and best suited to the requirements of a given application.
EN
The goal of the work described in this paper is to propose a development approach for cyber-physical systems (CPS) which relies on actors as the fundamental modelling blocks. The approach is characterized by its capability to deal with the discrete aspects of the cyber part of a CPS, as well as the continuous behaviour of the physical part. More in particular, the approach is based on the Theatre actor system which fosters determinism in model behaviour, and favours model continuity when switching from system modelling and analysis down to prototype and synthesis phases. A key factor of Theatre is the possibility to combine both discrete-event actors, which operate on a discrete timeline, with continuous-time actors which reproduce, in general by using Ordinary Differential Equations (ODEs), the dynamical evolution of physical components. For formal property assessment, Theatre actors (both discrete and continuous) can be reduced to Timed Automata (TA) in the context of the Uppaal toolbox, where the exhaustive andór the statistical model checkers can be exploited. This paper first describes the proposed approach, then it demonstrates its suitability to CPS modelling and analysis through examples. The paper also discusses how abstract and formal modelling actor concepts can be naturally transitioned to implementation concepts in Java.
PL
Tematem badań niniejszego artykułu była analiza porównawcza wydajności połączeń z bazami danych za pomocą różnych metod komunikacji w oparciu o język programistyczny Java. W skład badanych narzędzi pośredniczących w komunikacji z bazami danych weszły: sterowniki JDBC i szkielety programistyczne ORM (ang. Object–Relational Mapping). Przeprowadzono badania w oparciu o 8 różnych kryteriów, w celu wyłonienia najbardziej efektywnej metody i narzędzia do pracy z relacyjnymi bazami danych, podczas tworzenia aplikacji w języku Java. Poszczególnym kryteriom przyznano wagi, które zostały określone poprzez ankietę przeprowadzoną wśród programistów języka Java i studentów informatyki. Najlepszym narzędziem bez uwzględnienia pozyskanych wag okazał się Hibernate, a z uwzględnieniem wag narzędzie JDBC.
EN
The research topic of this paper was a comparative analysis of the performance of database connections using different communication methods based on the Java programming language. The investigated tools mediating communication with databases included JDBC drivers and Object-Relational Mapping (ORM) programming frameworks. The research was conducted based on 8 different criteria, in order to select the most effective method and tool for working with relational databases, when developing applications in Java. The different criteria were given weights, which were determined through a survey of Java developers and computer science students. Hibernate turned out to be the best tool without taking into account the weights obtained, and with taking into account the weights the JDBC tool.
EN
The Depth of Inheritance Tree (DIT) metric, along with other ones, is used for estimating some quality indicators of software systems, including open-source applications (apps). In cases involving multiple inheritances, at a class level, the DIT metric is the maximum length from the node to the root of the tree. At an application (app) level, this metric defines the corresponding average length per class. It is known, at a class level, a DIT value between 2 and 5 is good. At an app level, similar recommended values for the DIT metric are not known. To find the recommended values for the DIT mean of an app we have proposed to use the confidence and prediction intervals. A DIT mean value of an app from the confidence interval is good since this interval indicates how reliable the estimate is for the DIT mean values of all apps used for estimating the interval. A DIT mean value higher than an upper bound of prediction interval may indicate that some classes have a large number of the inheritance levels from the object hierarchy top. What constitutes greater app design complexity as more classes are involved. We have estimated the confidence and prediction intervals of the DIT mean using normalizing transformations for the data sample from 101 open-source apps developed in Java hosted on GitHub for the 0.05 significance level.
15
Content available remote PRET-ization of uRISC Core
EN
Modern safety-critical embedded systems have to be time-deterministic to guarantee safety. One source of time-nondeterminism are interrupts. This paper shows how to mitigate their influence in the system on a commercially available processor IP (Codasip uRISC) can be modified to exhibit time-determinism in real-time workloads and isolate interrupts. We extend the processor with fine-grained multithreading and isolated interrupt handling to localize time-nondeterminism caused by interrupts. We show a comparison between original and extended processors on a selection of TACleBench benchmarks. For interrupt-driven workloads, ideal interrupt isolation is achieved. The proposed modification can be used on other in-order single-issue processors.
PL
Urządzenia mobilne pozwalają na kreowanie aplikacji opierających się na ciągłej dostępności do Internetu i użytkownika, umożliwiając wprowadzenie na nowy poziom wcześniej istniejących koncepcji. Celem tego badania jest program, który umożliwi zarządzanie najmem mieszkań, automatyzację opłat oraz komunikację wynajmującego z lokatorami, jednocześnie znajdując się w zasięgu ręki. Zostało to zrealizowane przy pomocy aplikacji mobilnej napisanej w środowisku Java, serwera stworzonego przy pomocy środowiska Node.js, oraz bazy danych stworzonej w systemie zarządzania MySQL Workbench. Finalny produkt jest ogromnym ułatwieniem w zarządzaniu mieszkaniami, zarówno dla właściciela jak i lokatora.
EN
Mobile devices allow us to create applications based on constant availability of internet and a user, which we can use to improve previously existing ideas. The aim of the study is to create program, capable of helping with rental management, automatic fees and communication between owner and tenant, while safely remaining within reach. Such application was created with a usage of environment Android Studio with help of Java language, while the backend server was made with a JavaScrip runtime environment Node.js, and a database formed in relation database management system MySQL Workbench. Final product is an enormous help with rental management, both for owner and tenant.
PL
W tym artykule omówiono kwestię porównania technologii Java i Kotlin w oparciu o szkielet aplikacji internetowych. Kryteria brane pod uwagę dla celów testowych to: czas wykonania, wykorzystanie pamięci, obciążenie procesora, liczba odpowiedzi z bazy danych w zadanym czasie. Przeprowadzana jest seria testów i ich dogłębna analiza porównawcza. Przeprowadzono testy i analizę kodu. Wydajność pod względem szkieletów aplikacji internetowych, szybkości odpowiedzi bazy danych i szybkości działania testów - we wszystkich Kotlin okazał się mniej wydajny. Nie ma znaczącej różnicy dla obciążenia procesora. Pomiędzy poszczególnymi pomiarami, różnica nie przekracza 2%. Implementacja w języku Kotlin nigdy nie osiągnęła najlepszego wyniku w żadnej grupie pomiarów.
EN
This paper discusses the issue of comparing Java and Kotlin technologies based on the web application framework. The criteria taken into account for testing purposes are: execution time, memory usage, CPU load, database response in set time. A series of tests and their in-depth comparative analysis are carried out. For this case, tests and code analysis were carried out to draw comparative conclusions. The performance in terms of web frameworks, database response speed and tests implementation in different languages - in all these Kotlin proved to be less efficient. There is no significant difference between CPU load between individual easurements, the difference does not exceed 2%. Implementation in the Kotlin language has never achieved the best result in any group of measurements.
EN
Mobile applications for the Android platform can be implemented using Java or C#. The article presents a comparison of the time performance of these languages when sending various text, image and video files in a mobile application. The tests were carried out using two mobile applications with identical functionalities. Based on the collected data, the server application calculated statistics, such as, for example, the time required to send 1 MB of data depending on the file type and size. Based on the results obtained, it was proved that in the case of data transfer via a wireless network, an application written in Java is characterized by greater time efficiency than an analogous application written in C#.
PL
Aplikacje mobilne na platformę Android można implementować z użyciem języków Java lub C#. Artykuł przedstawia porównanie wydajności czasowej tych języków podczas przesyłania różnych plików typu tekstowego, obrazu i wideo w aplikacji mobilnej. Badania zostały przeprowadzone z użyciem dwóch aplikacji mobilnych o identycznych funkcjo-nalnościach. Na podstawie zebranych danych aplikacja serwerowa obliczyła statystyki, takie jak na przykład czas wymagany na przesłanie 1 MB danych w zależności od typu oraz rozmiaru pliku. Na podstawie otrzymanych wyników udowodniono, że w przypadku transferu danych poprzez sieć bezprzewodową aplikacja napisana w języku Java cechuje się większą wydajnością czasową niż analogiczna aplikacja napisana w języku C#.
EN
This article presents the results of a literature study related to the construction and operation of Java Virtual Machine, as well as performance tests of selected languages using the aforementioned runtime environment on the example of Java, Scala and Kotlin. Performance testing was carried out using two applications built using the Apache Maven archetype with the built-in Java Microbenchmark Harness library.
PL
Niniejszy artykuł przedstawia wyniki badania literaturowego związanego z budową oraz działaniem Java Virtual Ma-chine, jak również badania wydajności wybranych języków, wykorzystujących wspomniane środowisko uruchomie-niowe na przykładzie Javy, Scali oraz Kotlina. Badanie wydajności przeprowadzono wykorzystując dwie aplikacje, zbudowane przy użyciu archetypu Apache Maven z wbudowaną biblioteką Java Microbenchmark Harness.
EN
SAWUML is a general-purpose software modeling language that extends UML by unifying component and sequence diagrams for the specifications of software architectures. While component diagram is used for modeling the system structures, sequence diagram is extended with the Design-by-Contract approach for the modeling of system behaviors. In this paper, we aim at enhancing the language usability by providing alternative modeling choices for practitioners. To this end, we extended SAWUML's notation set with UML's activity diagram for the behavior modeling. So, practitioners may now use either sequence or activity diagrams, while the system structures are still modeled with component diagrams. We also extended SAWUML's modeling editor for creating software architecture models together with component and activity diagrams and the code generators for automatically obtaining (i) formal models in SPIN's ProMeLa for formal verification and (ii) Java-based implementation. We illustrate our language extension with the gas station case-study.
first rewind previous Strona / 5 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.