トップページ⇒tech
1002コメント343KB

Java入門・初心者質問スレ [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/05/12(木) 05:18:33.40ID:nzHoBPh8
Java初心者のためのスレッドです。
0153デフォルトの名無しさん2016/06/17(金) 01:02:49.90ID:YeXpyiC7
>>152
明日相談してみます。お付き合いいただき、ありがとうございました。
0154デフォルトの名無しさん2016/06/17(金) 10:31:29.18ID:TgUNX6A4
JavaのClassについて教えてもらいたいんだけど
「新しいクラスを作成したら、必ずtoString、equals、hasCodeなどをオーバーライドしないといけない」とか読んだ
これってLL言語では見かけないので、良く分からなくて
何か定石とか、定例文のようなものってあるの?
漠然としすぎていてサッパリ分からないんだけど
0155デフォルトの名無しさん2016/06/17(金) 12:11:30.28ID:Jw6Vo/h3
それはそのシステムの特性なのでは
0156デフォルトの名無しさん2016/06/17(金) 12:42:49.53ID:7/Cp3IRC
>>154
必ずではない。ただし作っておけば自分の意図した通りになる。
0157デフォルトの名無しさん2016/06/17(金) 13:08:42.96ID:dxjEzlRD
必ずオーバーライドしなきゃいけないってどんな教えだよ
おまじないよりたち悪いな
0158デフォルトの名無しさん2016/06/17(金) 13:24:24.48ID:CYdk5Mt/
>>154
ちなみにそれはどこで読んだんだ?
0159デフォルトの名無しさん2016/06/17(金) 17:03:56.92ID:TgUNX6A4
スッキリの実践P118
「必ず」とハッキリと書いてある

ってか自分もシステムに依存するとは思うけれど、そうは言われてもあまりにも漠然としすぎてて
基本的にオーバーライドして実装するテンプレートみたいなものがないのかなぁ、と
サンプルでもあれば分かりやすいとは思うんだけど
0160デフォルトの名無しさん2016/06/17(金) 17:54:11.66ID:CYdk5Mt/
そういう悪書はブックオフでいいと思うよ、いやわりとマジで
0161デフォルトの名無しさん2016/06/17(金) 18:10:03.48ID:XNEe7Ys+
いつ、誰に、どのような使われ方をするかわからないから取り合えす、オーバーライドしとけよって書いてあるね
0162デフォルトの名無しさん2016/06/17(金) 18:12:15.82ID:jYlDfS4o
それだけでもうその本は信用できねーな
0163デフォルトの名無しさん2016/06/17(金) 19:47:24.62ID:l8TNEkGu
出版物に書いてあるのかよ(驚愕
どうせコーディング規約だと思ってた
0164デフォルトの名無しさん2016/06/17(金) 20:02:50.16ID:XNEe7Ys+
そのままは書いていないよ。まぁしっかり本を読むことだね〜
0165デフォルトの名無しさん2016/06/18(土) 08:40:28.37ID:8GpUPXrh
Setに入れるのに同一性を保ちたいとかあるからね

EclipseとIntelliJはそれらを自動で作成してくれるコマンドがあるよ
0166デフォルトの名無しさん2016/06/18(土) 14:13:19.66ID:w9zLlF5g
むしろlombokが楽
0167デフォルトの名無しさん2016/06/18(土) 21:56:09.89ID:QKdVDmdU
toString、equals、hasCode
この3つは、Rubyなど、どの言語でも最初に考える

Apache Commons Lang に、Builder がある

EqualsBuilder
HashCodeBuilder
0168デフォルトの名無しさん2016/06/19(日) 11:05:14.00ID:gzsVn/8O
http://qiita.com/fkrw/items/c7492f28559e0e9fc5b2
toString() / equals() / hashCode()のオーバーライドについて

第1部 第4章
classを作成した時は、これらのメソッドをオーバーライドしないと、
コレクションが正しく動作しない場合がある。
~~~~~~~~~~~~~~
↑
一応こういう条件付きで書いてあるようだ。
0169デフォルトの名無しさん2016/06/19(日) 11:20:02.62ID:v9j4Ju2+
無断転載されても逆に面倒くさいしJava言語仕様に書かれてないことを吹聴してるクソ、で結論は出ているだろ
0170デフォルトの名無しさん2016/06/19(日) 12:03:54.21ID:3rB45jJy
ようするにわかりませんてことか。
0171デフォルトの名無しさん2016/06/19(日) 13:40:43.89ID:oY7TlxuV
Rubyでは、一番厳しい等値判定は、オブジェクトIDを使う。
この場合、オブジェクトの内容が同じでも、別のオブジェクトなら非等値になる

オブジェクトをソートに使うのなら、先に、<=> UFO・宇宙船演算子(Comparable)を定義する

ハッシュの等値は、UFO演算子の、= の別名にするか、独自に定義する

3 == 3.0 → ソートでは等しい
3 == 3.0 → ハッシュでは異なる
0172デフォルトの名無しさん2016/06/20(月) 22:14:00.85ID:zVDaZ2+M
eclipseでプログラム完成したんだけど
javaってどれが最終的な実行ファイル?
Windowsでクリック実行するにはバッチみたいのが必要なんでしょうか?
0173デフォルトの名無しさん2016/06/20(月) 22:17:20.00ID:g0Cn2Mhi
.classファイルもしくは.jarファイル
起動するにはjavaコマンドでmainメソッドがあるクラスやらなんやらを指定する
0174デフォルトの名無しさん2016/06/20(月) 22:23:32.32ID:zVDaZ2+M
>>173
有り難うございます
使ったクラス群はビルドされて単体ファイルに含まれてるんでしょうか?
0175デフォルトの名無しさん2016/06/20(月) 22:28:47.48ID:Tybwfjf0
javaのwebアプリを作ろうとしています。
フレームワークのJSTLを使おうとしておりますが、JSTLのインストールを
解説しているサイトではJSTLのサイトから
�@javax.servlet.jsp.jstl-api-1.2.1.jar
�Ajavax.servlet.jsp.jstl-1.2.1.jar
の2種をダウンロードすると記載されています。

�@は難なくダウンロードできたのですが、�Aがどうやっても見つからず
ダウンロードできません。(一覧にあがってこない)
�Aはもう提供されていないのでしょうか。
0176デフォルトの名無しさん2016/06/21(火) 05:06:56.47ID:ZRyqXqGn
スッキリ分かるjava入門を二回読んでみてスッキリしないことがあるので教えてください。
配列とかクラス型の参照型変数はアドレスを参照にしてるから
ブロック外で値を変えても、元の変数も値が変わる
こんな程度の認識しかないんですが大丈夫ですか?今は

それともう一つ
実行環境を整えずにdokojavaでやってたせいか
packageとAPIについての知識が全くつかなかったんですがこの先これで大丈夫でしょうか?
0177デフォルトの名無しさん2016/06/21(火) 07:25:54.45ID:jCImJq08
>>175
取り敢えず上だけいれて使えるか試してみた?
0178デフォルトの名無しさん2016/06/21(火) 08:47:50.93ID:ZRyqXqGn
なんか日本語になってなくてごめん

変数を作るとメモリからアドレスを確保してそこに格納とか
プログラミング入門の段階で教えられても意味が分かりません
この参照型の仕組みを覚えておくと以降の章を読むのが楽になりますって書いてあるけど
全然参照型について理解出来てないけど普通に以降の章は理解できたしよくわかりません。。
0179デフォルトの名無しさん2016/06/21(火) 09:07:55.94ID:oaiM5wE7
とりあえずは

int[] a = {1};
System.out.println(a[0]); //=> 1
{
int[] b = a; b[0] = 10;
}
System.out.println(a[0]); //=> ?

と

int a = 1;
System.out.println(a); //=> 1
{
int b = a; b = 10;
}
System.out.println(a); //=> ?

の実行結果の違いがわかって説明できればOK
0180デフォルトの名無しさん2016/06/21(火) 09:28:50.43ID:rdnhr1yO
横だが>>179みたいのを手軽に試せる対話型のRELPみたいのってないのかな
0181デフォルトの名無しさん2016/06/21(火) 09:50:15.02ID:rdnhr1yO
まさにJAVA RELPってのがあったんだな
スレ汚しすまそ
0182デフォルトの名無しさん2016/06/21(火) 12:40:07.51ID:ZRyqXqGn
>>179
レスありがとうございます。
上は配列aの要素数0に1を投入してその後にb配列にaを代入してるから
ab両方とも同じアドレスを参照するようになってbに値を入れてもaも同じアドレを見てるから
実行結果は10になって
下はただの変数だからbにaを代入してもaは1のままで実行結果は1
でこんなんですが大丈夫ですか?今の段階では
0183デフォルトの名無しさん2016/06/21(火) 12:50:54.05ID:F8rFyF6H
今の段階ではJavaREPLを使うのが手っ取り早いだろうな
EarlyAccessでよければJava9でjshellが実行できる
0184デフォルトの名無しさん2016/06/21(火) 19:06:28.13ID:SKnRlXlV
>>182
Javaの場合はJavaのバーチャルマシンがメモリのアドレスを管理している。

読んでいる本がJavaの参照型をアドレスと言っているなら、その本はよくない。

Javaプログラムは実際のメインメモリのアドレスを意識しないし、通常、直接アドレスを扱ったりしない。

同じ領域を参照しているか、していないかだけ考えた方がいい。
0185デフォルトの名無しさん2016/06/21(火) 22:11:55.71ID:jb5TwFgE
>>177
レスありがとうございます。
はい、
C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\web\WEB-INF\lib
に格納して試しましたが、動作しませんでした。
入れるところが間違っているのでしょうか。
コードを実行すると、以下のメッセージが表示されます。
「C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\build\generated\src\org\apache\jsp\response_jsp.java:124: エラー: パッケージorg.apache.taglibs.standard.tag.rt.sqlは存在しません」
0186デフォルトの名無しさん2016/06/21(火) 22:23:04.45ID:F8M3kR9Z
Java歴6日目の者です。
次の2つのクラスを作りましたが実行できません。どこが悪いのでしょうか?
Calc.java:
public class Calc {
 public static int add(int x, int y) {
  return x + y;
 }
}
Main.java:
public class Main {
 public static void main(String[] args) {
  Calc c = new Calc();
  System.out.println(c.add(10, 5);
 }
}
0187デフォルトの名無しさん2016/06/21(火) 22:24:53.94ID:91LhrXVC
さいごかっこなくね
てかエラー嫁
それでわからなかったらエラーもはっとけ
0188デフォルトの名無しさん2016/06/21(火) 22:27:02.55ID:p8YkQE1T
printlnの行に)が足りないが
それが原因かは分からん
0189デフォルトの名無しさん2016/06/21(火) 22:28:40.86ID:F8M3kR9Z
System.out.println(c.add(10, 5));
こうですね。ありがとうございます。
0190デフォルトの名無しさん2016/06/21(火) 22:30:44.97ID:F8M3kR9Z
動きました!が、c.add(10, 5)に黄色い波線が出ています。
eclipseなのでコンパイルエラーとかは出てきません。
自動ビルドのようです。
0191デフォルトの名無しさん2016/06/21(火) 22:31:02.43ID:rdnhr1yO
System.out.println(c.add(10, 5));にすればちゃんと15が出力されるよ
0192デフォルトの名無しさん2016/06/21(火) 22:34:18.86ID:F8M3kR9Z
自己解決しました。
まだ意味は分からないのですが、
public static int add(int x, int y){}
が間違いで、
public int add(int x, int y){}
が正しいようです。
0193デフォルトの名無しさん2016/06/21(火) 22:46:02.71ID:p8YkQE1T
newでインスタンス化する場合はstaticをつけない
逆にstaticを付けたんなら
newせずに呼び出す

int i = calc.add(10,5)
staticならこれでok
0194デフォルトの名無しさん2016/06/21(火) 22:48:42.66ID:F8M3kR9Z
エラーではなくウォーニングでした。
型Calcからのstaticメソッドadd(int, int)にはstaticにアクセスする必要があります
だそうです。
0195デフォルトの名無しさん2016/06/21(火) 22:50:25.36ID:F8M3kR9Z
>>193
ありがとうございます。
今自分でその法則を見つけたところでした!本には書いてなかったことです。
糞本ですね。
0196デフォルトの名無しさん2016/06/21(火) 22:56:06.36ID:p8YkQE1T
>>195
staticだとnewで複製出来ない
つまり静的と覚えるといいとかなんとか
0197デフォルトの名無しさん2016/06/21(火) 22:58:31.01ID:F8M3kR9Z
Cで言えばnewはmalloc()で「動的」に生成するのに似ていますね。
メソッドは持てませんが。
static(性的)↔dynamicとは書かかないがnewしたものは「動的」
0198デフォルトの名無しさん2016/06/21(火) 23:00:30.41ID:F8M3kR9Z
publicをどうしてもpubic([形]恥部の)と打ってしまいます。
0199デフォルトの名無しさん2016/06/21(火) 23:55:50.40ID:ZRyqXqGn
>>184
多分有名な本なので自分の読み取り方がおかしいと思います
クラス型変数と配列型は同じ参照型ってとこだけはしっかり覚えてるんですが・・・
ま田読み直してみます。ありがとうございました
0200デフォルトの名無しさん2016/06/22(水) 00:29:49.02ID:22itTy2z
すみませんJavaを始めたばかりなんですが、JavaでVRAMに直接
数値をぶち込みたいときは何というAPI?を使えばいいのでしょうか?
OSはWindows10です。
0201デフォルトの名無しさん2016/06/22(水) 01:12:00.02ID:JttLZ32V
>>200
それってDirect Xじゃない?

Javaではそういうことを標準ライブラリで定義してないと思う。
0202デフォルトの名無しさん2016/06/22(水) 01:14:15.59ID:JttLZ32V
>>199
アドレスでもいいけど、詳しい先輩に馬鹿にされるかもしれないから、アドレスとは言わない方がいい。

C言語やC++ならアドレスでいいんだけど。
0203デフォルトの名無しさん2016/06/22(水) 01:15:22.20ID:JttLZ32V
初心者はJavaの資格本を見て勉強した方がいいよ。

よく説明してくれている。
0204デフォルトの名無しさん2016/06/22(水) 04:50:59.05ID:jdKVcriH
>>176
初心者にとって、自分のPCに、実行環境を整えるのは難しいから、
paiza.IO, codepad など、オンラインでブラウザから実行するのが簡単

君が、packageを配布するのは、数年先の話

>>185
プロジェクト以下の階層の説明書を読む

よく知らないけど普通、そういう基本的なライブラリを、プロジェクト以下の階層には置かない

プロジェクト内で使うライブラリには、参照設定もいるかも
0205デフォルトの名無しさん2016/06/22(水) 05:52:02.09ID:B8zHiD7N
>>201
ありがとう。DirectX自体知らなかったので調べてみたらC++で使うものの
ようですね。言語選択間違えたかな・・・
やりたいことはVRAMに直接描画orバッファに描画して一気に画面に転送です。
0206デフォルトの名無しさん2016/06/22(水) 05:58:38.08ID:B8zHiD7N
setRGB(int x, int y, int rgb)をもっともと早くしたものがほしいです。
0207デフォルトの名無しさん2016/06/22(水) 09:13:21.47ID:Tgnq0neu
>>192
間違いではないのだが普通はそうしないということだよ。
間違いではないからコンパイルも通るし動きもする。
0208デフォルトの名無しさん2016/06/22(水) 09:36:07.90ID:sEqYA8cS
>>200
出来ることと出来ないことを峻別して僕らを守ってくれる
それが Java
スピードを徹底追求したりデバイスに近い操作やりたいなら
C/C++
0209デフォルトの名無しさん2016/06/22(水) 09:42:38.46ID:J9iAud+O
>>205
標準ライブラリじゃないけどJava OpenGLあたりのこと言ってる?
0210デフォルトの名無しさん2016/06/22(水) 22:53:15.11ID:T2xlVJrg
>>209
それも気になっています。
やりたいことは
https://www.youtube.com/watch?v=PbwaFQ2r2c4
こんなかんじのCGです。
0211デフォルトの名無しさん2016/06/22(水) 23:04:15.84ID:JttLZ32V
>>210
それをやるのにVRAMに直接書かなきゃいけないの?

しかもリアルタイムなの?動画なの?
0212デフォルトの名無しさん2016/06/23(木) 00:50:16.13ID:DiuUSWJF
俺の部署VB.net しか使わないせいで俺以外にオブジェクト思考のこと理解してるやついないんだけど、
Javaベースで実用的な例(Iwalkableをimplementsした抽象Animalクラスとかでなく)を使ってポリモーフィズムやインターフェースを解説してる書籍って何があるかな?
自分一人で例を考えてみてもDBアクセス用クラスとか画面遷移とかstaticユーティリティ多用したものがすでにあるから説明しても使ってくれないんだよな
0213デフォルトの名無しさん2016/06/23(木) 00:51:38.88ID:DiuUSWJF
オブジェクト思考とか誤変換してる時点で俺ももうダメだわ
0214デフォルトの名無しさん2016/06/23(木) 01:00:06.51ID:SCzPIfsN
>>212
その現場はオブジェクト指向プログラミングでなくてもいいからでは?

しかもVB.NETてオブジェクト指向を教えている本はたくさんあるだろ。
0215デフォルトの名無しさん2016/06/23(木) 08:36:36.22ID:7w307aVI
VB.NETはVBやExcelVBAからの乗り換えとして機能してるだけでいい加減C#に切り換えた方がいい
つまりVBとC#の相互乗り入れという話になるはずだが、ここはJavaスレだしな
0216デフォルトの名無しさん2016/06/23(木) 10:51:24.35ID:4K0I2xez
訂正箇所が分かりません。
ソースは、intのa+bを二つ戻り値なしと戻り値あり+String戻り値ありをコマンドラインに出力するソースです

一つ目のmainメソッドはコマンドラインに出力されるんだけどそれ以降のmain2とStringが出力されないんです。
どこがミスってるのかわからない。eclipsの方でデバッグしても普通に一つ目のmainメソッドが出力されちゃう。

ソースはここに貼っといたんで、訂正箇所のほうよろしくお願いします。
http://ideone.com/nrawAN
0217デフォルトの名無しさん2016/06/23(木) 11:28:24.27ID:7w307aVI
また宿題の相談か、昼食おごりなら代行してもいいよ
0218デフォルトの名無しさん2016/06/23(木) 11:31:50.37ID:ZQfpp6dv
>>216
関数とはなんぞや をもう一度見直す
上から下に並べればその順序で実行 ではない
0219デフォルトの名無しさん2016/06/23(木) 11:33:58.24ID:5cLPR00R
mainの中にmainときたもんだ
コピペミスか?
0220デフォルトの名無しさん2016/06/23(木) 12:07:01.82ID:wbzhkfll
main
mainmain
mainmainmain

mainsubmain
mainsubsub

前の業務で見たことあるけど
思わず噴いたわ
やっつけかよ
0221デフォルトの名無しさん2016/06/23(木) 12:17:21.21ID:evOVUb3R
貼っといたんでワロタwww
0222デフォルトの名無しさん2016/06/23(木) 12:48:09.36ID:x8Tq2OJc
関数が実行されないなら、関数を呼び出す

関数の中身を書くのは、関数宣言・定義と言って、ただ処理を書くだけ。
その後、書いた関数を呼び出さないと、実行されない
0223デフォルトの名無しさん2016/06/23(木) 14:36:18.17ID:2TDqU1Ps
プログラムに軽量なデータベースを組み込む事って可能ですか?
可能だとしたら何を使うのが一般的でしょうか?
0224デフォルトの名無しさん2016/06/23(木) 14:46:13.43ID:evOVUb3R
何も条件が無いならsqliteでいいんじゃない?
0225デフォルトの名無しさん2016/06/23(木) 14:50:55.79ID:2TDqU1Ps
>>224
単語は聞いた事あるので調べてみます
有り難う御座いました
0226デフォルトの名無しさん2016/06/23(木) 16:30:09.42ID:SCzPIfsN
>>223
JavaならJavaのRDBを使えば?

OracleXEだって重くもないそ。
0227デフォルトの名無しさん2016/06/23(木) 16:42:06.78ID:2TDqU1Ps
>>226
javaで書かれてるという事でしょうか
相性はとても良さそうですね
調べたらandroidでSQLiteが標準実装されてるようなので取り敢えずこっちを弄ってみようと思います
レス有り難うございました
0228デフォルトの名無しさん2016/06/23(木) 16:57:30.83ID:SCzPIfsN
AndroidならAndroidと言えよ。
0229デフォルトの名無しさん2016/06/23(木) 17:12:24.56ID:2TDqU1Ps
>>228
すみません、特に今のところandroid限定という訳でもないのです
全く使った事が無いので解らないんですがdbを組み込んだ場合、実行環境の方に特定のライブラリみたいな物をあらかじめ用意しておく必要があるんでしょうか?
もしくはそれに相当するものをアプリケーションと一緒に配付する感じですか?
0230デフォルトの名無しさん2016/06/23(木) 17:52:32.38ID:SCzPIfsN
>>229
SQLiteなら一緒に配布するだけだろうけど、DBってRDBMSだぞ。

ミドルウェアなんだからそれなりの準備は必要。
0231デフォルトの名無しさん2016/06/23(木) 18:13:38.09ID:g0w8fquD
まあAndroidで軽量なDBって要件だとほぼSQLiteでいいよ
SQLは覚えなきゃだけど、応用効くしな
開発機でも直接DBの中身見たりいじくるツールは揃ってるし
0232デフォルトの名無しさん2016/06/23(木) 18:25:57.13ID:2TDqU1Ps
>>230、231
漠然とした質問ですみませんでした
是非使えるようになりたいので勉強してみます
0233デフォルトの名無しさん2016/06/24(金) 08:24:45.41ID:CgW3+xL8
最近javaを触り始めようとしているものです。4個ほど質問があります。

将来的に ユーザー管理を最低限備えたかなりずっしりとしたアプリケーションを作成するのが目的で 値を共有をするためのアクセスカウンターを制作しようと考えているのですが、(1)増やしたカウンターを保持しておくためにはどういった方法があるのでしょうか。

知り合い伝にその関係で働いているそれなりの腕の人間だという方を紹介して頂きました。
その方からapache-tomcatやantといったアプリケーションを強く進められたのですが、そもそも(2)tomcatとは一体なんなんでしょうか。
説明サイトを何個かみたのですが その概要が一切伝わって来ないため、困っています。
触ってみたところ、tomcatというサーバーがあり、そこからantによってビルド、デプロイされたアプリケーションをサーバー内の一つのエリアとして保持し、そのtomcat上のアプリで変数やインスタンスが共有化できるんでしょうかね

その方が過去にそれらを使用し作成したサンプルにと用意していただいたソースを拝見したのですが、SQLサーバーといった物は一切使用せずに変数を共有しているようでした。
こういった作りの場合サーバーが停止した場合、そのデータは何処へ行ってしまうのか凄い不安なのですが、(3)サーバー停止時にもどこかしらに保持されるものなんでしょうか

その人曰く”大小問わず javaではこういう管理が普通”だと。私は今まで そういったデータを管理する際には必ずDBのサーバーやセーブデータと言った形で値を共有していたのですごく困惑しています。
本人に直接聞きたい所ではありますが、その方が理解せずに色々な話をしているように見えたので あまり突っ込んだ話は聞かなかったのですが (4)そういったアプリケーションの作り方が本当にjavaでは普通なのでしょうか。

長い上に”そんな事知るか”と一蹴されそうな内容で本当にすみませんが、一ヶ月程悩んでも答えが出なかったので 質問させて頂きました。
本質的な質問は最初の一つ(1)の部分ですが、分かる方がいましたら2-4の方もよろしくおねがいします。
0234デフォルトの名無しさん2016/06/24(金) 08:36:50.03ID:6jwsLRlP
いきなり会場に連れてかれてフライパンとかオラクルとか買わされそうになった、という話じゃないのか
つまらん
0235デフォルトの名無しさん2016/06/24(金) 09:10:14.11ID:JRbt+Ea2
>>233
トムキャットはアプリケーションサーバですが、JavaのWebアプリケーションを動かすミドルウェアだと思ってください。
0236デフォルトの名無しさん2016/06/24(金) 09:12:32.79ID:JRbt+Ea2
>>233
その方はサーバ(ノード)が突然、落ちることを想定していないのでしょう。

少しおかしいと思います。

プログラマとしては優秀でもシステム全体を考えて作っている人は残念ながら少ないです。
0237デフォルトの名無しさん2016/06/24(金) 12:07:29.96ID:xEd+6tYG
1. カウンターだけなら、ファイルに保存しても良いだろ

2. tomcatは、Webサーバー。
ブラウザから、http:〜 で、そのサーバーにアクセスしたら、HTMLを返送してくれる。
そのHTMLをブラウザが解析して、ウェブサイトを表示する

3. サーバー内のファイルに保存してもいいけど、
ちょくちょくコピーした方が、安全。
これは、DBでも同じ

4. DBの代わりに、ファイルに保存するのは、システムが簡単な場合だろう
02382372016/06/24(金) 12:14:37.35ID:xEd+6tYG
2. スマン。tomcatは、アプリケーションサーバーだったな

ブラウザから、http:〜 で、そのサーバーにアクセスしたら、
プログラム・DBなどを使って、その場で動的に、HTMLを作る

そして、作ったHTMLを返送してくれる。
そのHTMLをブラウザが解析して、ウェブサイトを表示する
0239デフォルトの名無しさん2016/06/24(金) 14:01:11.67ID:86U5TWsJ
>>238
tomcatはWebサーバーだよ。

アプリケーションサーバーも正確には、Webアプリケーションサーバーだから。
0240デフォルトの名無しさん2016/06/25(土) 06:01:33.41ID:hfQpWsI3
Tom yum goong はタイ料理だよ
0241デフォルトの名無しさん2016/06/25(土) 08:31:47.78ID:1mvum4Vz
>>235-236 さん
なるほど・・・apacheのJAVA対応版のようなイメージでしょうか。
システム全体を考えずに作られたソフトを使う方は大変ですよね

>>237-238 さん
ファイルに保存するのって苦手なんですよね、アクセス制限やらパーミッション、ディレクトリの変更諸々に対応するとなると
DB作った方が早いし簡単ですし。テキスト等でやってる皆さんはその辺どう対応してるのかちょっと気になります。
サーバーサイドでhttp等のスキームからJAVAを動かすためのサーバーなんでしょうかね?もう少し深く触ってみようと思います。

進むべき指針が何となくですが見えてきました。お二方とも返信有難うございました。
0242デフォルトの名無しさん2016/06/25(土) 11:45:06.35ID:Iz7M/0Yc
c++の#includeとJavaのimportはどう違うのですか?
0243デフォルトの名無しさん2016/06/25(土) 14:27:40.03ID:4ZuZDTqb
よく知らないので、勘で書くけど、

C/C++の#includeは、コンパイル前のプリプロセッサの段階で、
ファイルのその部分に、丸々テキストをコピーする。
その後、構文解析

Javaのimportは、使わないものは読み込まれないなど、もっと効率的
0244デフォルトの名無しさん2016/06/25(土) 15:39:46.77ID:IvMm/ZRW
int a = 0
hoge(a);

public void hoge(int a){
if (a<10){
try{Thread.sleep(1000);}catch(Exeption e){}
System.out.println(a);
a++;
hoge(a);
}
}

このような感じで1秒ごとに処理させたいんだけど、最初にスリープして一気に処理されるのはなんでですか?
0245デフォルトの名無しさん2016/06/25(土) 15:43:10.09ID:pUavjWt/
>>243
Javaのimport分はこれ使いますと宣言しているだけ。
0246デフォルトの名無しさん2016/06/25(土) 17:33:40.55ID:nVk9lY4N
>>244
普通に動くじゃん、これで何が問題なの?
http://ideone.com/0XvyI7
0247デフォルトの名無しさん2016/06/25(土) 17:48:52.18ID:G/RgSGXS
恐らくメインスレッドをスリープさせたく無いんじゃないだろうか
別スレッド使って周期処理してくれるTimerクラスってのを調べてみれば?
0248デフォルトの名無しさん2016/06/25(土) 17:55:41.62ID:zHxwfVvt
別にimportなしでもフルパスで使えるしな
0249デフォルトの名無しさん2016/06/25(土) 19:01:13.48ID:Iz7M/0Yc
スッキリJavaを読んでもオブジェクト指向が理解できない俺はバカですか?
0250デフォルトの名無しさん2016/06/25(土) 19:14:58.15ID:pUavjWt/
>>249
スッキリさせたいのならオナニー
0251デフォルトの名無しさん2016/06/25(土) 19:17:16.89ID:G/RgSGXS
オブジェクト指向は理解するものじゃない
利用するもの

プログラミングの基本手法を形式化しただけで大した意味はない
0252デフォルトの名無しさん2016/06/25(土) 19:29:20.72ID:pUavjWt/
>>249
そもそも構造化プログラミングは分かってるの?
■ このスレッドは過去ログ倉庫に格納されています