Skip to content

Instantly share code, notes, and snippets.

@AdamBien
Created January 22, 2024 07:05
Show Gist options
  • Save AdamBien/fe338c0d125676255c5cfc4f0dc5dea8 to your computer and use it in GitHub Desktop.
Save AdamBien/fe338c0d125676255c5cfc4f0dc5dea8 to your computer and use it in GitHub Desktop.
119thAirhacksQ&A.md
@grimly
Copy link

grimly commented Jan 24, 2024

Hello Adam,

WASM peeked my attention again and one of the key feature it has is the ability to limit a module external endpoint (ie: the functions you give access to the module).

Is there such feature around Java like loading a JAR dynamically (this I know is possible with class loaders) but limiting heavily the classes it may load or the methods it may call ?

If instead of full servers, we could just have managed running JVMs that could load a JAR for this request, call its methods and then dispose of it, it could be made a efficient Java FaaS platform.

@kriehzoo
Copy link

Hi Adam!
What do you recommend for running a Java program as a windows service?
I found Java Service wrapper and WinSW, do you have experience with any of those?
Thank you

@grimly
Copy link

grimly commented Jan 31, 2024

Hello,

How can we propose new features to the Java language ?

For instance something I'd like to see so I can remove Lombok completely is the ability to build a record giving component values by name, ie:

var myRecord = new MyRecord(
  name = "Duke",
  age = 42
);

The produced bytecode doesn't even need to change but I've found with javascript/typescript that named parameter leave less margin for errors and offers better experience when refactoring (remove or add components)

My current practice is to use Lombok builders but even there, the compiler doesn't help you if you missed a component.

@kriehzoo
Copy link

kriehzoo commented Feb 5, 2024

Hello Adam! Are there any tools you are using to generate architecture diagrams from your code? Have you come across https://www.structurizr.com/ or can you recommend something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment