★★Java質問・相談スレッド165★★
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2013/10/20(日) 19:30:39.35JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
前スレッド
★★Java質問・相談スレッド164★★
http://toro.2ch.net/test/read.cgi/tech/1378219684/
0809デフォルトの名無しさん
2013/11/19(火) 17:18:44.150810デフォルトの名無しさん
2013/11/19(火) 17:54:44.78俺もそれが普通の発想だと思うが、世の中には削除と同時に取得するのが安全でないC++という言語もあるんだ
0811デフォルトの名無しさん
2013/11/19(火) 18:59:40.99スレッドセーフかどうかくらい明記してるとおもう。
0812デフォルトの名無しさん
2013/11/19(火) 22:21:10.090813デフォルトの名無しさん
2013/11/19(火) 22:21:44.83これって、時間かかりすぎかな?
ちなみに、職業プログラマね
0814デフォルトの名無しさん
2013/11/19(火) 22:25:17.83/webapps/sample/WEB-INF/libに、*jarを配置したのですが...
何でダメなんですか?
0815デフォルトの名無しさん
2013/11/19(火) 22:34:12.02ちょっと長いかな程度。注入時間わからないけど。
サーバとか組込とかいろいろあるわけで、Javaというキーワードだけで仕事取ってくる営業は無能だと思うの。言語の文法覚えるのはすぐだが、フレームワークや開発手法を理解するのには時間かかる。
0816デフォルトの名無しさん
2013/11/19(火) 22:56:56.62会社では.NETで開発しているんだけど、上からjava覚えてきてねーと言われた
だから、3ヶ月間家に帰ってきてから、一人でjavaの勉強しているわけなんだ
spring/mybatis/tomcatを作って、画面項目4個でDBへ問い合わせるプログラムを作ってみた
そしたら、進捗遅くねー?って言われた。だから、皆さんどのくらい時間がかかるのかなって思ったんだ
0817デフォルトの名無しさん
2013/11/19(火) 23:02:04.860818デフォルトの名無しさん
2013/11/19(火) 23:04:03.51一般的なスタックは動的配列のサブセットとして実装されるのが普通だからだよ
だからって動的配列がスタックの操作を提供しなきゃいけないという理屈はないが、慣習的にそうなってることが多い
.NETではスタックと動的配列は別になってて、動的配列のRemoveも値を返さないね
0819デフォルトの名無しさん
2013/11/19(火) 23:21:32.22removeをAPIリファレンスも読まずに使ってるのが怖いなあって思うわ
他のメソッドとかも注意書きとかも読んでないで使ってるんだろうなって思う
0820デフォルトの名無しさん
2013/11/19(火) 23:23:58.380821デフォルトの名無しさん
2013/11/19(火) 23:24:55.81車や家電の操作だってそう
0822デフォルトの名無しさん
2013/11/19(火) 23:47:52.140823デフォルトの名無しさん
2013/11/19(火) 23:49:50.76エスパーできねーや、残念
0824デフォルトの名無しさん
2013/11/19(火) 23:55:49.000825デフォルトの名無しさん
2013/11/20(水) 00:06:03.540826デフォルトの名無しさん
2013/11/20(水) 00:07:55.330827デフォルトの名無しさん
2013/11/20(水) 00:10:34.900828デフォルトの名無しさん
2013/11/20(水) 00:11:59.020829デフォルトの名無しさん
2013/11/20(水) 00:56:58.730830デフォルトの名無しさん
2013/11/20(水) 03:31:37.200831デフォルトの名無しさん
2013/11/20(水) 04:14:36.10C++が使いにくいのは確かだが、
Atomicかどうかに言語関係なくないか?
0832デフォルトの名無しさん
2013/11/20(水) 13:31:52.470833デフォルトの名無しさん
2013/11/20(水) 22:05:20.55810 ではないが、810 で言っている「安全でない」というのは
例外安全性のことであって、GC がない C++ では本質的な問題。
0834デフォルトの名無しさん
2013/11/20(水) 23:04:28.14なんでGCが?それ、ものすごく狭い範囲で言ってないか?
操作のAtomicityは実装によるわけで、
DBのトランザクションみたいに、
きちんと気をつけてないと、例外安全にはならないよ。
0835デフォルトの名無しさん
2013/11/20(水) 23:13:49.81C++でfree()するチャンスが永遠に失われるよ、と言う話でわ
0836デフォルトの名無しさん
2013/11/20(水) 23:19:45.99Atomicity は関係ない。だからスクリプト言語のようにすべての
オブジェクトをヒープにおいてコピーしないようにすれば
例外安全に pop できる。
もちろんコピーコンストラクタが例外を投げないクラスであれば
例外安全に pop できるが、テンプレートで実装されているので
C++ である以上仕方ない。
0837デフォルトの名無しさん
2013/11/21(木) 00:22:18.67結局実装によるって事じゃん。
0838デフォルトの名無しさん
2013/11/21(木) 00:30:08.080839デフォルトの名無しさん
2013/11/21(木) 00:41:37.28一個ずつforEachなんてやってたらクソ遅くなってバッファの意味ないぞ
0840デフォルトの名無しさん
2013/11/21(木) 01:00:15.55配列で何か引っかかって考えてたんだけど、streamは、配列で使うよりBufferでラップして、buf.intStream(); buf.forEach();がjavaぽいなと思って。
allocateDirectのときもあるし、配列に読み出すとコピーが発生するし、配列はreadonlyにできないし。
場合によってはIterable, Collectionのように、iterator, spliterator, forEachがBufferに追加された方がバルク処理にはいいかもしれない。
0841デフォルトの名無しさん
2013/11/21(木) 01:07:58.320842デフォルトの名無しさん
2013/11/21(木) 04:29:36.480843デフォルトの名無しさん
2013/11/21(木) 11:36:55.05Javaの常識がプログラミング全般で通用すると思わないでいてくれればそれで
0844デフォルトの名無しさん
2013/11/21(木) 16:10:44.72C++が変態すぎる
0845デフォルトの名無しさん
2013/11/21(木) 21:45:39.87色々経験しとくとおもしろいぞ。
日本語で書くCOBOLとかな
0846デフォルトの名無しさん
2013/11/21(木) 23:03:42.580847デフォルトの名無しさん
2013/11/21(木) 23:16:45.090848デフォルトの名無しさん
2013/11/21(木) 23:26:51.03いや、悪い。
そうだから外部イテレータ使う処理にforEach使っても意味ないぞと>>840に言いたかったんだが安価忘れた。
やるなら無限ストリームにしなきゃ使い道がない。
0849デフォルトの名無しさん
2013/11/21(木) 23:43:45.14streamの設計目的は元々バルク処理の効率化(と多少のメモリアクセスの高速化)がメインじゃなかった?
つまり内部イテレートをしたいからstreamを導入したんじゃなかったか。
lambdaはコンカレントの煩雑コード削除と、アクセスをnew経由からmethodhandle経由に切り替えるのが目的だし、lambda,streamはそのゴールは微妙に違う。
基本型のstreamを考慮しているかどうかは知らないけど、project sumatraを見てると基本型int,float,long,doubleのstreamは必要となってくるんじゃないのかと思うけど。
日本語のブログばかり見て勉強した気になってないで、ちゃんと英語ブログとかjavaoneとかの一次二次資料もみないと、どうやって使うのか、どういうときにつかうのか全然理解できなくなるよ。
0850デフォルトの名無しさん
2013/11/21(木) 23:58:18.00相当に粒度の大きい処理でないと大幅に遅くなるよ
0851デフォルトの名無しさん
2013/11/22(金) 00:01:21.88処理の途中で処理されたものから逐次転送されていって効率的になることが実感できた。
まとめて転送より遥かに早い。
0852デフォルトの名無しさん
2013/11/22(金) 00:04:54.54そういう話なら別にjava8関係ないだろw
0853デフォルトの名無しさん
2013/11/22(金) 00:06:33.68そもそもJavaではメソッドのコールは、hotなものはJITでその環境に最適化されてネイティブ・コンパイルされて、コールのコストは無しを前提(つまりこれを単位元として)として考えます。
0854デフォルトの名無しさん
2013/11/22(金) 00:24:37.85プリミティブ型のstreamによるバルク処理の効率化がどうのとは全く関係ない
そもそもIOバウンドだろうから元々全く別の話だけど
0855デフォルトの名無しさん
2013/11/22(金) 00:27:01.99昔ストリーム指向なんて言葉があってね。そんな限定的な目的で作られたんじゃないんだよストリームは
0856デフォルトの名無しさん
2013/11/22(金) 00:28:40.01現在、JavaでAndroidアプリを開発する研修をうけているのですが、
その中で、HTMLとPHPファイルを端末の方に送信して、
端末側でHTMLとPHPを動かすことを習いました。
そこで思ったのが、
ゲームアプリを開発すると仮定して、
複雑な処理がいらず、画面を表示するだけならHTMLで記述し、
ゲームなど複雑な処理がいる部分はJavaで書き、
サーバーにアクセスする必要のある処理は、PHPで行うという、
言語の使い分けをして、一つのアプリを作るということは、
技術的に可能でしょうか?
それとメリットとかあるのでしょうか?
個人的には、HTMLは比較的短時間で完成するものなので、
全てJavaで行うよりは負担が少ないと考えているのですが、どうでしょうか?
0857デフォルトの名無しさん
2013/11/22(金) 00:38:31.43そりゃ画面がHTMLなら基本的に全てサーバーサイドだよ
アニメーションなどで必要ならJavaScriptを使う
AndroidアプリはWebView貼るだけでJavaはほとんどいらない
最近だとリッチなゲームを作るためにクライアントをUnity(C#)なんかで作ってるのも多いね
その場合はサーバーは画面に関知しないでAPIを提供するだけだよ
0858デフォルトの名無しさん
2013/11/22(金) 00:41:25.52端末でphpを使うの? それなんてフレームワーク?
普通はサーバ側でphpにより動的にhtmlやjsonを生成し、端末へ送る。
0859デフォルトの名無しさん
2013/11/22(金) 00:42:26.04なるべくシンプルにしないとドツボにはまるよ
WebViewのバグも多いし、特にCSS周りをリッチな作りにすると死ねる
CSSアニメーションとかは期待できない
何かのクライアントアプリなら充分いけるけど、ゲームとかを
AndroidのWebViewで作るのは自殺行為
0860デフォルトの名無しさん
2013/11/22(金) 00:42:54.40しかしjavaでいう効率化とは、外部イテレートを使うと一時変数が必要になったり(代表ではfor loopのcounter変数など)、ブロック外に状態を管理したりする変数が必要になったり、メイン処理以外の下準備が必要なことが多くなりますが、
内部イテレートだとそういった状態管理はsqlのように実装任せに出来ます。
例えば>>851だと、メモ化(キャッシュ)によってコードが大幅に簡略化し、ステートフルにも出来て、作業(処理)の効率化がなった(処理コードが分離した)といえます。
これは高速化とは別の効能であり、言語・ライブラリの仕様レベルでこのような効果が簡単にできる仕組みがlambda,streamで行えるということです。
速度を求めるだけならc++でやればいいでしょうが、javaではパフォーマンスは一応考慮してますが、ネイティブでもないですしc++とは目指しているところがまったく違います。
0861デフォルトの名無しさん
2013/11/22(金) 00:45:49.71javaでもfileのmemory mappingできるけど
0862デフォルトの名無しさん
2013/11/22(金) 00:57:55.43レスありがとうございます。
講師の先生は、HTMLとPHPを区別して述べていたので、それに習いました。
そうなると、サーバーにアクセスする必要な処理、例えば、ガチャのようなランダムでキャラクターが出る、
戦闘画面で登場する敵のデータとかをPHPで受け渡して、
そのデータをクライアントに渡して、ガチャを引き当てたり、
決まったステージの敵が出てきたりという処理を行う形になるでしょうか?
Unityも勉強していますが、プログラムがわからないので、
きちんとプログラム勉強してからチャレンジしたいと思い、
まずJavaできちんとしたゲームを作れてから、挑戦したいと思います。
0863デフォルトの名無しさん
2013/11/22(金) 01:03:28.490864デフォルトの名無しさん
2013/11/22(金) 01:07:32.07androidアプリ開発向けのスレが見つからなかったので、
こちらに質問させてもらいました。
どちらに行けばよろしいでしょうか?
0865デフォルトの名無しさん
2013/11/22(金) 01:57:08.02Androidプログラミング質問スレ Part37
http://toro.2ch.net/test/read.cgi/tech/1382430603/
0866デフォルトの名無しさん
2013/11/22(金) 02:05:36.84ありがとうございます。
早速行ってきます。
0867デフォルトの名無しさん
2013/11/22(金) 09:41:53.09for (String hoge : hoges) {
}
みたいな綺麗な書き方ができればいいのですが、添え字を計算しないと
ダメでしょうか?
0868デフォルトの名無しさん
2013/11/22(金) 10:55:02.20http://docs.oracle.com/javase/jp/1.5.0/api/java/util/Collections.html#reverse(java.util.List)
0869デフォルトの名無しさん
2013/11/22(金) 11:10:09.04for (String hoge : hoges) {
}
0870デフォルトの名無しさん
2013/11/22(金) 11:17:13.720871デフォルトの名無しさん
2013/11/22(金) 11:31:53.24順番を上下ひっくり返すだけ
もういっかいやれば元に戻る
0872デフォルトの名無しさん
2013/11/22(金) 11:37:49.160873デフォルトの名無しさん
2013/11/22(金) 18:07:37.630874デフォルトの名無しさん
2013/11/22(金) 19:31:50.63そういうゴチャゴチャしたの以外がないかってことかと
0875デフォルトの名無しさん
2013/11/22(金) 19:51:27.38mkdirsするとエラーになってしまうのってどういう原因があるのでしょうか
0876デフォルトの名無しさん
2013/11/22(金) 19:53:26.260877デフォルトの名無しさん
2013/11/22(金) 19:56:18.500878デフォルトの名無しさん
2013/11/22(金) 20:21:30.70たまになんです
0879デフォルトの名無しさん
2013/11/22(金) 20:29:12.07のタイミングでディレクトリが作成されてるとか
0880デフォルトの名無しさん
2013/11/22(金) 20:31:47.07たまにが、
同じパラメータなのに、たまに起きるのか、
たまに起きるパラメータがあるのか、
によって大きく違うと思う。
0881デフォルトの名無しさん
2013/11/22(金) 20:54:17.83Arrays#copyOfを用いればネイティブな性能でコピーできることを教わったのですが、
例えば、int[]型のインスタンスをdouble[]型になるようにコピーしたり
キャストするような方法は提供されてるのでしょうか?
また、もし無い場合は効率的な方法などがありますでしょうか?
(自分で考えつくのはFor文でコピーしていく程度です・・・)
0882デフォルトの名無しさん
2013/11/22(金) 20:54:45.85そんなはずはないんですよね。
>>880
同じパラメータで連番がつくだけです。
ただ共有フォルダにmkdirしてます。
0883デフォルトの名無しさん
2013/11/22(金) 21:19:02.62ない。そもそもintからdoubleに変換する必要性がわからん。
そのままintを使えばいい。
0884デフォルトの名無しさん
2013/11/22(金) 21:24:29.12それもそうですね。ありがとうございます、設計を見なおしてみます
0885デフォルトの名無しさん
2013/11/22(金) 22:42:51.71JBossは本当に人気があるのか疑問
0886デフォルトの名無しさん
2013/11/22(金) 22:48:38.57なんてエラーメッセージが出てるの?
File (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/io/File.html#mkdir()
File (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/io/File.html#mkdirs()
0887デフォルトの名無しさん
2013/11/22(金) 22:50:34.830888デフォルトの名無しさん
2013/11/22(金) 22:52:37.940889デフォルトの名無しさん
2013/11/22(金) 22:57:13.060890デフォルトの名無しさん
2013/11/22(金) 23:46:52.580891デフォルトの名無しさん
2013/11/23(土) 00:14:47.77金があればベンダーにプレゼンさせろよ
0892デフォルトの名無しさん
2013/11/23(土) 02:03:34.60共有ってネットワーク経由か。そりゃ失敗するかも。
0893デフォルトの名無しさん
2013/11/23(土) 08:18:17.82なぜでしょうか?
遅延とかあるのでしょうか?
0894デフォルトの名無しさん
2013/11/23(土) 08:51:17.79ネットワークが繋がってないとか、サービスがbusyとか、普通にあるでしょう。特にSMBとかひどい。
0895デフォルトの名無しさん
2013/11/23(土) 09:03:18.44対策としてはリトライすればいいでしょうか?
0896デフォルトの名無しさん
2013/11/23(土) 09:04:11.22ByteBufferにバイトオーダ指定してから、intで書いてdoubleで読めばいい。
ダイレクトバッファ使えばさらに高速。
0897デフォルトの名無しさん
2013/11/23(土) 09:32:12.14JNI使ってネイティブコードがダイレクトバッファ触る場合は速くなる可能性高いけど、
Javaからダイレクトバッファ触る場合は速くなる可能性殆ど無いぞ。
0898デフォルトの名無しさん
2013/11/23(土) 09:44:15.31繋がってなかったら、リトライしても同じ。
0899デフォルトの名無しさん
2013/11/23(土) 09:59:16.160900デフォルトの名無しさん
2013/11/23(土) 10:01:40.18なるほど。やはりリトライしか無いのですね。
0901デフォルトの名無しさん
2013/11/23(土) 11:12:26.600902デフォルトの名無しさん
2013/11/23(土) 17:35:54.44アクセス権、容量不足、誰かが同時に書いている、まだ親ディレクトリが無い、
CDROMだった、長すぎるパス、エントリがパンク、コネクタの緩み、
いろいろあるだろ。全部君が確認するんだよ。
mkdirsでなくmkdirで試すとか相対パスなら絶対パスにしてみるとか
0903デフォルトの名無しさん
2013/11/23(土) 17:37:39.85そんなに肩に力入れなくていいからw
0904デフォルトの名無しさん
2013/11/23(土) 18:16:44.55なるほど。やはりリトライしか無いのですね。
0905デフォルトの名無しさん
2013/11/23(土) 21:09:39.760906デフォルトの名無しさん
2013/11/23(土) 22:42:55.470907デフォルトの名無しさん
2013/11/23(土) 22:53:13.420908デフォルトの名無しさん
2013/11/24(日) 02:35:22.83数万件単位のkey-value値を格納して、
リクエスト毎にそれを出し入れするのはナンセンスですか?
key-valueを格納したMapなどを1つ用意して、それを
applicationContextに格納したほうがいいのでしょうか?
0909デフォルトの名無しさん
2013/11/24(日) 02:42:13.10ナンセンスだろ。ServletContextのアトリビュートは多目的だから一つのMapのためだけに使用すべきじゃない。
レス数が900を超えています。1000を超えると表示できなくなるよ。