• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 659
  • 348
  • 294
  • 174
  • 92
  • 74
  • 31
  • 26
  • 23
  • 23
  • 17
  • 14
  • 12
  • 11
  • 9
  • Tagged with
  • 1989
  • 549
  • 292
  • 266
  • 235
  • 222
  • 192
  • 190
  • 184
  • 178
  • 174
  • 174
  • 161
  • 140
  • 124
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
421

Improving relocation performance in ZGC by identifying the size of small objects / Förbättrad omplaceringsprestanda i ZGC genom att identifiera storleken på små objekt

Yu, Jinyu January 2022 (has links)
Modern Garbage Collectors provide performance improvements by increasing program locality to utilize the faster CPU cache. A common approach is to move objects together according to the mutators’ access order, which brings more relocations during GC. In most cases, more relocations would not impact performance when using concurrent Garbage Collectors such as ZGC. However, in constrained environments with fewer CPU cores or less memory, bad relocation performance will cause overall performance degradation. In this thesis, we investigated why larger objects do not benefit from better program locality, then proposed a new design to reduce the number of relocations by efficiently identifying and ignoring larger objects. As a result, the relocation performance can be improved. In constrained environments, this can lead to an increase in overall throughput. In the new design, we introduce an extra page type, the tiny page. If an object is considerably small that it could benefit from relocation, it will be placed on the tiny page when allocating. As a result, we could replace the time‐consuming size check of objects with a faster page type check. Memory fragmentation also can be reduced by this design. To evaluate this design, we add the size identification procedure into a locality improvement implementation named HCSGC. The results of benchmarks show a slight improvement in constrained environments. In the JGraphT benchmark, we see a 3‐5% speedup in different configurations with memory limitations. In the SPECjbb2015 benchmark, we see a ~1% increase in performance on average, but with overlapping confidence intervals. In the DaCapo benchmark suite, we see a 1% improvement in the sunflow benchmark with CPU constraint. For other benchmarks in DaCapo, no significant difference is discovered. The results suggest that the proposed new design is a feasible way of filtering out larger objects, and doing so can further improve the relocation and overall performance. / Modern Garbage Collector ger prestandaförbättringar genom att öka programplatsen för att använda den snabbare CPU‐cachen. En vanlig metod är att flytta fler objekt baserat på mutators åtkomstorder. I de flesta fall skulle fler omplaceringar inte påverka prestanda vid användning av samtidiga Garbage Collector som ZGC. Men i begränsade miljöer med färre CPU‐kärnor eller mindre minne kommer dålig flyttningsprestanda att leda till övergripande prestandaförsämring. I denna avhandling undersökte vi varför större objekt inte gynnas av bättre programplats, och föreslog sedan en ny design för att minska antalet flyttningar genom att effektivt identifiera och ignorera större objekt. Som ett resultat kan flyttningsprestandan förbättras. I begränsade miljöer kan detta leda till en ökning av den totala genomströmningen. I den nya designen introducerade vi en extra sidtyp, den lilla sidan. Om ett objekt är avsevärt litet som kan ha nytta av omplacering, kommer det att placeras på den lilla sidan vid allokeringen. Som ett resultat kan vi ersätta den tidskrävande storlekskontrollen av objekt med en snabbare sidtypskontroll. Minnesfragmentering kan också reduceras med denna design. För att utvärdera denna design lägger vi till storleksidentifieringsproceduren i en implementering av lokaliseringsförbättring som heter HCSGC. Resultaten av riktmärken visar en liten förbättring i begränsade miljöer. I JGraphT‐riktmärket ser vi en hastighet på 3‐ 5% i olika konfigurationer med minnesbegränsningar. I riktmärket SPECjbb2015 ser vi i genomsnitt en ~1% prestationsökning, men med överlappande konfidensintervall. I DaCapo ‐riktmärket ser vi en förbättring på 1% i solflödesriktmärket med CPU‐begränsning. För andra riktmärken i DaCapo upptäcks ingen signifikant skillnad. Resultaten tyder på att den föreslagna nya designen är ett genomförbart sätt att filtrera bort större objekt, och det kan ytterligare förbättra flytten och den övergripande prestandan.
422

Learning from the west : sexuality education in taboo Javanese society

Husni Rahiem, Maila Dinia January 2004 (has links)
No description available.
423

A Comparison of WAP Development in C# and Java.

Javed, Omar Saleem 01 December 2001 (has links) (PDF)
Wireless Application Protocol (WAP) is the current de-facto standard for communication used by the world wide web (WWW) for wireless devices. WAP application development consists of software development in the Wireless Markup Language (WML) and the WML scripting language. The WAP development programming model is similar to the WWW programming model. However, there are a few design considerations that a developer has to keep in mind such as small display size, limited bandwidth, different session management techniques, and security aspects. Generation of dynamic content for WAP devices can be done in a variety of server side languages. C# and Java are two of those languages. Numerical computations and database access performance are important in WAP development. C# and Java have been compared in the context of several performance aspects, event handling programming models using delegates and inner classes, security models, and rapid application development facilities.
424

Procedurers inverkan på kodförståelse i Java : En studie med eye-tracking / The impact of procedures in Java on code readability : A study with eye-tracking

Ytterberg, Kim January 2018 (has links)
I programvarans livscykel spenderas mycket tid i det sista steget, underhållsfasen. I detta stadie är mjukvaran färdigutvecklad och behöver kontinuerligt underhåll för att säkerställa programvarans ständiga funktionalitet och effektivitet [25]. Det är därför viktigt att programvaran är så läsbar som möjligt då nya programmerare oftast tillkommer till projekten och för att snabbt kunna felsöka koden. Procedurer (metoderi Java) lärs ut som ett sätt att hålla koden strukturerad och lättläst. Läsbarhet av kod har blivit mer och mer studerat under de senaste åren och med hjälp av eye-tracking har läsbarhet av kod kunnat studerats på ett konkret sätt. I denna rapport har procedurers inverkan på läsbarhet av kod undersökts vilket har gjorts genom att undersöka tio testpersoners ögonrörelser vid tolkning av ett antal problem i Java, där problemen skilt sig till användandet av procedurer eller ej. Metodiken som valts har varit ett kontrollerat experiment där de tilldelade problemen involverat tolkning av kod samtidigt som deltagarnas ögonrörelser studerats och presenteras som bilder och data i form av diagram över punkter där blicken fixerats i koden. Resultaten visar attnybörjare generellt sett tar längre tid på sig att läsa procedurer jämfört med monolitisk kod (sekventiell kod, motsatsen till proceduruppdelad kod), medan erfarna programmerare inte skilde sig i lika hög gradeller var till och med snabbare på att lösa de procedurellt uppdelade kodsegmenten. Man kan även tyda att erfarna programmerare har ett annat sätt att läsa kod jämfört med nybörjare vilket kan vara intressant att studera ytterligare. Slutsatsen för experimentet är att kontrollflödesabstraktioner i form av procedurer gör det lättare för programmerare att läsa kod men det krävs tid och vana för att ta del av de gynnsamma effekterna utav dem. / In the software life cycle, a great amount of time is spent on the final stage, the maintenance phase. At this stage, the software is fully developed and needs continuous maintenance to ensure constant functionality and efficiency of the software [25]. It is therefore important for the software to be as readable as possible since other programmers might start working on the software. It is also important to keep the code readable to quickly troubleshoot the code. Procedures are taught as a way to keep the code structured and easy to read among other abstractions. In recent years, the study of code readability has gained an increasing popularity and with the help of eye-tracking it has allowed for the study of readability in a more concrete way. In this report, the impact of procedures on code readability has been investigated by conducting a controlled experiment, which has been done by examining the eye movements of ten test subjects who had been tasked with interpreting a number of problems in Java, where the problems ranged from the use of procedures or not (being plain monolithic code blocks). The assigned problems involve the interpretation of code while their eye movements are recorded and presented as images and as data in a spreadsheet. The results show that beginners generally take longer to read methods compared to sequential code, while experienced programmers did not differ as much- or were even faster to resolve the procedural code segments. It can also be said that experienced programmers have a different way of reading code compared to beginners which may be interesting to study further. The conclusion is that control flow abstractions in the form of procedures make it easier for programmers to read code, but it takes time and experience to take advantage of their beneficial effects.
425

Improving Back-End Service Data Collection

Spik, Charlotta, Ghourchian, Isabel January 2017 (has links)
This project was done for a company called Anchr that develops a location based mobile application for listing nearby hangouts in a specified area. For this, they integrate a number of services which they send requests to in order to see if there are any nearby locations listed for these services. One of these services is Meetup, which is an application where users can create social events and gatherings. The problem this project aims to solve is that a large number of requests are sent to Meetup’s service in order to get information about the events, so that they then can be displayed in the application. This is a problem since only a limited number of requests can be sent within a specified time period before the service is locked. This means that Meetup’s service cannot be integrated into the application as it is now implemented, as the feature will become useless if no requests can be sent. The purpose of this project is therefore to find an alternative way of collecting the events from the service without it locking. This would enable the service to be integrated into the application. The hypothesis is that instead of using the current method of sending requests to get events, implement a listener that listens for incoming events from Meetup’s stream, to directly get updates whenever an event is created or updated. The result of the project is that there now exists a system which listens for events instead of repeatedly sending requests. The issue with the locking of the service does not exist anymore since no requests are sent to Meetup’s service. / Detta projekt genomfördes för ett företag som heter Anchr som utvecklar en platsbaserad mobilapplikation för att lista närliggande sociala platser inom ett specificerat område. För detta integrerade de ett antal tjänster som de skickar förfrågningar till för att se om det finns några närliggande platser listade för dessa tjänster. En av dessa tjänster är Meetup som är en applikation där användare kan skapa sociala evenemang. Problemet detta examensarbete syftar till att lösa är att ett stort antal förfrågningar skickas till Meetups tjänst för att få information om evenemangen så att de kan visas i applikationen. Detta är ett problem då endast ett begränsat antal förfrågningar kan skickas till deras tjänst inom ett visst tidsintervall innan tjänsten spärras. Detta betyder att Meetups tjänst inte kan integreras in i applikationen såsom den är implementerad i nuläget, eftersom funktionen kommer bli oanvändbar om inga förfrågningar kan skickas. Syftet med detta projekt är därför att hitta ett alternativt sätt att samla in evenemang från tjänsten utan att den spärras. Detta skulle göra så tjänsten kan integreras in i applikationen. Hypotesen är att istället för att använda den nuvarande metoden som går ut på att skicka förfrågningar för att få nya händelser, implementera en lyssnare som lyssnar efter inkommande händelser från Meetups stream, för att direkt få uppdateringar när ett evenemang skapas eller uppdateras. Resultatet av detta är att det nu finns ett system som lyssnar efter evenemang istället för att upprepningsvis skicka förfrågningar. Problemet med låsningen av tjänsten existerar inte längre då inga förfrågningar skickas till Meetup’s tjänst.
426

Functional Programming Languages and the JVM : Comparing Functional Language Compilation Techniques for the JVM / Funktionell Programmering och JVM:en : Jamföring av kompileringstekniker av funktionella språk till JVM:en

Olofsson, Asta January 2023 (has links)
Because of its security, high availability, and automatic memory management, the JVM (Java Virtual Machine) is a desirable execution environment. However, since the JVM was originally made for Java, which is an objectoriented language, it is hard for languages with other paradigms to run on it. This thesis explores the challenges of compiling a functional language for the JVM. We implement a backend generating JVM bytecode as an extension to the compiler of MCore, a minimal functional language based on the lambda calculus. The backend features two different ways of compiling functions. One generates classes representing functions and their environment at compile-time, and one creates these function classes dynamically at runtime. The two different versions of compiling functions are compared in regards to execution speed of the outputted bytecode, compiler output size, and recursion depth. The results show that the two different ways of compiling functions perform well on different metrics. / På grund av sin säkerhet, tillgänglighet och automatiska minneshantering är JVM:en (Java Virtual Machine) en önksvärd exekveringsmiljö. På grund av att JVM:en ursprungligen skapades för programmeringsspråket Java, som är ett objektorienterat språk, så är det svårt för språk som följer andra paradigmer att köra på JVM:en. Denna uppsats undersöker utmaningarna som uppstår vid kompilering av ett funktionellt språk på JVM:en genom en litteraturstudie. Vi implementerar en backend som genererar JVM bytekod som en utökning av kompilatorn för MCore, ett minimalt funktionellt språk baserat på lambdakalkylen. Backenden implementeras med två tekniker för att kompilera funktioner. Den ena genererar klasser som representerar funktioner och deras miljö under kompileringstiden och den andra genererar dessa funktionsklasser dynamiskt vid körtid. Vi jämför de två teknikerna med avseende på den producerade bytekodens exekveringstid, storlek och rekursionsdjup. Resultaten visar att de två kompilationsteknikerna av funktioner presterar olika på olika mätningar.
427

Utveckling av en mobilapplikation för schemaläggning : För sjuksköterskor och undersköterskor på närakuter / Development of a Mobile Application for Scheduling : For Nurses and Assistant Nurses in Local Emergency Wards

Chowdhury, Mishu, Yara, Kani January 2021 (has links)
Schemaläggning av personal kan vara tidskrävande, men detta kan underlättas med hjälp av digitala system. På flera närakuter i Stockholms län utförs schemaläggning för sjuksköterskor och undersköterskor fortfarande på papper, vilket medför administrativa svårigheter. Syftet med detta examensarbete var att utveckla en Android mobilapplikation som kan ersätta det nuvarande schemaläggningssystemet. Målet var att skapa en applikation som hanterar schemaläggningen av arbetspass och underlättar kommunikationen mellan all personal. Med hjälp av Android Studio utvecklades en mobilapplikation som tillåter användare att skapa schemaläggare- eller personalkonto. Användare med schemaläggarkonto kan skapa arbetspass, välja personal till och ta bort personal från passen. Användare med personalkonto kan göra en intresseanmälan för arbetspass och få en lista över sina kommande pass. Applikationen är försedd med en veckovis kalender som visar de skapade passen och personalen som är vald till passen. Med applikationen kan användarna kontakta varandra genom en chattfunktion. Den utvecklade applikationen, som uppfyllde uppdragsgivarens mål, testades och responsen vid testningen var positivt. Applikationen är fortfarande i utvecklingsfasen och behöver kompletteras med flera funktioner för att bli mer anpassningsbart för användarna. Framtida arbeten innefattar utveckling av en iOS-version och justering av applikationen för att användas på flera närakuter. Efter dessa justeringar kan applikationen publiceras på Google Play och App Store. / Scheduling can be a time-consuming process; however, this can be facilitated by utilizing digital systems. In several local emergency wards in Stockholm, the scheduling of nurses and assistant nurses is still performed on paper, which results in administrative complications. The purpose of this bachelor thesis was to develop an Android mobile application that can replace the current scheduling system. The aim was to create an application that handles personnel scheduling and supports communication between the personnel. Using Android Studio an Android mobile application was developed that allows users to create scheduler and personnel accounts. Users with a scheduler account can create work shifts, select personnel for and remove personnel from the shift. Users with a personnel account can sign up for work shifts and receive a list of their upcoming shifts. The application provides the user with a weekly schedule which displays the created shifts and the personnel selected for the shifts. By using the application, users can communicate with each other through a chat function. The developed application, which meets the client's requirements, was tested and the feedback from the testing was positive. The application is still in the development stages and requires the addition of several functions to make it more customizable for the users. Future work involves developing an iOS-version and adjusting the application to utilize it in several local emergency wards. After these adjustments, the application can be distributed in Google Play and App Store.
428

Building Matlab Standalone Package from Java for Differential Dependence Network Analysis Bioinformatics Toolkit

Jin, Lu 06 July 2010 (has links)
This thesis reports a software development effort to transplant Matlab algorithm into a Matlab license-free, platform dependent Java based software. The result is almost equivalent to a direct translation of Matlab source codes into Java or any other programming languages. Since compiled library is platform dependent, an MCR (Matlab Compiler Runtime environment) is required and has been developed to deploy the transplanted algorithm to end user. As the result, the implemented MCR is free to distribution and the streamline transplantation process is much simpler and more reliable than manually translation work. In addition, the implementation methodology reported here can be reused for other similar software engineering tasks. There are mainly 4 construction steps in our software package development. First, all Matlab *.m files or *.mex files associated with the algorithms of interest (to be transplanted) are gathered, and the corresponding shared library is created by the Matlab Compiler. Second, a Java driver is created that will serve as the final user interface. This Java based user interface will take care of all the input and output of the original Matlab algorithm, and prepare all native methods. Third, assisted by JNI, a C driver is implemented to manage the variable transfer between Matlab and Java. Lastly, Matlab mbuild function is used to compile the C driver and aforementioned shared library into a dependent library, ready to be called from the standalone Java interface. We use a caBIG™ (Cancer Biomedical Informatics Grid) data analytic toolkit, namely, the DDN (differential dependence network) algorithm as the testbed in the software development. The developed DDN standalone package can be used on any Matlab-supported platform with Java GUI (Graphic User Interface) or command line parameter. As a caBIG™ toolkit, the DDN package can be integrated into other information systems such as Taverna or G-DOC. The major benefits provided by the proposed methodology can be summarized as follows. First, the proposed software development framework offers a simple and effective way for algorithm developer to provide novel bioinformatics tools to the biomedical end-users, where the frequent obstacle is the lack of language-specific software runtime environment and incompatibility between the compiled software and available computer platforms at user's sites. Second, the proposed software development framework offers software developer a significant time/effort-saving method for translating code between different programming languages, where the majority of software developer's time/effort is spent on understanding the specific analytic algorithm and its language-specific codes rather than developing efficient and platform/user-friendly software. Third, the proposed methodology allows software engineers to focus their effort on the quality of software rather than the details of original source codes, where the only required information is the inputs and outputs of the algorithm. Specifically, all used variables and functions are mapped between Matlab, C and Java, handled solely by our designated C driver. / Master of Science
429

Web-based interface for scientific computations

Huang, Xiuqiong 01 April 2001 (has links)
No description available.
430

Evaluating the East Java Tsunami Hazard: What Can Newly-Discovered Imbricate Coastal Boulder Accumulations Near Pacitan and at Pantai Papuma, Indonesia Tell Us?

Meservy, William Nile 01 October 2017 (has links)
Our paleotsunami surveys of the southern Java coast led to the discovery of five imbricate coastal boulder fields near Pacitan, Indonesia that may date to the mid-to-late 19th century or prior and two similar fields at Pantai Papuma and Pantai Pasir Putih that were tsunami-emplaced during the 1994 7.9 Mw event in East Java. Estimated ages for the fields near Pacitan are based on historical records and radiocarbon analyses of coral boulders. The largest imbricated boulders in fields near Pacitan and in East Java are similar in size (approximately 3 m^3) and are primarily composed of platy beachrock dislodged from the intertidal platform during one or several unusually powerful wave impactions. Hydrodynamic wave height reconstructions of the accumulations near Pacitan indicate the boulders were likely tsunami rather than storm-wave emplaced, as the size of the storm waves needed to do so is not viable. We evaluate the boulders as an inverse problem, using their reconstructed wave heights and ComMIT tsunami modeling to suggest a minimum 8.4 Mw earthquake necessary to dislodge and emplace the largest boulders near Pacitan assuming they were all deposited during the same tsunami event and that the rupture source was located along the Java Trench south of Pacitan. A combined analysis of historical records of Java earthquakes and plate motion measurements indicates a seismic gap with >25 m of slip deficit along the Java Trench. A 1000-1500 km rupture along the subduction interface of this segment is capable of producing a 9.0-9.3 Mw megathrust earthquake and a giant tsunami. However, evidence for past megathrust earthquake events along the this trench remains elusive. We use epicenter independent tsunami modelling to estimate wave heights and inundation along East Java in the event that the trench were to fully rupture. By translocating ComMIT slip parameters of Japan's 2011 9.1 Mw event along the trench offshore East Java, we demonstrate possible wave heights in excess of 20 m at various locations along its southern coasts. Approximately 300,000-500,000 people in low-lying coastal communities on the southern coasts of East Java could be directly affected. We recommend at-risk communities practice the "20/20/20 principle" of tsunami hazard awareness and evacuation.

Page generated in 0.0565 seconds