プログラミング言語Javaに関する質問スレです。
JavaScript, 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() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド182★★
https://mevius.5ch.net/test/read.cgi/tech/1542595026/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
★★Java質問・相談スレッド183★★
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7f9f-FhGp)
2020/05/06(水) 22:12:08.99ID:q8N1X/Ij0686デフォルトの名無しさん (ワッチョイ 3b9c-mZtP)
2021/03/11(木) 14:57:46.49ID:WbnbUiBg0 ずいぶん昔だよねー
読んだことある気がする!
読んだことある気がする!
687デフォルトの名無しさん (ワッチョイ fb5f-R8lj)
2021/03/11(木) 15:04:05.86ID:UhH3pQhX0 ドラクエのRDBMSが高級商用製品なのも知られていない。
688683 (ワッチョイ 6b2c-5a1m)
2021/03/11(木) 15:46:48.19ID:EP88fPM90 RDBMS は、よく覚えていないけど、こういうやつだったかな?
Cassandraは、OSS の分散DB
Kyoto Tycoon は、GPL V3 / LGPL。
Kyoto Cabinetは、GNU一般公衆利用許諾に基づいて利用許諾されたフリーソフトウェアです
Cassandraは、OSS の分散DB
Kyoto Tycoon は、GPL V3 / LGPL。
Kyoto Cabinetは、GNU一般公衆利用許諾に基づいて利用許諾されたフリーソフトウェアです
689デフォルトの名無しさん (ワッチョイ fb5f-R8lj)
2021/03/11(木) 17:03:54.44ID:UhH3pQhX0 守秘義務違反
690デフォルトの名無しさん (ワッチョイ d2ba-xjD7)
2021/03/13(土) 18:02:37.92ID:6BKchtYI0 サイトにある画像を自動で保存するクローラみたいなものを作ろうとしてるのですが、
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
のエラーが出ていて、調べたのですが何を最初に解決しなければいけないのか教えていただければと思います。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
のエラーが出ていて、調べたのですが何を最初に解決しなければいけないのか教えていただければと思います。
691デフォルトの名無しさん (ワッチョイ 4689-R6RZ)
2021/03/13(土) 18:07:24.97ID:zRCYlte/0 ESP希望か
692デフォルトの名無しさん (ワッチョイ 0601-pgwD)
2021/03/13(土) 20:20:54.71ID:5su42aEd0693デフォルトの名無しさん (ワッチョイ d2ba-xjD7)
2021/03/13(土) 21:56:40.77ID:6BKchtYI0694デフォルトの名無しさん (ワッチョイ 4689-R6RZ)
2021/03/13(土) 22:17:54.17ID:zRCYlte/0 ggrks(後出し)
695デフォルトの名無しさん (ワッチョイ 692c-3kAG)
2021/03/14(日) 05:24:50.44ID:IL1Rx7pe0 wget で、サイトのリソースも含めて、丸ごとダウンロードできるのでは?
ひょっとしたら、curl でも出来るのかな?
Ruby ではRails とか、Nokogiri, Selenium Webdriver などでスクレイピングして、
a タグを抜き出すとか
ひょっとしたら、curl でも出来るのかな?
Ruby ではRails とか、Nokogiri, Selenium Webdriver などでスクレイピングして、
a タグを抜き出すとか
696デフォルトの名無しさん (ワッチョイ 0207-pjrT)
2021/03/14(日) 06:56:16.15ID:btOQNnrQ0 できるけど robot.txt の存在には気を付けてね
一歩間違えれば攻撃になっていまうから
一歩間違えれば攻撃になっていまうから
697デフォルトの名無しさん (ワッチョイ 4689-R6RZ)
2021/03/14(日) 11:00:05.88ID:5cMH1VZO0 怪しい事やってんだろ、自覚があるかどうかは知らんが
698デフォルトの名無しさん (オッペケ Sr91-4ch0)
2021/03/14(日) 11:19:34.50ID:BNc+xu8pr 別スレでdata-*属性に書かれている画像がwgetでダウンロードできなくて困ってる人いたな
HTML5ではありふれた状況だしwgetで正規表現による属性追加くらい標準機能で受け入れてくれてもいいのにと思ったわ
HTML5ではありふれた状況だしwgetで正規表現による属性追加くらい標準機能で受け入れてくれてもいいのにと思ったわ
699デフォルトの名無しさん (ワッチョイ 692c-3kAG)
2021/03/14(日) 12:46:13.81ID:IL1Rx7pe0 data-* 属性の使い方は、各ユーザーが決めるものだから、使い方を予測できない
例えば、5ch では各投稿に、投稿番号・ID などの、3つのdata-* 属性を使っている
<div class="post" id="692" data-date="NG" data-userid="ID:5su42aEd0" data-id="692">
例えば、5ch では各投稿に、投稿番号・ID などの、3つのdata-* 属性を使っている
<div class="post" id="692" data-date="NG" data-userid="ID:5su42aEd0" data-id="692">
700デフォルトの名無しさん (ワッチョイ e559-4ch0)
2021/03/14(日) 23:13:29.77ID:RhoQSMwe0 予測できない多目的属性だからこそ、用途を知っている可能性があるコマンド利用者が指定できればいいのにという話なんだが…
いつものRubyおじさんかな
いつものRubyおじさんかな
701デフォルトの名無しさん (ワッチョイ c201-Ruah)
2021/03/15(月) 00:10:06.44ID:W4mhVG7e0 >>698
あれは画像はダウンロードできてるけどdata属性に書かれてる絶対パスを相対パスに変換してくれないから
JSで処理してるリンクをクリックしてもオフラインだと動かないという話だったかと
正規表現使った簡単な置換コマンド1つで処理できる内容なのでwgetで指定できる必要性はないと思う
仮にdata属性に指定された画像がダウンロードできてないという話だったとしても
grepしてwgetするコマンド1つ書けばいいだけなのでは?
あれは画像はダウンロードできてるけどdata属性に書かれてる絶対パスを相対パスに変換してくれないから
JSで処理してるリンクをクリックしてもオフラインだと動かないという話だったかと
正規表現使った簡単な置換コマンド1つで処理できる内容なのでwgetで指定できる必要性はないと思う
仮にdata属性に指定された画像がダウンロードできてないという話だったとしても
grepしてwgetするコマンド1つ書けばいいだけなのでは?
702デフォルトの名無しさん (オッペケ Sr91-4ch0)
2021/03/15(月) 02:33:53.76ID:1qxK5Hvcr >>701
別スレの話でモメてもしょうがないので回答だけ
ダウンロードできてるというのは全部回答者の憶測だったよ
wgetしてgrepしてwgetシーンが時々あるならツール自身がやってくれた方がいいと思ったんだよね
別にそのオプションがないから糞だとか言うつもりはない
別スレの話でモメてもしょうがないので回答だけ
ダウンロードできてるというのは全部回答者の憶測だったよ
wgetしてgrepしてwgetシーンが時々あるならツール自身がやってくれた方がいいと思ったんだよね
別にそのオプションがないから糞だとか言うつもりはない
703デフォルトの名無しさん (オッペケ Sr91-4ch0)
2021/03/15(月) 02:41:03.52ID:1qxK5Hvcr >>702
誤字
wgetしてgrepしてwgetする、だった
あとwgetの仕様を見たら既知の属性しか処理対象じゃなかったんだよね
んでオレオレ属性に対応するパッチを書いてる人もいたので、今やdata-*も広く使われてるんだし公式でとっとと取り込めばいいのにと思ったわけよ
誤字
wgetしてgrepしてwgetする、だった
あとwgetの仕様を見たら既知の属性しか処理対象じゃなかったんだよね
んでオレオレ属性に対応するパッチを書いてる人もいたので、今やdata-*も広く使われてるんだし公式でとっとと取り込めばいいのにと思ったわけよ
704デフォルトの名無しさん (ワッチョイ 53f0-zgiT)
2021/03/20(土) 16:56:48.35ID:Wp3MfYRr0 初見
大量のPDFを一括処理しようと思ってる。
やりたいことは、PDFをAcrobatで開いた時の「文書のプロパティ」の「レイアウトと倍率」の各項目を所望の状態にしたい。それを一括大量に。
Javaのライブラリでそんな事ができるのってある?
大量のPDFを一括処理しようと思ってる。
やりたいことは、PDFをAcrobatで開いた時の「文書のプロパティ」の「レイアウトと倍率」の各項目を所望の状態にしたい。それを一括大量に。
Javaのライブラリでそんな事ができるのってある?
705デフォルトの名無しさん (ワッチョイ fb01-qYeW)
2021/03/20(土) 17:12:34.24ID:ct9wvzVp0706デフォルトの名無しさん (ワッチョイ 53f0-zgiT)
2021/03/20(土) 18:37:44.87ID:Wp3MfYRr0 >>705
サンクス
サンクス
707デフォルトの名無しさん (アウアウウー Sae9-iavC)
2021/04/05(月) 00:17:31.28ID:1w8DpgCTa >>232
あ、これコンパイルでもなく、ランタイムでもない変なエラーね。対応してませんみたいなやつ。
eclipseのバージョン2019年頃のなら普通に Swingできました。
どうしてもあかんときは、コマンドラインで javac, javaして動かしたら行けるはずです。
あ、これコンパイルでもなく、ランタイムでもない変なエラーね。対応してませんみたいなやつ。
eclipseのバージョン2019年頃のなら普通に Swingできました。
どうしてもあかんときは、コマンドラインで javac, javaして動かしたら行けるはずです。
708デフォルトの名無しさん (ワッチョイ a348-ql7i)
2021/04/05(月) 13:47:55.56ID:MaoiVFnr0 javaに参照渡しはないと思ってたのですが以下のコードをみるとfは参照渡しに見えます
コンパイラの最適化とかでインライン展開でもされるのでしょうか
class T{
public int a;
public T(int v){
a=v;
}
}
public class HelloWorld {
public static T f(T a){
a.a = 7;
return a;
}
public static void main(String[] args) throws Exception {
// Your code here!
T a = new T(10);
T b = new T(10);
T c = f(a);
T d = a;
System.out.println(a.a);
System.out.println(b.a);
System.out.println(c.a);
System.out.println(d.a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
コンパイラの最適化とかでインライン展開でもされるのでしょうか
class T{
public int a;
public T(int v){
a=v;
}
}
public class HelloWorld {
public static T f(T a){
a.a = 7;
return a;
}
public static void main(String[] args) throws Exception {
// Your code here!
T a = new T(10);
T b = new T(10);
T c = f(a);
T d = a;
System.out.println(a.a);
System.out.println(b.a);
System.out.println(c.a);
System.out.println(d.a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
709708 (ワッチョイ a348-ql7i)
2021/04/05(月) 13:50:36.82ID:MaoiVFnr0 上のコードの実行結果
7
10
7
7
T@6d06d69c
T@7852e922
T@6d06d69c
T@6d06d69c
cは参照アドレスが異なる者と思っていました
fの引数の箇所とreturn aの箇所でそれぞれ参照の値渡し用のコピーが作られると思っていたのですが
違うのでしょうか
7
10
7
7
T@6d06d69c
T@7852e922
T@6d06d69c
T@6d06d69c
cは参照アドレスが異なる者と思っていました
fの引数の箇所とreturn aの箇所でそれぞれ参照の値渡し用のコピーが作られると思っていたのですが
違うのでしょうか
710デフォルトの名無しさん (ブーイモ MM79-q8jO)
2021/04/05(月) 14:27:37.33ID:7MHi1+fTM どこでそんな知識を…
むしろ、プリミティブ型以外は全て参照渡しだよ
むしろ、プリミティブ型以外は全て参照渡しだよ
711デフォルトの名無しさん (アウアウウー Sae9-hrCD)
2021/04/05(月) 14:35:13.55ID:8inEG4bOa 参照渡しと言い切ると齟齬がある
fの中でaに再代入した場合呼び元のオブジェクトには波及しないから
fの中でaに再代入した場合呼び元のオブジェクトには波及しないから
712デフォルトの名無しさん (ワッチョイ e3f0-1em5)
2021/04/05(月) 15:11:57.74ID:yRGvsIRm0 >>708
wikipediaの「引数」の項目みれば? たぶん「参照渡し」を勘違いしてるだけかと。
wikipediaの「引数」の項目みれば? たぶん「参照渡し」を勘違いしてるだけかと。
713デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
2021/04/05(月) 19:31:09.38ID:V741/wtv0 ときどき出てくる参照渡しを勘違いしている人ってなんなんだろ?
C言語しか知らないのかな?
C言語のポインタ引数のことを参照渡しだと思ってそう
C言語のポインタ引数は値渡しだよ
ていうかC言語とJavaは値渡ししかない
C++かC#をやると参照渡しがなんなのか分かるよ
C言語とJavaをやってるだけでは参照渡しは理解できない(だって参照渡し出てこないもん)
C言語しか知らないのかな?
C言語のポインタ引数のことを参照渡しだと思ってそう
C言語のポインタ引数は値渡しだよ
ていうかC言語とJavaは値渡ししかない
C++かC#をやると参照渡しがなんなのか分かるよ
C言語とJavaをやってるだけでは参照渡しは理解できない(だって参照渡し出てこないもん)
714デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
2021/04/05(月) 19:36:15.68ID:V741/wtv0 いったいどこで「参照渡し」なんて言葉覚えてくるんだろ
Javaにはそんな言語機能ないのにさ
Javaにはそんな言語機能ないのにさ
715デフォルトの名無しさん (ワッチョイ 552c-s+Uo)
2021/04/05(月) 20:51:13.92ID:2g7RifS+0 C では変数は、値を入れる箱だけど、
他の言語では、変数は名付け・ラベル
箱に入れるようなイメージをしてると、参照のコピーで苦しむ。
immutable・変更不能なのは、Primitive 型だけ
それ以外は、deep copy していく際、
再帰的に、Primitiveに突き当たるまで、実体がコピーできないので、
参照のリンクを断つのに苦労する
他の言語では、変数は名付け・ラベル
箱に入れるようなイメージをしてると、参照のコピーで苦しむ。
immutable・変更不能なのは、Primitive 型だけ
それ以外は、deep copy していく際、
再帰的に、Primitiveに突き当たるまで、実体がコピーできないので、
参照のリンクを断つのに苦労する
716デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
2021/04/05(月) 20:57:44.08ID:V741/wtv0 C言語とJavaは同じだと思うけどなー
C言語のポインタ変数=Javaのオブジェクト変数(参照型)だよ
C言語のポインタ変数=Javaのオブジェクト変数(参照型)だよ
717デフォルトの名無しさん (ワッチョイ 15f6-s+Uo)
2021/04/05(月) 21:42:04.48ID:H5o31n3E0 このソースの結果がなんでこうなるのかわかりません。
言語仕様を理解していれば説明できるといわれました。
なんでこうなるのでしょうか?
public class Main {
public static void main(String[] args) throws Exception {
Integer int050a = 050; Integer int050b = 050;
Integer int100a = 100; Integer int100b = 100;
Integer int150a = 150; Integer int150b = 150;
Class<?> clazz = Integer.class;
Field field = clazz.getDeclaredField("value");
field.setAccessible(true);
field.setInt(int050a, 050 + 1);
field.setInt(int100a, 100 + 1);
field.setInt(int150a, 150 + 1);
System.out.printf("int050=%d,%d(%b)\n", int050a, int050b, int050a==int050b);
System.out.printf("int100=%d,%d(%b)\n", int100a, int100b, int100a==int100b);
System.out.printf("int150=%d,%d(%b)\n", int150a, int150b, int150a==int150b);
}
}
結果
int050=41,41(true)
int100=101,101(true)
int150=151,150(false)
言語仕様を理解していれば説明できるといわれました。
なんでこうなるのでしょうか?
public class Main {
public static void main(String[] args) throws Exception {
Integer int050a = 050; Integer int050b = 050;
Integer int100a = 100; Integer int100b = 100;
Integer int150a = 150; Integer int150b = 150;
Class<?> clazz = Integer.class;
Field field = clazz.getDeclaredField("value");
field.setAccessible(true);
field.setInt(int050a, 050 + 1);
field.setInt(int100a, 100 + 1);
field.setInt(int150a, 150 + 1);
System.out.printf("int050=%d,%d(%b)\n", int050a, int050b, int050a==int050b);
System.out.printf("int100=%d,%d(%b)\n", int100a, int100b, int100a==int100b);
System.out.printf("int150=%d,%d(%b)\n", int150a, int150b, int150a==int150b);
}
}
結果
int050=41,41(true)
int100=101,101(true)
int150=151,150(false)
718デフォルトの名無しさん (テテンテンテン MM4b-x+rh)
2021/04/05(月) 21:51:16.81ID:5mhyIfkaM Javaの配列やオブジェクト引数の渡し方は値渡しと参照渡しの中間みたいな感じ
この中間的なものに名前がついていないことが学習しにくさを招いてるような気もする
この中間的なものに名前がついていないことが学習しにくさを招いてるような気もする
719デフォルトの名無しさん (ワッチョイ a301-51IN)
2021/04/05(月) 22:08:41.60ID:P35uBEDX0720デフォルトの名無しさん (ワッチョイ b501-MogO)
2021/04/05(月) 22:10:43.10ID:/OfavUpo0 >>717
8進数
8進数
721デフォルトの名無しさん (ワッチョイ 552c-s+Uo)
2021/04/05(月) 22:12:11.77ID:2g7RifS+0 Ruby では、すべてがオブジェクトだから、数値型.メソッド、と書ける
Primitive 型がある言語では、Primitive型.メソッド、とは書けない。
Primitiveには、メソッドが無いから
メソッドを呼びたい際、Box・オブジェクト化する。
オブジェクトで包む
そうすると、オブジェクト.メソッド、と書ける。
Box/Unbox 化
Primitive 型がある言語では、Primitive型.メソッド、とは書けない。
Primitiveには、メソッドが無いから
メソッドを呼びたい際、Box・オブジェクト化する。
オブジェクトで包む
そうすると、オブジェクト.メソッド、と書ける。
Box/Unbox 化
722デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
2021/04/05(月) 22:54:58.29ID:BlJGn6z90 >>717
これかな
5.1.7. Boxing Conversion
https://docs.oracle.com/javase/specs/jls/se16/html/jls-5.html#jls-5.1.7
If the value p being boxed is the result of evaluating a constant
expression (§15.29) of type boolean, byte, char, short, int, or long, and
the result is true, false, a character in the range '\u0000' to '\u007f'
inclusive, or an integer in the range -128 to 127 inclusive, then let a and
b be the results of any two boxing conversions of p. It is always the case
that a == b.
ハイパー超訳だけど
ボックス化された値が-128〜127の場合は同じオブジェクトになります、ってことのよう
ラッパークラスもコンスタントプールに格納されるんかね、これは知らなかった
これかな
5.1.7. Boxing Conversion
https://docs.oracle.com/javase/specs/jls/se16/html/jls-5.html#jls-5.1.7
If the value p being boxed is the result of evaluating a constant
expression (§15.29) of type boolean, byte, char, short, int, or long, and
the result is true, false, a character in the range '\u0000' to '\u007f'
inclusive, or an integer in the range -128 to 127 inclusive, then let a and
b be the results of any two boxing conversions of p. It is always the case
that a == b.
ハイパー超訳だけど
ボックス化された値が-128〜127の場合は同じオブジェクトになります、ってことのよう
ラッパークラスもコンスタントプールに格納されるんかね、これは知らなかった
724デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
2021/04/05(月) 23:00:05.89ID:BlJGn6z90 >>708
えっと、参照渡しの定義は
仮引数への代入によって実引数が変わることなんよ
a.a = 7;
これは仮引数への代入ではないよ
.(ドット)演算子があるのでオブジェクトの状態を変えてるだけ
変数への代入とオブジェクトの状態を変える操作は異なるもの、という認識が必要
a = new T(7);
としても実引数は変わらないっしょ、だからJavaは値渡しなんよ
えっと、参照渡しの定義は
仮引数への代入によって実引数が変わることなんよ
a.a = 7;
これは仮引数への代入ではないよ
.(ドット)演算子があるのでオブジェクトの状態を変えてるだけ
変数への代入とオブジェクトの状態を変える操作は異なるもの、という認識が必要
a = new T(7);
としても実引数は変わらないっしょ、だからJavaは値渡しなんよ
725デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
2021/04/05(月) 23:02:02.65ID:BlJGn6z90 >>718
一応、共有渡しという呼び方はある
一応、共有渡しという呼び方はある
726デフォルトの名無しさん (ワッチョイ 552c-s+Uo)
2021/04/05(月) 23:14:53.36ID:2g7RifS+0 まず、等価・等値の区別を学ぶべき。
Primitive型とオブジェクトの等価・等値とは、何を比べる事なのか?
内包する値が等しいのか、
オブジェクトIDが等しいのか?
Primitive型とオブジェクトの等価・等値とは、何を比べる事なのか?
内包する値が等しいのか、
オブジェクトIDが等しいのか?
727デフォルトの名無しさん (オッペケ Sr01-jPF6)
2021/04/06(火) 08:57:10.74ID:LwA3WJBer GoogleがJava SE APIをコピーしたことは、プログラマーが自分の才能を生かして新しいプログラムを開発するために必要なコードのみを含んでおり、法律上、その素材におけるフェアユースにあたる。
728デフォルトの名無しさん (ワッチョイ 9b89-8vo5)
2021/04/06(火) 11:02:49.78ID:KbcOEQRB0 それがどうかしたの?
729デフォルトの名無しさん (ワッチョイ 23a5-qoZl)
2021/04/06(火) 11:26:18.57ID:pJApQ9S90 HOTな話題だろ
勝訴したんだから
勝訴したんだから
730デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
2021/04/06(火) 11:29:21.61ID:siOuNgG90 今日、12年に渡るGoogleとOracleの裁判に判決が出たんだよ!
GoogleのAndroidでのJava使用はフェアユースだからOracleの権利を侵害していないと認められた
これはJavaコミュニティにとっても喜ばしいニュースだね
権利侵害が認められるようならGoogleはJavaを捨てるなんて話も出ていたから、そうならなくて本当によかった!
GoogleのAndroidでのJava使用はフェアユースだからOracleの権利を侵害していないと認められた
これはJavaコミュニティにとっても喜ばしいニュースだね
権利侵害が認められるようならGoogleはJavaを捨てるなんて話も出ていたから、そうならなくて本当によかった!
731デフォルトの名無しさん (ワッチョイ 65ad-xZZo)
2021/04/06(火) 13:02:15.98ID:hd98bw+B0 グーグル勝利でKotlin大敗北!
732デフォルトの名無しさん (アウアウウー Sae9-8gf5)
2021/04/06(火) 13:29:35.88ID:M2YZof7pa >>730
Fuchsia「シッテタ」
Fuchsia「シッテタ」
733デフォルトの名無しさん (ワッチョイ 9b89-8vo5)
2021/04/06(火) 13:55:22.95ID:KbcOEQRB0 >>729
ならそうかけ、スレチだけど
ならそうかけ、スレチだけど
734デフォルトの名無しさん (アウアウウー Sae9-xZZo)
2021/04/06(火) 16:14:50.37ID:D/UA/358a java勝ったからもうお前に用はない
○ ←google
く|)へ
〉 ヾ○シ ←Kotlin
 ̄ ̄7 ヘ/
/ ノ
|
/
`|
/
く|)へ
〉 ヾ○シ ←Kotlin
 ̄ ̄7 ヘ/
/ ノ
|
/
`|
/
735デフォルトの名無しさん (ワッチョイ a37c-0pr0)
2021/04/06(火) 20:44:53.68ID:AUQo/ocE0 コトリンwは消えていいよw
736デフォルトの名無しさん (ワッチョイ 552c-s+Uo)
2021/04/07(水) 00:08:35.01ID:/VvrJao60 Oracle は、Java を独占して、大儲けしようと思っていたけど、大失敗
これで、java のクラスライブラリを C# や C++ に移植できる‥‥
738708 (ワッチョイ a348-ql7i)
2021/04/07(水) 14:59:25.85ID:ODWVZMHP0 共有渡しなどでググってみましたがまだ理解できません
比較のためC++の例を。こっちが頭にあるから混乱してたのかもしれない
#include <stdio.h>
struct T{ int a; T(int i){a=i;}};
T f(T a){ return a;}
int main(){
T a(10);
T b=f(a); //javaと違ってbのアドレスは変わる。ここの挙動がjavaの疑問点
T c = a; //これもjavaと違って新しいコピーが作られる。コピコン
T* d = &a; //ポインタ。同じアドレスをさす
T& e = a; //参照。同じアドレスをさす
printf("%d\n%d\n%d\n%d\n%d\n",&a,&b,&c,d,&e);
return 0;
}
実行結果
286472060
286472064
286472068
286472060
286472060
比較のためC++の例を。こっちが頭にあるから混乱してたのかもしれない
#include <stdio.h>
struct T{ int a; T(int i){a=i;}};
T f(T a){ return a;}
int main(){
T a(10);
T b=f(a); //javaと違ってbのアドレスは変わる。ここの挙動がjavaの疑問点
T c = a; //これもjavaと違って新しいコピーが作られる。コピコン
T* d = &a; //ポインタ。同じアドレスをさす
T& e = a; //参照。同じアドレスをさす
printf("%d\n%d\n%d\n%d\n%d\n",&a,&b,&c,d,&e);
return 0;
}
実行結果
286472060
286472064
286472068
286472060
286472060
739708 (ワッチョイ a348-ql7i)
2021/04/07(水) 15:17:30.71ID:ODWVZMHP0 追記。javaと比較しやすいように参照渡しの関数を追加しました
#include <stdio.h>
struct T{ int a; T(int i){a=i;} };
T f(T a){ return a; }
T& g(T& a){return a;} //前のコードに追加したコード
int main(){
T a(10);
T b=f(a);
T c = a;
T* d = &a;
T& e = a;
T& f = g(a); //参照渡し。同じアドレスをさす。前のコードとの違いはここ
printf("%d\n%d\n%d\n%d\n%d\n%d\n",&a,&b,&c,d,&e,&f);
return 0;
}
実行結果
1519342484
1519342488
1519342492
1519342484
1519342484
1519342484
#include <stdio.h>
struct T{ int a; T(int i){a=i;} };
T f(T a){ return a; }
T& g(T& a){return a;} //前のコードに追加したコード
int main(){
T a(10);
T b=f(a);
T c = a;
T* d = &a;
T& e = a;
T& f = g(a); //参照渡し。同じアドレスをさす。前のコードとの違いはここ
printf("%d\n%d\n%d\n%d\n%d\n%d\n",&a,&b,&c,d,&e,&f);
return 0;
}
実行結果
1519342484
1519342488
1519342492
1519342484
1519342484
1519342484
740708 (ワッチョイ a348-ql7i)
2021/04/07(水) 15:33:40.19ID:ODWVZMHP0 c++風な理解ですがjavaの共有渡しは
実引数a 値アドレス10 アドレス100
仮引数a 値アドレス10 アドレス101
と言う風に準備されて
仮引数に代入してもアドレス101に代入されるので実引数のアドレス100には影響が無い
値アドレスは一緒なのでa.a=7などと代入すると実引数の値も変化する
こういう理解だったのですがjava的には違うのでしょうか
最初のコードでT c=f(a)としたときにcとaのアドレスが変わらないということは
C++版での参照渡しのコード(関数g)に対応すると考えました
実引数a 値アドレス10 アドレス100
仮引数a 値アドレス10 アドレス101
と言う風に準備されて
仮引数に代入してもアドレス101に代入されるので実引数のアドレス100には影響が無い
値アドレスは一緒なのでa.a=7などと代入すると実引数の値も変化する
こういう理解だったのですがjava的には違うのでしょうか
最初のコードでT c=f(a)としたときにcとaのアドレスが変わらないということは
C++版での参照渡しのコード(関数g)に対応すると考えました
741デフォルトの名無しさん (ワッチョイ a301-51IN)
2021/04/07(水) 16:01:59.31ID:IKflwJ+i0 Javaは参照の値渡し
T& h(T& a){
a = T(100);
return a;
}
と
public static T h(T a){
a = new T(100);
return a;
}
を比べるといいと思う
T& h(T& a){
a = T(100);
return a;
}
と
public static T h(T a){
a = new T(100);
return a;
}
を比べるといいと思う
742デフォルトの名無しさん (ワッチョイ e3f0-1em5)
2021/04/07(水) 16:05:55.74ID:jfZzQJ5j0 ttps://ideone.com/RVYDij
構造体のポインタ(≒Javaの参照型)でなくて
構造体そのもの(≒Javaには存在しない値型)使ってるから混乱するんじゃね?
構造体のポインタ(≒Javaの参照型)でなくて
構造体そのもの(≒Javaには存在しない値型)使ってるから混乱するんじゃね?
743デフォルトの名無しさん (ワッチョイ 65ad-xZZo)
2021/04/07(水) 19:52:27.21ID:SEhnYi9C0 質問が下手
744デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
2021/04/08(木) 01:40:49.88ID:lOqPs7CS0 JavaのコードはC言語だとこうだよ
#include <stdio.h>
#include <stdlib.h>
struct T {
int a;
};
struct T* f(struct T* a) {
a->a = 7;
return a;
}
int main(){
struct T* a = malloc(sizeof(struct T));
a->a = 10;
struct T* b = f(a);
printf("%d, %d, %p, %p\n", a->a, b->a, a, b);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
struct T {
int a;
};
struct T* f(struct T* a) {
a->a = 7;
return a;
}
int main(){
struct T* a = malloc(sizeof(struct T));
a->a = 10;
struct T* b = f(a);
printf("%d, %d, %p, %p\n", a->a, b->a, a, b);
return 0;
}
745デフォルトの名無しさん (ワッチョイ 1b01-ugfq)
2021/04/08(木) 02:22:43.43ID:lOqPs7CS0 >>740
> 最初のコードでT c=f(a)としたときにcとaのアドレスが変わらないということは
> C++版での参照渡しのコード(関数g)に対応すると考えました
Javaでは変数のアドレスは見れないよ
cとaで参照してるオブジェクトのハッシュ値が出力されてるだけ
cとaの参照先が同じオブジェクトってこと
参照渡しは変数を参照するって意味で
共有渡しは変数の参照先を共有するってこと
> 最初のコードでT c=f(a)としたときにcとaのアドレスが変わらないということは
> C++版での参照渡しのコード(関数g)に対応すると考えました
Javaでは変数のアドレスは見れないよ
cとaで参照してるオブジェクトのハッシュ値が出力されてるだけ
cとaの参照先が同じオブジェクトってこと
参照渡しは変数を参照するって意味で
共有渡しは変数の参照先を共有するってこと
746デフォルトの名無しさん (ワッチョイ 23ad-0pr0)
2021/04/08(木) 02:30:20.54ID:SAft2z2v0 Java の参照はポインタだと思えば理解は楽だな。C言語だと x->x のように書くが Java だと x.x と書くことになっているだけ。
null だと指す先がないので NullPointerException になる。
null だと指す先がないので NullPointerException になる。
747デフォルトの名無しさん (ワッチョイ 552c-s+Uo)
2021/04/08(木) 04:31:04.65ID:lDvnXqCb0 Java には、構造体そのものが無いのか。
構造体は、内包物がすべてコピーされるだろ
つまり、異なるオブジェクトがnew されてから、すべての内包物がコピーされる。
つまり、2つのオブジェクトが存在する
一方、構造体のポインタは、内包物がコピーされないし、
コピー用のオブジェクトも、newされないから、
オブジェクトは最初の1つだけしか存在しない
単なる名付け・ラベル。
1つのオブジェクトに、別の名前を付けただけ
幾つのオブジェクトが作られたか、newの回数を数えればよい
構造体は、内包物がすべてコピーされるだろ
つまり、異なるオブジェクトがnew されてから、すべての内包物がコピーされる。
つまり、2つのオブジェクトが存在する
一方、構造体のポインタは、内包物がコピーされないし、
コピー用のオブジェクトも、newされないから、
オブジェクトは最初の1つだけしか存在しない
単なる名付け・ラベル。
1つのオブジェクトに、別の名前を付けただけ
幾つのオブジェクトが作られたか、newの回数を数えればよい
748747 (ワッチョイ 552c-s+Uo)
2021/04/08(木) 04:41:11.49ID:lDvnXqCb0 変数を、値を入れる箱みたいに思うのは、ダメ。
箱に入れるイメージは、C/C++ だけ
他言語では、変数は名付け・ラベル
新たなインスタンスを作って、コピーしていない。
単に、既存のインスタンスに、別名を付けているだけ
だから代入の前後で、インスタンスは1つしか存在しないし、
new も、されていない
つまり、newの回数と、存在するインスタンスの個数を調べるのが重要
ただし、Primitive はオブジェクトと異なるので、これには当てはまらない
箱に入れるイメージは、C/C++ だけ
他言語では、変数は名付け・ラベル
新たなインスタンスを作って、コピーしていない。
単に、既存のインスタンスに、別名を付けているだけ
だから代入の前後で、インスタンスは1つしか存在しないし、
new も、されていない
つまり、newの回数と、存在するインスタンスの個数を調べるのが重要
ただし、Primitive はオブジェクトと異なるので、これには当てはまらない
749デフォルトの名無しさん (ワッチョイ 0d9c-h+YV)
2021/04/08(木) 07:41:57.02ID:m1EPbJgQ0 いい加減ウソを撒き散らすのやめてくれないか
750デフォルトの名無しさん (ワッチョイ e2ad-CoCA)
2021/04/10(土) 18:11:02.83ID:JQLnPe3C0 誰も知らない未知の言語の話が始まったようだ。
751デフォルトの名無しさん (アウアウウー Sabb-cmdU)
2021/04/10(土) 20:22:44.15ID:g7cD6dOja JUnitでテストクラス作って実行すると、ClassNotFoundが出る時はどうしたらいいですか?
Eclipseのプロジェクトをすべて消してイチから作り直したけど、原因が分からないから再発しそうで怖い
Eclipseのプロジェクトをすべて消してイチから作り直したけど、原因が分からないから再発しそうで怖い
752デフォルトの名無しさん (アウアウウー Sabb-cmdU)
2021/04/10(土) 20:25:26.10ID:g7cD6dOja753デフォルトの名無しさん (ワッチョイ 7b9c-08FK)
2021/04/10(土) 20:46:32.06ID:h0FPlujm0 >>751
テストしなければ問題ないよ!
テストしなければ問題ないよ!
754デフォルトの名無しさん (ワッチョイ ce89-/CMm)
2021/04/10(土) 20:55:22.45ID:fnNsjOwD0 賢い質問のしかた
ttp://www.ranvis.com/articles/smart-questions.ja.html
ttp://www.ranvis.com/articles/smart-questions.ja.html
755デフォルトの名無しさん (アウアウウー Sabb-cmdU)
2021/04/10(土) 21:08:45.15ID:g7cD6dOja756デフォルトの名無しさん (アウアウウー Sabb-cmdU)
2021/04/10(土) 21:12:04.68ID:g7cD6dOja >>753
バグらなけば怖くない!
バグらなけば怖くない!
757デフォルトの名無しさん (オッペケ Sr5f-VPk9)
2021/04/10(土) 23:31:05.40ID:sN0ABBktr Microsoft、「OpenJDK」の自社ビルドをプレビュー公開 〜無償のLTSディストリビューション
https://forest.watch.impress.co.jp/docs/news/1316969.html
https://forest.watch.impress.co.jp/docs/news/1316969.html
758デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 11:13:10.02ID:5s7yLoxeM JavaからAccessデータベース起動したいのだが
Runtime execだと起動ぐらいしか出来ない
データベース操作するにはCOMブリッジ使えば良いのかUcanAccess使う方が良いのかよく分からない
Apache PoiではAccess操作出来ないよね?
Runtime execだと起動ぐらいしか出来ない
データベース操作するにはCOMブリッジ使えば良いのかUcanAccess使う方が良いのかよく分からない
Apache PoiではAccess操作出来ないよね?
759デフォルトの名無しさん (ワッチョイ ce89-/CMm)
2021/04/11(日) 11:16:54.91ID:JF/oxO5S0 C#使えばいいんじゃね(鼻糞ホジホジ)
760デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 11:26:52.97ID:5s7yLoxeM Javaで操作したいんだよ
761デフォルトの名無しさん (ワッチョイ e287-slfm)
2021/04/11(日) 11:36:53.59ID:Vlz3EsL00 mdbを操作したいのではなくてAccessを動かしたいってこと?
762デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 11:58:49.10ID:5s7yLoxeM763デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 12:05:35.16ID:5s7yLoxeM やっぱりJavaからAccess帳票出力するって特殊なのかな
ほとんど事例無いからググっても出て来ない
ほとんど事例無いからググっても出て来ない
764デフォルトの名無しさん (ワッチョイ 0e01-I5oI)
2021/04/11(日) 12:16:19.31ID:UFkTSZWY0 自分ならUcanAccessでDBを読み書きして
JavaからVBScriptのプロセスを起動して
VBScriptでAccessを操作する
MS OfficeのAPIはCOMでCOMのGCは参照カウントでJavaや.NETのGCは世代別GC
オブジェクトのライフサイクルが違うので動作が不安定になる
PowerShellでOutlookを操作してみてそう思った
JavaからVBScriptのプロセスを起動して
VBScriptでAccessを操作する
MS OfficeのAPIはCOMでCOMのGCは参照カウントでJavaや.NETのGCは世代別GC
オブジェクトのライフサイクルが違うので動作が不安定になる
PowerShellでOutlookを操作してみてそう思った
765デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 12:55:32.01ID:5s7yLoxeM766デフォルトの名無しさん (アウアウクー MM9f-9hTS)
2021/04/11(日) 13:29:55.85ID:5s7yLoxeM ああAccess起動だけならRuntimeから直接Access起動は出来るね
操作までやるのはVBScriptとか利用せにゃならんけど
操作までやるのはVBScriptとか利用せにゃならんけど
768デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/11(日) 18:15:56.42ID:87+rjU0AM >>767
PoiでAccess扱えるclassが用意されていない
PoiでAccess扱えるclassが用意されていない
769デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/11(日) 18:19:08.61ID:87+rjU0AM 調べてみると ODBC/JDBC ラインしかないみたいですね
https://stackoverflow.com/questions/45300178/how-to-connect-java-to-ms-access-database
https://stackoverflow.com/questions/45300178/how-to-connect-java-to-ms-access-database
771デフォルトの名無しさん (ワッチョイ cb5f-9lDx)
2021/04/11(日) 18:33:00.11ID:8dKzq+eD0 ODBCブリッジはJava8で消されたから小細工しないと無理
772デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/11(日) 19:00:53.79ID:87+rjU0AM773デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/11(日) 19:05:46.55ID:87+rjU0AM >>771
https://logicalerror.seesaa.net/article/419701732.html
これか、、、
セキュリティ的に問題有るからダメだな
UcanAccess使わせて貰うかな
https://logicalerror.seesaa.net/article/419701732.html
これか、、、
セキュリティ的に問題有るからダメだな
UcanAccess使わせて貰うかな
775デフォルトの名無しさん (ワッチョイ 7b9c-08FK)
2021/04/11(日) 23:35:21.34ID:/uA8+5nK0 主要なRDBMSはJDBC Type4ドライバーあるからね
もはやODBC-JDBCの役目は終わったってことでしょう
ODBC-JDBCで助かるのはほぼWindowsだけだし(わずかだけどLinuxにもODBCある)
マルチプラットフォーム目指すJavaにとってはODBCは邪魔になったってことよ
もはやODBC-JDBCの役目は終わったってことでしょう
ODBC-JDBCで助かるのはほぼWindowsだけだし(わずかだけどLinuxにもODBCある)
マルチプラットフォーム目指すJavaにとってはODBCは邪魔になったってことよ
>>775
でも、腫瘍じゃない RDBMS とかが新たに出現したとか、マイナーなものがまだまだあるとか、今回のように access に access したいとか、そういうレガシーのために残して置いて「あげよう」とかいうのをバッサリ切るのは、さてどうなんでしょうか?
java は文法は OO としてはかなり保守的なのに、そういうところは荒っぽいのはチグハグな印象を持ちました
でも、腫瘍じゃない RDBMS とかが新たに出現したとか、マイナーなものがまだまだあるとか、今回のように access に access したいとか、そういうレガシーのために残して置いて「あげよう」とかいうのをバッサリ切るのは、さてどうなんでしょうか?
java は文法は OO としてはかなり保守的なのに、そういうところは荒っぽいのはチグハグな印象を持ちました
777デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/12(月) 08:57:41.45ID:rGKItn7hM とにかくUcanAccessが有って良かった
これでmdb横から更新して後は起動すれば起動時の設定でクエリー動かしてレポートまで出力出来る
JDBC-ODBCブリッジは有った方が良いとは思うけどね
これでmdb横から更新して後は起動すれば起動時の設定でクエリー動かしてレポートまで出力出来る
JDBC-ODBCブリッジは有った方が良いとは思うけどね
778デフォルトの名無しさん (ワッチョイ 7b9c-08FK)
2021/04/12(月) 11:29:16.67ID:uaenDdkP0 マイクロソフトだってmdb捨てたいんだよ
10年以上前からAccessの内部データベースはSQL Serverになっただろ
mdbじゃなければJDBCで読み書きできる
10年以上前からAccessの内部データベースはSQL Serverになっただろ
mdbじゃなければJDBCで読み書きできる
779デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/12(月) 14:45:18.95ID:45/NLIkcM780デフォルトの名無しさん (ワッチョイ df01-VPk9)
2021/04/12(月) 16:50:01.78ID:3TTPFD5V0 accessの帳票機能だけ取り出せんもんかと
昔思っとったね。
昔思っとったね。
781デフォルトの名無しさん (ワッチョイ df01-VPk9)
2021/04/12(月) 16:51:59.93ID:3TTPFD5V0782デフォルトの名無しさん (ワッチョイ 0e01-I5oI)
2021/04/12(月) 18:00:35.98ID:zhDyO8uL0 JavaならJasperReportsで良いじゃん
783デフォルトの名無しさん (アウアウクー MM9f-QbJ2)
2021/04/12(月) 18:34:37.92ID:45/NLIkcM784デフォルトの名無しさん (アウアウクー MM8b-a7F2)
2021/04/17(土) 16:07:35.21ID:qxNSw6WTM785デフォルトの名無しさん (ササクッテロラ Sp8b-PVTl)
2021/04/18(日) 15:55:49.58ID:H9HZrEaLp >>784
Jackcessは制限有るからダメだよ
Jackcessは制限有るからダメだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- たぬかなの“結婚隠し”に「弱者男性ビジネス」の声…本人が異例の対応「支払いの履歴持ってきてくれたら返金するから連絡してや」 [muffin★]
- 舛添要一「日本は亡国への道をひた走り」「相対的国力は中国が増大し日本が低下している」 [冬月記者★]
- 【物価高対策】「おこめ券を配布しません」大阪府交野の市長が明言「経費率が高い」「今高い米をムリして…」 [1ゲットロボ★]
- 従来の健康保険証、12月1日に期限切れ マイナ利用率は37% [蚤の市★]
- 【地方】「もうヤメとけ、また移住者様が帰っちゃうぞ」田舎の「いじめ体質」★3 [七波羅探題★]
- 落ち度はゼレンスキー氏に 内政混乱、市民怒り [蚤の市★]
- 北京・上海の犬夜叉コンサート、中止🐶犬夜叉30周年で声優も登壇する予定だった🐕許せねえよ高市早苗😡 [485187932]
- 迷惑メールにひとこと言いたい
- 貞子だの佳代子だの着信アリの緑の奴だの、怖いというよりムカつくんだよ
- お金が入ると 男 ギャンブルする 女 ホストに貢ぐ
- 伊藤博文「女に金使いすぎて破産したw家とかねえわw」→総理がホームレスでは困ると首相官邸設立へ
- 外国人がゴミ漁ってて未開封のお菓子かなんか持って帰ってた
