tuxmartin

Pridani pameti (XSS) a parametru v jednom JAR souboru

Dec 7th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.66 KB | None | 0 0
  1. // normalne se to resi pomoci pridavneho skriptu: http://pastebin.com/V0FF7vSv
  2.  
  3. package app;
  4.  
  5. import java.awt.EventQueue;
  6. import java.io.IOException;
  7.  
  8. import gui.Okno;
  9.  
  10. /**
  11.  *
  12.  * @author tuxmartin
  13.  *
  14.  */
  15.  
  16. public class Spustit {
  17.  
  18.     /**
  19.      * Spusti aplikaci. V pripade potreby automaticky nastavi pamet (Xss).
  20.      * Pro spusteni z vyvojoveho prostredi (Eclipse) nutno zakomentovat kod dle
  21.      * uvedenho komentare!
  22.      *
  23.      * @param args
  24.      */
  25.     public static void main(String[] args) {
  26.  
  27. /* ############################################################################
  28.          * pro spusteni z jednoho JAR souboru bez nutnosti mit dalsi BAT soubor pro nastaveni pameti JVM
  29.          * NEJDE SPUSTIT V ECLIPSE (program po svem startu spusti externi JAR soubor)
  30.          *
  31.          * Prestane fungovat vypis hodnot pres System.out.println() do konzole!
  32.          *
  33.          *    pouzit pouze pri generovani JAR
  34.          *    pri generovani zakomentovat kod pro eclipse a odkomentovat tento:
  35.          */
  36.  
  37.         if (args.length != 0) { // jestlize je programu predan alepson 1 parametr
  38.             for (int i = 0; i < args.length; i++) { // prochazime pole parametru
  39.                 if (args[i].equals("xssSet")) { // dokud nenajdeme nasi "znacku"
  40.                    
  41.                     EventQueue.invokeLater(new Runnable() { // pote spustime okno programu
  42.                         public void run() {
  43.                             try {
  44.                                 Okno frame = new Okno();
  45.                                 frame.setVisible(true);
  46.                             } catch (Exception e) {
  47.                                 e.printStackTrace();
  48.                             }
  49.                         }
  50.                     });
  51.                    
  52.                     break;
  53.                 }
  54.             }
  55.         } else { // jinak musime nastavit pamet
  56.             System.out.println("Neni nastavena pamet! Nastavuji pamet a spoustim program znovu."); // ve Windows CMD se spatne zobrazuji ceske znaky (proto bez diaktritiky)
  57.             try {
  58.  
  59.                 // http://java.dzone.com/articles/programmatically-restart-java
  60.  
  61.                 // sun.java.command obsahuje jmeno metody hlavni tridy (nebo jmeno jar souboru) a vsechny parametry
  62.                 // Mozna nebude fungovat na vsech JVM. Oracle a OpenJDK funguji.
  63.    
  64.                 Runtime.getRuntime().exec("java -Xss32M -jar " + System.getProperty("sun.java.command") + " xssSet");
  65.                     // nastavime pamet a znovu spustime program
  66.             } catch (IOException e) {
  67.                 e.printStackTrace();
  68.             }
  69.         }
  70.        
  71.        
  72. /* ############################################################################ */
  73.  
  74.         /* ***************************************
  75.          * PRO SPUSTENI V ECLIPSE ZAKOMENTOVAT VYSE UVEDENY KOD A ODKOMENTOVAT:
  76.          */
  77.        
  78.  
  79. /*
  80.         EventQueue.invokeLater(new Runnable() {
  81.             public void run() {
  82.                 try {
  83.                     Okno frame = new Okno();
  84.                     frame.setVisible(true);
  85.                 } catch (Exception e) {
  86.                     e.printStackTrace();
  87.                 }
  88.             }
  89.         });
  90. */
  91.  
  92.        
  93.         /* *************************************** */
  94.  
  95.     }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment