Skip to content
View ChrisHegarty's full-sized avatar

Organizations

@openjdk

Block or report ChrisHegarty

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Pinned Loading

  1. BufferUnsafeBench BufferUnsafeBench Public

    Micro benchmarks that demonstrate pollution issues with various different flavours of Unsafe memory accessors.

    Java 1

  2. Serializable Records Serializable Records
    1
    
                  
    2
    
                  
    3
    ## Serializable Records
    4
    
                  
    5
    A record is a nominal tuple - a transparent, shallowly immutable carrier for a specific ordered sequence of elements. There are many interesting aspects of record classes, as can be read in Brian Goetz's [spotlight article](https://www.infoq.com/articles/java-14-feature-spotlight/), but here we will focus on one of the lesser known aspects, record serialization, and how it differs from (and I would argue is better than) serialization of normal classes.
  3. DeserializationEvent.md DeserializationEvent.md
    1
    
                  
    2
    
                  
    3
    ## Monitoring Deserialization to Improve Application Security
    4
    
                  
    5
    Many Java frameworks rely on serialization and deserialization for exchanging messages between JVMs on different computers, or persisting data to disk. Monitoring deserialization can be helpful for application developers who use such frameworks, as it provides insight into the low level data which ultimately flows into the application. This insight, in turn, helps to configure [serialization filtering][filter], a mechanism introduced in Java 9 to prevent vulnerabilities by screening incoming data **before** it reaches the application. Framework developers may also benefit from a more efficient and dynamic means of monitoring the deserialization activity performed by their framework.
  4. Foreign Memory Access and NIO channe... Foreign Memory Access and NIO channels - Going Further
    1
    
                  
    2
    ## Foreign Memory Access and NIO channels - Going Further
    3
    
                  
    4
    The Java Platform's NIO channels currently only support I/O operations on synchronous channels with byte buffer views over confined memory segments. While somewhat of a limitation, this reflects a pragmatic solution to API constraints, while simultaneously pushing on the design of the [Foreign Memory Access API][foreign] itself.
    5
    
                  
  5. MHAccessBench MHAccessBench Public

    Benchmark to compare adapted method handle invoke times

    Java

  6. Networking I/O with Virtual Threads ... Networking I/O with Virtual Threads - Under the hood
    1
    
                  
    2
    ### Networking I/O with Virtual Threads - Under the hood
    3
    
                  
    4
    [Project Loom][loom] is intending to deliver Java VM features and APIs to support easy-to-use, high-throughput lightweight concurrency and new programming models on the Java platform. This brings many interesting and exciting prospects, one of which is to simplify code that interacts with the network. Servers today can handle far larger numbers of open socket connections than the number of threads they can support, which creates both opportunities and challenges.
    5