952 :
デフォルトの名無しさん :2010/02/05(金) 20:19:21
Javaプログラムをexeにはできないんですか。ソースコードをみられたくないんですが!
JETを使えば? それが無理ならProGuardとかで難読化で我慢かなぁ。
955 :
デフォルトの名無しさん :2010/02/05(金) 20:59:45
javaをexeにするのと、 ソースコードを見られないのとは別問題。 ソース見られたら困る問題でもあるん?
だって恥ずかしいんだもん・・
恥ずかしいソフトのコードなんて見る気にもならねーよ。
私の恥ずかしいソース売ります
JSmoothでラップしたexeからsrc取り出せます?
960 :
デフォルトの名無しさん :2010/02/05(金) 23:11:45
exeのもとのjarの中にsrcが入ってれば取り出せるだろうけど。 まあ、普通ははいってないわな。
jarにソースが含まれていなくてもclassファイルの逆コンパイルはかなりの精度で行えるため、含まれているようなもの。 説明するまでも無いと思うけれど、念のためね。
962 :
デフォルトの名無しさん :2010/02/05(金) 23:18:41
web.xmlってこういう風に書いて大丈夫でしょうか? <web-app> <servlet> <servlet-name>Test1</servlet-name> <servlet-class>Test1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test1</servlet-name> <url-pattern>/Test1</url-pattern> </servlet-mapping> <servlet> <servlet-name>Test2</servlet-name> <servlet-class>Test2</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test2</servlet-name> <url-pattern>/Test2</url-pattern> </servlet-mapping> </web-app>
たぶん
<servlet>タグの存在価値が昔からよくわからんかった。今もだが。 <servlet-mapping>だけでいいじゃんとか誰もが思ったはずだ。
965 :
デフォルトの名無しさん :2010/02/05(金) 23:35:11
Javaというか基本的な算数の話になっちゃうと思うんですが、 GMT+1 のタイムゾーンの現地時間って 通常は東京時間から8時間引いて サマータイムだと7時間引くっていう計算でいいんでしょうか?
いいですよ
パズル的にはあってるが、何が”通常”なのかが分からない。 システム的にはUTC(≒GMT)を基準にしてるわけだし。挙げ足でしかないけど。
968 :
デフォルトの名無しさん :2010/02/05(金) 23:48:34
>966 >967ありがとうございます。 通常=サマータイム以外(冬時間?)のつもりだったんですが・・・ ごめんなさい。
ここのおかげでようやく日本語ドキュメントを手に入れた 探しまくっても手に入らなくて困っていたけど 久々に心のそこから2ちゃんに感謝しました みなさまありがとう
970 :
デフォルトの名無しさん :2010/02/06(土) 08:16:24
public static void xxx(PrintWriter pw){ ・・・ pw.println(・・・); ・・・ } こんなメソッドなんですが、 このメソッドが動いたときにできる文章をファイルに出力する場合どうしたらいいんでしょうか?
971 :
デフォルトの名無しさん :2010/02/06(土) 08:24:06
HttpURLConnectionを使ってネットと通信してるのですが、 3万回くらい接続すると1回くらい(3日に1回くらい) IOException: Connection refused: connect が返されます。 これの原因を予想できませんか?
972 :
デフォルトの名無しさん :2010/02/06(土) 08:44:43
>>971 サーバ側の接続数オーバー?
もしくは、ネットワークの調子が悪いとか?
サーバ側のログは見れないの?
973 :
デフォルトの名無しさん :2010/02/06(土) 08:45:47
>>970 PrintWriterってのはファイルを出力しようとしてるのか?
closeしてないとかってオチか?
いっそのことプログラム全部はってくれ。
974 :
デフォルトの名無しさん :2010/02/06(土) 09:05:52
975 :
デフォルトの名無しさん :2010/02/06(土) 09:13:29
>>974 出力先を変えずにファイルにも出力するってことだよな?
じゃ、statInfoメソッドで、
pw.printlnに一行ずつ出力せずに、
いったん文字列を作成しておいて、
ファイル出力してから、
pw.printlnすればいいんじゃね?
976 :
デフォルトの名無しさん :2010/02/06(土) 09:38:54
>>975 出力先を画面ではなく、ファイルにだけpw.printlnの内容を出力するようにしたいです。
977 :
デフォルトの名無しさん :2010/02/06(土) 09:48:55
>>976 ならこれで。
public clientProc(Socket s) throws IOException {
this.s = s;
in = new BufferedReader(new InputStreamReader(
s.getInputStream()));
// out = new PrintWriter(s.getOutputStream());
out = new PrintWriter(new BufferedWriter(new FileWriter("出力したいファイル名")));
}
978 :
デフォルトの名無しさん :2010/02/06(土) 10:04:45
979 :
899 :2010/02/06(土) 14:01:42
もうええわ。ほな
980 :
971 :2010/02/06(土) 14:11:11
>>972 すいません、間違えました。
約10秒一回ペースで通信して2000回に一回くらいIOExceptionが発生します。
ログが見れればいいんですが、残念ながらログは見れません。
サーバの backlog がいっぱい。 ルーターのキャパシティがいっぱい。 ファイアウォールに攻撃認定された。
>>980 なんにせよConnection Refusedならサーバー側の問題じゃね?
クライアントに問題あるかどうか知りたいなら、
同じプログラムでURL変えて別のとこつっついてみたら?
読書感想文はもう結構 お前自身がどういった問題に直面し、どのように考え、どうやって解決したのかを語ってみろ
984 :
デフォルトの名無しさん :2010/02/07(日) 01:11:37
どこのなにが感想文だって?w
画像を大きくするとき、 img.getHeightに値を掛けると拡大するんだけど、 内部処理はどうなっているかわかりますか? 線形補間とかが勝手に行われるんですか?
>>980 パフォーマンスや可用性にシビアなシステムじゃなきゃ、
そのぐらいのエラーは、処理上は何回かリトライして繋がれば
それでよし、で済ましてしまうのが一般的だと思う。
どうしても原因が追求したければ、とりあえず、
近場のマシン(設定が好き勝手できて、通信経路も自分で掌握できるマシン)
でサーバー立てて、そこで再現するか調べるべき。
それで再現しないなら、通信経路の問題で、多分 java の知識だけでは
どうにもならない。
>>985 線形補間とかしないでスケーリングはできない。
スカスカの離散dotならできるが、スケーリングとは言わないよな。
abstractだから内部処理はプラットフォーム実装によるんだろう。
>>965 Javaの中で処理しようとしてるなら、そういう余計な計算するよりも、日時関係のAPIに現地に対応したLocale情報渡した方がいいんじゃね?
>>985 Graphics2D で画像を拡大して描画することを言っているのなら、
RenderingHints で補間の種類を指定できる。
デフォルト値は実装依存(?)
その辺のapiが存在するかを調べる手段が無いし、任せても、表示が間違ってれば、プログラマに苦情は来るだろうな。 設定が間違ってるとか、機能が無いとかまでサジェスチョンしてやるべき?
コンストラクタ = 初期化(リセット)ってことでしょうか? 今シューティングゲームのソース見てるんですが スコアはリセットメソッドを作りそこで初期化してるようです。 コンストラクタになぜ入れないんですか?
コンストラクタはオブジェクトが生成されるときの初期化のためのメソッド リセットしつつ使い回す必要があるなら初期化用のメソッド作るんじゃない
誰か新スレを立ててくれ
>>991 一般的には、
コンストラクタ=作成(インスタンスの生成)
です。
標準APIのドキュメントの日本語版でも、コンストラクタの説明は、
「○○(クラス名)を作成します」のようになっています。
ついでに初期化も行うことが多いですが、必ずしも初期化を行うとは限りません。
ゲームのスコアなどについて考えると、コンティニューを行う場合など、
値だけ初期化されればよくてインスタンスを作り直す必要がないので、
そのようになっているのだろうと思います。(ほかにも理由はあるかもしれませんが)
コンストラクタはメモリのアロケーションおよび初期化を行います。 初期化コードを書かない場合は、デフォルトで0, 0.0, nullなどで初期化されます。 そのゲームプログラムでリセットメソッドを使っているのは メモリアロケーションのコストを嫌ってのものかと思われます。 ゲームでは例えば60fpsなら1フレームあたり16ミリ秒以内に描画を含めた全ての処理を 終える必要があるため、メモリアロケーションは大きなコストとなります。 また、中途半端に寿命の長いオブジェクトを残すとガーベッジコレクションが働くため、 最後まで使い回すオブジェクトと1フレーム内で破棄するオブジェクトの仕分けが重要となります。
>>991-995 コンストラクタ=初期化の方が正しい。(リセットではないが)
オブジェクトの生成(メモリ割り当て)はnew演算子の、つまり言語の機能。
new演算子によって、(メモリ割り当て後に)初期化処理であるコンストラクタが呼び出される。
>>997 new演算子がなくてもメモリの割り当てはできるんだが・・・
ええっ、知らない。ファクトリとか言わないよねもちろん。
答えはCMの後
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。