Java is one of the most popular programming languages in the world and it runs on billions of devices scaling from credit cards to multi-machine servers. Oracle is the main contributor to the Java programming language, developed through the OpenJDK project. The Java Virtual Machine (JVM) is the core piece of technology that enables Java’s “write once, run anywhere” - the ability to run the same Java program on multiple hardware architectures and operating systems without having to recompile the code.
The JVM also implements the Java memory management with Garbage Collectors (GCs) that handle all the details for you, and just-in-time (JIT) compilers that enable Java performance to be better than what is possible with any statically compiled language.We are now looking for talented, purpose-focused, and highly motivated collaborators for an internship in the Stockholm development office.
The goal of this project is to achieve faster compilation times, more precise GC barrier elision opportunities, more maintainable and less fragile code, possibly even more efficient GC barrier implementations by going lower level than a CPU agnostic IR, and hopefully getting to a more standardized way of emitting GC barriers instead of all GCs doing different things as it is today.
This will be achieved by building a GC barrier infrastructure for the G1 GC similar to what has already been done for Generational ZGC. GC barriers are machine code instructions used to help perform bookkeeping required to maintain invariants. This project involves injecting the machine instructions for GC barriers at the very late instruction emission phase of the C2 JIT compiler, instead of the very early bytecode parsing phase where it is emitted today.
By emitting the GC barriers very early as done today, optimization phases throughout the compilers (e.g. escape analysis) currently needs to recognize that it should do something different for GC barrier Intermediate Representation (IR) nodes, as opposed to general application IR. The new approach doesn’t add any IR nodes for the GC barriers at all, and hence doesn’t introduce such complexity to the compiler design.The new feature should be implemented for the x64 and aarch64 CPU targets, likely to involve low level architecture specific optimization of the machine instruction sequences, as well as high level optimizations on the IR level to elide unnecessary GC barriers
Requirements-
Good communication and presentation skills in English.- Experience in computer science fundamentals.- Experience with modern IDEs and version control (Git).- C++ programming skills and experience with assembly.- Good problem-solving skills.- Experience with the Java Virtual Machine (Specification) is a plus.- Garbage Collection and Compiler development expertise is a plus.
Career Level - IC0
As a world leader in cloud solutions, Oracle uses tomorrow’s technology to tackle today’s problems. True innovation starts with diverse perspectives and various abilities and backgrounds.
When everyone’s voice is heard, we’re inspired to go beyond what’s been done before. It’s why we’re committed to expanding our inclusive workforce that promotes diverse insights and perspectives.
We’ve partnered with industry-leaders in almost every sector—and continue to thrive after 40+ years of change by operating with integrity.
Oracle careers open the door to global opportunities where work-life balance flourishes. We offer a highly competitive suite of employee benefits designed on the principles of parity and consistency. We put our people first with flexible medical, life insurance and retirement options. We also encourage employees to give back to their communities through our volunteer programs.
We’re committed to including people with disabilities at all stages of the employment process. If you require accessibility assistance or accommodation for a disability at any point, let us know by calling +1 888 404 2494, option one.
Disclaimer:
Oracle is an Equal Employment Opportunity Employer*. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability and protected veterans’ status, or any other characteristic protected by law. Oracle will consider for employment qualified applicants with arrest and conviction records pursuant to applicable law.
* Which includes being a United States Affirmative Action Employer
Software Development Intern- This is a unique opportunity to join a world-class development team of creators and inventors to design and engineer cutting-edge capabilities for the Java Platform that help address building the next generation of rich, scalable, and secure enterprise applications for a variety of targeted deployment environments from the desktop to the cloud.0 applies
1 views
Other Jobs from Oracle
Java Backend Developer
Applications Developer 3
There are more than 50,000 engineering jobs:
Subscribe to membership and unlock all jobs
Engineering Jobs
60,000+ jobs from 4,500+ well-funded companies
Updated Daily
New jobs are added every day as companies post them
Refined Search
Use filters like skill, location, etc to narrow results
Become a member
🥳🥳🥳 401 happy customers and counting...
Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.
To try it out
For active job seekers
For those who are passive looking
Cancel anytime
Frequently Asked Questions
- We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
- We've got about 70,000 jobs from 5,000 vetted companies. No fake or sleazy jobs here!
- We aggregate jobs from 5,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
- We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
- Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
- Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
- Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅
What Fellow Engineers Say