HTTP/2 301
content-type: text/html
location: /projects/panama/
content-security-policy-report-only: default-src 'self' *.openjdk.java.net feedburner.google.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' feeds.feedburner.com *.statcounter.com statcounter.com; img-src 'self' data: *.statcounter.com *.openjdk.java.net feedburner.google.com; frame-ancestors 'none'; report-uri https://openjdk.report-uri.io/r/default/csp/reportOnly
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-akamai-transformed: 0 - 0 -
date: Sat, 11 Oct 2025 02:53:40 GMT
set-cookie: _abck=3BE948376315CAA7BAB465EB0BD649C7~-1~YAAQNAHARaEONZSZAQAAmDIw0Q76YzhatZTGygdTtszaLwEL2PuQoZ2pzF+S9T9TMg7uPGFOZUr4zi/UBCvF2FVOeGaVRdhDHJugdsDg1fXYhUObDOvrJqccoScdegd4Htn37jOiED9kGw4uDWOLusB+ixP6b45bxyY7ImMAuHUceRMeyscN0QouC6slYAX+zBbypOL9OJOL+0kkhaZJaYfcVCrc5VxnFqAbARwEOL4TqYjNCGlXLgh/xtfcseL6D/WecnODt9ZTFvsZgv4MtcZY4GDB8sMjybtPzsLndrNVHvnWi+ZxB1kVNI7WMcjQmgidAszmco1NH8VsPtFWaBxTsOHHNFOp5xmnV0VydTLHjTYX9FEKHMOBWTTRKss4Xx8FtVDzKFB9Lnr7F5QeFNogJu/tI6VoSoefNU2uWBQNRV9k4BlG06Rvs+/4DNCPCdnYYsuJyz3N~-1~-1~-1~-1~-1; Domain=.openjdk.org; Path=/; Expires=Sun, 11 Oct 2026 02:53:40 GMT; Max-Age=31536000; Secure
set-cookie: bm_sz=36A6360EAA304AC95900939FFE5263D0~YAAQNAHARaIONZSZAQAAmDIw0R37kuhoVNNcEQsCw+fMCsm7cmaVXimaLC/b5yiU+Sa1eumgIP3QqaMV3imdMLUpHPL7w0YV+VH1sLIHnjBxKD1KNNtbxEVmG/hzlFMEIESuI95i0lJ/TM3JYYmfm5MeVkUja+PZ0jCFo2olQCM7tEFwpqhE7Tp5NhLTHiZ3ydt4zNgQ5jm0UYVRFQokYHNRZrGlHcal1I7HtT+gaVQBv5PUJqWAj6tUcaX4IxXCXS/w5GPeBHdb+2bT0EhDn67IXZozDMDahRMlVVAotkcpkcPCUFmPkm3G3lFqaVLVhMsi1+jnb9mpaAVKUqfqdQ+SsrtfsLviRdHq6mevS4lWUgvDiYgS2Y4=~4605488~4604981; Domain=.openjdk.org; Path=/; Expires=Sat, 11 Oct 2025 06:53:40 GMT; Max-Age=14400
HTTP/2 200
content-type: text/html
last-modified: Tue, 09 Sep 2025 21:30:25 GMT
vary: Accept-Encoding
etag: "68c09c71-2ea9"
content-security-policy-report-only: default-src 'self' *.openjdk.java.net feedburner.google.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' feeds.feedburner.com *.statcounter.com statcounter.com; img-src 'self' data: *.statcounter.com *.openjdk.java.net feedburner.google.com; frame-ancestors 'none'; report-uri https://openjdk.report-uri.io/r/default/csp/reportOnly
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
accept-ranges: bytes
x-akamai-transformed: 0 - 0 -
content-encoding: gzip
date: Sat, 11 Oct 2025 02:53:41 GMT
content-length: 3503
Project Panama: Interconnecting JVM and native code
We are improving and enriching the connections between the Java
virtual machine and well-defined but “foreign”
(non-Java) APIs, including many interfaces commonly used by C
programmers.
To this end, Project Panama will include most or all of these
components:
- native function calling from JVM
- native data access from JVM or inside JVM heap
- new data layouts in JVM heap
- native metadata definition for JVM
- header file API extraction tools (jextract)
- native library management APIs
- native-oriented interpreter and runtime
“hooks”
- class and method resolution “hooks”
- native-oriented JIT optimizations
- tooling or wrapper interposition for safety
- exploratory work with difficult-to-integrate native
libraries
Community
This Project is sponsored by the Hotspot Group.
- Mailing lists & News
- Design documents
- JEPs
- Talks
Repository organization
Project Panama is designed to incubate a series of components
for eventual inclusion in the JDK, via curated merge. Project
Panama features are being actively developed in the following
repositories:
- Panama
foreign support, which adds support for foreign memory access,
as well as for foreign function calls;
- Panama
vector support, which adds vectorization support in Java
through JVM intriniscs; and
- jextract, a
tool which mechanically generate Java bindings from native library
headers.
The legacy Panama repository is also available here, although we do
not expect to carry out further work there; as such this repository
should not be used (and in the future we might make this more
explicit by marking the legacy repository as read-only).