Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Save Your SpotTogether with BOSCH we invite you to a full day of learning more about the intersection of mobility and code. Get to know more about how modern mobility is defined by an intricate interplay of hardware and software and how cars are not only connected to the road, but also to the cloud.
Coding the Future of Mobility features a variety of talks and a workshop, that give you valuable insights into the world of mobility - wether you join in-person or online.
Together with Bosch we invite you to a full day of learning more about the intersection of mobility and code. Get to know more about how modern mobility is defined by an intricate interplay of hardware and software and how cars are not only connected to the road, but also to the cloud.
Coding the Future of Mobility features a variety of talks and a workshop, that give you valuable insights into the world of mobility - wether you join in-person or online.
Programming languages are classified based on their levels of abstraction. Java is a high-level language, so it needs to be translated to native code for execution. This can be achieved by either compilation or interpretation. However, the JVM seeks to take advantage of both.
The javac command-line tool compiles Java source code into Java class files containing platform-neutral bytecode, not native executable code. To better understand how the JVM executes bytecode, we will need to take a deeper look into its architecture.
The JVM was designed with portability in mind. Thus, it initially uses an interpreter to execute all bytecode. The JIT compiler kicks-in later to boost performance. It compiles bytecode to native code for repeated method calls. In this talk we will explore the two different JIT compilers used by the JVM. We will explain the tiered compilation concept and its five compilation levels.
At the end of this lecture, you will be able to explain how a combination of an interpreter and a JIT compiler enables both high performance and platform-neutral execution of your Java code.
Daniel Strmečki works as Director Digital Platforms at IBM iX, in Varaždin, Croatia. In early 2019, he earned a PhD degree in Information and Communication Sciences on University of Zagreb. In spare time, he writes articles on baeldung.com, one of world’s most popular Java blogs.
Throughout his career, Daniel gained experience in both software development and technical design, as well as project and people management. Most of his technical experience is related to design and development of Java Web Enterprise Applications and Content Management Systems, with strong focus on modularity and reusability. He is experienced in building agile teams and coaching junior developers.
Daniel has an open, ambitious, stubborn and perfectionist personality. He likes sports, modern technology, motivated colleagues and well-defined processes. He values high quality, trust, transparency, and integrity. Passionately drives topics like software craftsmanship, technical architecture, knowledge management, coaching and mentoring.
Have you ever worked on a legacy project, like lots of source code, but no unit tests? Or no continuous delivery? Static code analysis completely missing, or even a simple code standard totally absent?
Projects like these are still more often the case than we like to think. In fact, maybe you are a developer stuck in such a project, even though you have tried to raise these issues as problems? Were you told that is gold-plating, or simply too much work to fix?
I would like to share my experiences from a couple of such projects, both from the perspective of a tech lead in a project like this, and as a software reviewer (i.e. doing software auditing). But most important: I would like to help you with some good arguments, to convince your project leader why these things matter.
Passionate computer scientist. Java Champion and Google Developers Expert for Cloud. Public speaker.
We keep hearing how amazing it is to cut a giant monolith into microservices, but we rarely hear how to get started when knowing little about the subject. In this talk, I will take you through the journey of planning your migration to microservices from zero. I will show you how to bootstrap a new project covering things like security, observability, graceful shutdown, and grpc. The best thing about it? You don't need to know anything to jump on the train!
Aleksandr started his career as a C++ developer and later transitioned to Java. With more than 10 years working across different industries such as Telecom and Banking, Aleksandr played a critical role in scaling Miro from one to several hundred servers, managing the growing load generated by millions of users, and improving the reliability of the service.
Serverless architecture is exactly the opposite of a monolith architecture, small services (or functions) running in a constrained running environment (limited access to CPU and memory). Furthermore, as we move to a model where we pay per usage, the services might need to go from 0 to infinite instances in a matter of milliseconds to start serving requests. Because of these constraints, we have now seen a number of developers at many organizations considering moving to Node.js or Golang to get the performance and tiny memory footprint they need to run in a serverless environment.
Alex Soto is a Director of Developer Experience at Red Hat. He is passionate about the Java world, and software automation and he believes in the open-source software model. Alex is the co-author of Testing Java Microservices, Quarkus Cookbook, Kubernetes Secrets Management, and GitOps Cookbook books, and a contributor to several open-source projects. A Java Champion since 2017, he is also an international speaker, radio collaborator at Onda Cero, and teacher at Salle URL University. You can follow him on Twitter (@alexsotob) to stay tuned to what’s going on in Kubernetes and Java world.
Startup times of containers are becoming increasingly important with elastic scaling in the cloud - nobody wants to wait 2 minutes for a new instance of the service to appear. This is where the shooting star of java-based microservices, Spring Boot, fails to shine.
Due to the system, the startup time of the container increases with the amount of classes on the classpath. Also, the memory consumption of a Spring Boot application is not really low.
Micronaut, developed by the creators of the Grails framework, claims to solve these problems. In this talk, we take a look at how Microservices can be developed with Micronaut and see if it keeps its promises.
Bonus: Since Micronaut barely uses Reflection, it should be possible to compile it into a native image using the GraalVM AOT compiler. In this talk we will also try this out and measure the performance of this native image.
Moritz Kammerer is a software architect at QAware. He is passionate about distributed systems and cloud-native applications. Currently he is working on a project of Deutsche Telekom on a larger cloud-native system with microservice architecture. He is also the author of several open source projects.