.java
파일의 내용을 가지고있는 String
이 있다고 해봅시다. 이 소스 파일을 가상 .class
파일로 컴파일 할 수있는 API가 있습니까 (예 : 디스크에 실제 물리적 .class
파일을 생성하지 않고 메모리에 콘텐츠를 생성하고 저장)? 그리고이 "가상".class
가로드되어 JVM에서 실행됩니까?메모리에있는 자바 소스 파일을 컴파일하고 실행하십시오.
편집 1 : 내가 원할 때 유일한 이유는 가끔 내 응용 프로그램에 쓰기 권한이 없을 수 있기 때문입니다.
아마도 그렇지는 않지만 (적어도 리눅스에서는) 파일을 디스크가없는 파일 시스템 (예 :'tmpfs ')에서 만들 수 있으며 메모리에서 작업하는 것보다 거의 빠릅니다. 어쩌면 당신은 당신 자신의'ClassLoader' –
*을 작성할 수 있습니다. "내 응용 프로그램에 쓰기 권한이 없을 수도 있습니다."* Java 또는 DYM OS 보안 설정에 의해 샌드 박싱 되었기 때문입니까? –
@ 앤드류 톰슨 둘 다. 내 응용 프로그램이 인터넷에서 다운로드되기 때문에 Java에 의해 sandboxed 될 수 있습니다. 사용자가 Windows에서 C : \와 같은 일부 디렉토리에 jar 파일 (내 앱)을 저장하기로 결정했을 수 있기 때문에 OS에 의해. – 0x56794E