Java VM은 데몬 처럼 항상 작동이 가능한가요?

highvolt의 이미지

자바를 이용하여 초보적 수준에 프로젝트를 수행하고 있습니다.

자바를 사용하면.. 역시.. 제가 느끼기에 실행 속도가 좀 느리다..라는것입니다.

특히 스윙을 이용하여 프로그램을 짤때.. glib 를 사용하여 만든것 보다는

많이 느립니다.

더 정확하게 말하면.. 처음..프로그램이 메모리에 로드되고. 윈도우가 뜨는데

까지 걸리는 시간이 많더군요..

제가 알기로 자바 프로그램이 실행 될려면 VM 이 실행되고..그위에

자바 프로그램이 돌아가는것 같습니다. 그리고 프로그램이 종료되면

VM 도 종료되는것 같습니다.

만약에 VM 을 그냥 계속해서 데몬 처럼 돌리고..

그 위에 자바 어플리케이션을 돌린다면 초기 실행 속도가 빨라지지 않을까요?

현재 이런 방식이 불가능 한가요?

아니면 제가 잘 못 이해 하고 있는건가요?

고수님의 조언을 부탁합니다.

kdoll의 이미지

어플리케이션으로 작성하면 가상머신이 항상 떠 있을수는 없구요

어플리케이션이 내려가면 가상머신도 내려갈 겁니다.

비슷한 형태로 작성은 가능하긴 한데...

자바 어플리케이션 자체가 자바 클래스를 동적 로딩할 수 있거든요.

1. 어플리케이션 하나 만들고 -->(하는일은 클래스 명을 받아서 동적 로딩함)

2. 동적 로딩되는 클래스들을 만들어서 하시면 될듯 싶네요.

Class 객체의
forName()
newInstance()등등의 API를 찬찬히 뜯어봐 보세요.

익명 사용자의 이미지

Java 6 에서는 질문하신 분께서 생각하시는 system shared vm이
지원된다고 합니다.

현재로서는 윗 분 말씀처럼 동적 클래스 로딩을 사용한 꼼수 정도 밖에는 안될 것 같네요..

zelon의 이미지

흐음.. 저는 이번 타이거(자바5) 때 저 기능을 지원해서 어플리케이션의 속도가 빨라진다고 들었었는데, 실제로 그런것 같진 않네요. 다시 6 버젼으로 미뤄진건가요?

-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com

highvolt의 이미지

답변 감사합니다.

동적 클래스 로딩에 관한 좋은 링크 있으면 알려주시길 부탁드립니다.

atie의 이미지

스윙을 써서 어플리케이션의 기동이 느리다고 하는데, 동적클래스 로딩으로 해결을 할 수 있나요?
어떤 어플인지 모르는 상태에서 조언한다면, 저 같으면 swt를 쓰라고 권하겠습니다.
어플에 따라서는 항상 켜놓고, 쓰레드를 하나 빼서 CLI를 구성하거나, config화일 모니터링 하는 방법으로 프로그램의 재시작없이, 메인 프로세스를 조절할 수도 있죠. 즉, 디자인하기 나름이라는... 어떤 프로그램을 작성하려고 하는지를 알려주시면 답변을 드리는 입장에서도 좀 더 정확하고 상세히 답을 드릴 수 있겠군요.

단지, 자바의 concurrent 프로그래밍에 대해 알고 싶으신 거라면, Doug Lea책을 보시길 권합니다. 예제는 인터넷 상에서도 많이 볼 수 있습니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

kwon37xi의 이미지

한 개의 JVM 으로 여러 Java 어플리케이션을 실행하는 시스템에 대한 기사가 올라와 았군요.

JDistro 랍니다.

http://www.onjava.com/pub/a/onjava/2004/11/24/jdistro.html

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.