★★Java質問・相談スレッド184★★

2021/09/19(日) 11:52:45.82ID:DdTXq5RcM
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    https://itest.5ch.net/subback/hp
Webプログラミング https://itest.5ch.net/subback/php
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド183★★
https://mevius.5ch.net/test/read.cgi/tech/1588770728/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
115デフォルトの名無しさん (オイコラミネオ MMe5-NK77)
垢版 |
2023/01/20(金) 15:38:06.11ID:ZdjsiCX8M
>>114
有難うございます!
取り敢えず継続していきます、、
116デフォルトの名無しさん (スッップ Sd1f-oUhl)
垢版 |
2023/01/24(火) 20:20:26.58ID:rGIG2HhYd
onMessageの中でDBコネクトして最後にクローズしてるソース見て、なんでonOpenでDBコネクトしてonCloseしないんだろうと思ったんですけど
onMessageで毎回DBコネクトするのが一般的なんでしょうか?
117デフォルトの名無しさん (ワッチョイ 339c-KBNU)
垢版 |
2023/01/25(水) 01:08:43.52ID:pnC8XgZK0
そうですね
必要な場面で接続して用が済んだらすぐに閉じるのが良い設計だと思います

パフォーマンスが気になりますか?
いまはコネクションプーリングという技術があって論理的にクローズしても下位レイヤーでは接続を維持するような仕組みがあります

パフォーマンスのためにデータベース接続を開きっぱなしにするのは設計が古いです
118デフォルトの名無しさん (スッップ Sd1f-oUhl)
垢版 |
2023/01/25(水) 05:23:54.54ID:b0dkH4ICd
なるほど
c言語ばっかりやっててJAVAはど素人
WEBは全くわからないので
考え方が古かったんですね

コネクションプーリングの勉強からはじめます
119デフォルトの名無しさん (テテンテンテン MM4f-S9vL)
垢版 |
2023/02/07(火) 20:18:51.62ID:+C6/44ZiM
JPanel p = new JPanel() {
BufferedImage img;
try {
img = ImageIO.read(new File("...."));
} catch (IOException e) {}

void testA() {}
void testB() {}
};
な感じのインナークラスの書き方で、どのようにimgをtry catch書いたらいいでしょうか?
2023/02/07(火) 23:28:27.93ID:CqENBtXk0
catch節になにをコードしたらいいかわからないということ?
121デフォルトの名無しさん (テテンテンテン MM4f-S9vL)
垢版 |
2023/02/08(水) 04:27:27.92ID:43XrJi8HM
>>120
try catchを書く前はシンタックスエラーは表示されていなかったのですが、
try catchを書いた後に下記のエラーが出ます、

Buffered imgの行に
Multiple markers at this line
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
- Syntax error, insert "}" to complete ClassBody
や voidの行に
Multiple markers at this line
- Syntax error on token "void", record
expected
- Syntax error, insert "}" to complete
RecordBody
- overrides javax.swing.JComponent.
paintComponent
そのため、インナークラスでのtry catchの書き方が分かればいいなと思っております。
122デフォルトの名無しさん (ワッチョイ 0f9c-vJiC)
垢版 |
2023/02/08(水) 08:01:16.78ID:SBxrkX9O0
>>121
コンストラクタの中にtestAとtestBが入っちゃってる
void testA の前の空白行に } を入れろ
2023/02/08(水) 20:07:35.47ID:s9e4VQn50
>>119
素直にJPanelの継承クラスを書くのがいいんじゃないかと
124デフォルトの名無しさん (テテンテンテン MM4f-S9vL)
垢版 |
2023/02/08(水) 21:12:26.74ID:CuuJsoDPM
>>122
void testA の前の空白行に }を入れたのですが、下記のエラーが表示されました。orz
Multiple markers at this line
- Syntax error, insert "}" to complete ClassBody
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
>>123
おっしゃる通り、素直にJPanelの継承クラスを書いたほうがよさそうです。
ただ、初めて見る書き方だったので、勉強のためにもう少し調べてみようと思います。
125デフォルトの名無しさん (ワッチョイ 0f9c-zLlH)
垢版 |
2023/02/08(水) 22:10:29.63ID:SBxrkX9O0
インスタンス・イニシャライザを使え

JPanel = new JPanel() {
  BufferedImage img = null;
  {
    try {
      img = ImageIO.read(new File("...."));
    } catch(IOException e) {}
  }

  void testA() {}
  void testB() {}
};
126デフォルトの名無しさん (テテンテンテン MM4f-S9vL)
垢版 |
2023/02/08(水) 22:47:27.38ID:CuuJsoDPM
>>125
ありがとうございます!
インスタンス・イニシャライザは初めて知りました。
これからも少しづつ構文の勉強をします!
127デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/02/25(土) 00:01:57.10ID:A4bRpZ0eM
a = new byte[num];
a[0] = (byte) 0x0A;
のように値を代入したい。

String b = "0A";
が与えられているとき、どうすればバイトとして変数aに与えられた値を入れれますか?
a[0] = (byte) ("0x" + b);
2023/02/25(土) 00:12:07.69ID:+Qy/IqxpM
Byte.parseByte("0A", 16);
129デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/02/25(土) 04:19:37.99ID:A4bRpZ0eM
>>128
ありがとうございます。
130デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/02/26(日) 00:02:46.88ID:F7MFR7BvM
フォルダの中にある各ファイルを対象とした処理を書きたいのですが、
File[] inputFiles = stream.toArray(File[]::new);
の行で
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
がでます。

try (Stream<Path> stream = Files.list(Paths.get(path))) {
stream.filter(Files::isRegularFile);
File[] inputFiles = stream.toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}
} catch (IOException e) { e.printStackTrace(); }

が試そうとしているコードになりますが、stream以外を使用するべきでしょうか?
131デフォルトの名無しさん (ワッチョイ b18f-eFGh)
垢版 |
2023/02/26(日) 02:18:47.80ID:B5iNMzdY0
filterとtoArrayを;で分けてるのが良くない、つなげるんだよ、つなげればきっとうまくいく
132デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/02/26(日) 02:49:11.03ID:F7MFR7BvM
>>131
ありがとうございます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
File[] inputFiles = stream.filter(Files::isRegularFile).toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}}
のように、つなげて?書いてみたのですが
Exception in thread "main" java.lang.ArrayStoreException: arraycopy: element type mismatch: can not cast one of the elements of java.lang.Object[] to the type of the destination array, java.io.File
とエラーが表示されるので、もう少し調べてみます。
133デフォルトの名無しさん (ワッチョイ b18f-eFGh)
垢版 |
2023/02/26(日) 08:40:51.36ID:B5iNMzdY0
Pathのシーケンスを配列にするなら型をPath[]にしないと
Fileにしたいなら.map(Path::toFile)を入れるといい
134デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/02/26(日) 10:37:04.47ID:ZT8LdB8LM
>>133
ありがとうございます!
助かりました!
135デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/03/02(木) 20:14:38.83ID:WGG9oXzEM
funBで例外が発生した場合、funcAの処理をReturnしたいんですけど、
基本的にどのようにコードしたほうがいいのでしょうか?
フラグを用意して、funcBで例外発生したらフラグをTrueにするんでしょうか?
public void funcA() {
String tmp = funcB();
if (funcB()で例外発生した) {return;}
}
public String funcB() {
try {} catch(Exception e) { e.printStackTrace();}
}
136デフォルトの名無しさん (ワッチョイ b18f-Wvzt)
垢版 |
2023/03/02(木) 21:01:50.80ID:EnYbv0EK0
これで良い、例外が投げられたら処理は中断される

public void funcA() {
 String tmp = funcB();
}

public String funcB() {
}
137デフォルトの名無しさん (テテンテンテン MM0e-c/TO)
垢版 |
2023/03/02(木) 21:09:49.91ID:WGG9oXzEM
なるほど。ありがとうございます。
2023/03/02(木) 22:10:06.50ID:UfHr+gSfM
funcBで今catchしてるってことは多分checked例外でしょ?
そうならchecked例外がSomeExceptionとして
public void funcA() {
try {
String tmp = funcB();
} catch(SomeException e) {
e.printStackTrace(); // なんらかのエラー処理
return;
}
}
public String funcB() throws SomeExecption {
SomeExceptionが生じる処理
}
139デフォルトの名無しさん (スッププ Sd33-fh7v)
垢版 |
2023/03/04(土) 12:32:32.24ID:NjX9qwnLd
ヒープメモリとかスレッド周りの知識が入門書ではほとんど得られなかったのですが詳しく実践していける粒度で解説してるテキストとかあれば教えてください
2023/03/05(日) 15:41:57.97ID:sC2xzslQ0
ググれゴミ
141デフォルトの名無しさん (スッププ Sd33-fh7v)
垢版 |
2023/03/05(日) 19:20:07.73ID:UkqT4NrZd
こういうレスする奴って自分も知らないけど取り敢えず何か言っておきたいだけのゴミなんだろうね
2023/03/06(月) 06:43:35.28ID:LPEPSrRV0
ググれゴミカス
2023/03/06(月) 18:22:07.44ID:93HR+LQR0
ChatGPTに質問してみたら?
「ヒープメモリとかスレッドについて教えて」
ってやったら、教えてくれるよ。
しれっと嘘つくこともあるから裏取りはちゃんとやってな。
2023/03/06(月) 18:41:42.16ID:LPEPSrRV0
バカってネットで情報収集して自分でまとめられねーんだよな
だから本とかぼったくり教材みたいなのに進んで金出したがる
対価を出せばまとまった情報が楽に手に入るから
ゴミの典型よ
2023/03/06(月) 19:35:55.15ID:pp7AgNa7d
>対価を出せばまとまった情報が楽に手に入る
必要な情報が手っ取り早く入手できるなら十分でしょ
2023/03/06(月) 19:39:01.29ID:pp7AgNa7d
日常生活のストレスを発散するようにしょうもない暴言をレスする奴はゴミの典型ではないのかな?
2023/03/06(月) 19:58:53.58ID:LPEPSrRV0
今の時代本はネットでも拾えないような局所的な知識を得る時だけに見るもんで
お前みたいなバカはそこらへんに腐るほどある情報にすら対価払っちゃうただのカモネギなんだよな
こういうバカムーブしかできないのがゴミの典型
148デフォルトの名無しさん (ワッチョイ 118f-3/dc)
垢版 |
2023/03/07(火) 03:48:09.67ID:XpfdbiSa0
言ってることが薄っぺらい
149デフォルトの名無しさん (ワッチョイ b3bd-9OjX)
垢版 |
2023/03/08(水) 00:25:08.87ID:of6tmN7o0
バカがマウント取りたがってて草
こんだけ色んな情報があるのに初心者にそれを精査なんてできる訳ない
実績があって評判のいい教材に金を払うのは当たり前だろ
2023/03/08(水) 00:48:56.89ID:OaTx32y+0
とっかかりのインピーダンスミスマッチというか、知識0から1への段階への壁を打開する為に教材に投資するのは全然アリだわ。
世の中の天才達だって、初等教育は誰かから受けてるし、20歳超えても大学・大学院までお世話になってる。
許容範囲の予算で優良な教師得られるなら得るべき。
2023/03/08(水) 05:06:01.96ID:htQurChY0
ゴミの自覚はあったんだなw
顔真っ赤にさせちゃってごめんなゴミw
思考能力0のチンパンカモネギバカだもんなw
2023/03/08(水) 05:58:44.64ID:htQurChY0
ネットでググって理解できない程のバカって自分が知りたいことは
ピンポイントで全部書籍になってると思ってるのもバカすぎて怖いんだよな
バカのバカすぎる質問に対して2、3レスついた回答見て普通は察するもんなんだけど
ほんと教科書みたいになんでも答えがあると思ってる低能学生バカって感じだなw
2023/03/08(水) 07:00:53.43ID:HPq2Ar8zd
ネットでググって完全に理解した気になってる痛い中高生っていつの時代にもいるよな
2023/03/08(水) 07:07:57.67ID:htQurChY0
バカ学生のくせに朝はちゃんと起きれるのかw
バカだからメモリの見方もスレッドの仕組みもわからんから一生懸命馬鹿でもわかる本探してんだもんなw
2023/03/08(水) 09:52:53.13ID:HTrh2fTq0
spring frameworkって他の言語でいうとrailsとかlaravelみたいなものでしょ?
なのになんで難しく感じるんだろ
156デフォルトの名無しさん (ワッチョイ 118f-xZlB)
垢版 |
2023/03/08(水) 10:26:00.14ID:dHMh5Dpe0
>>152
たぶんお前は何もわかってないバカ
157デフォルトの名無しさん (ワッチョイ 118f-xZlB)
垢版 |
2023/03/08(水) 10:26:55.37ID:dHMh5Dpe0
基礎を身につけるのは本が一番
2023/03/08(水) 12:05:17.96ID:htQurChY0
昨日から一生懸命携帯とPCで書き込んで忙しい低能バカ学生だなw
本が一番といいながらこんだけバカなんだからお前が本読む意味なんて微塵もねーわなw
159デフォルトの名無しさん (アウアウウー Sa1d-9OjX)
垢版 |
2023/03/08(水) 12:44:05.00ID:MldDZpKGa
もうこいつの相手しない方がいいかも
ただのレス乞食だろこれ
2023/03/08(水) 12:51:56.74ID:htQurChY0
まぁメモリもスレッドも網羅してるJava書籍があると思ってるバカ学生じゃ相手になるわけねーわなw
基本のキの字すら理解してないのに本読んで基本理解するとか書いてるホンモノのバカなんだからw
逃亡宣言なんかいちいちせんでええからとっとと消えろゴミ
161デフォルトの名無しさん (ワッチョイ 118f-xZlB)
垢版 |
2023/03/08(水) 16:39:37.90ID:dHMh5Dpe0
知らないだけでしょ
知らないことを偉そうに言うなよ
2023/03/08(水) 18:33:19.07ID:htQurChY0
意味不明w
ほんとバカって何言ってるかわからんなw
2023/03/08(水) 18:50:09.87ID:htQurChY0
バカ「絶対に100億兆円稼げるアプリの実装方法が書かれた本を教えてください!!!」

賢者「は?ねーよバカw」

バカ「知らないことを偉そうに言うな!!!」


THE 糞バカ
164デフォルトの名無しさん (アウアウウー Sa1d-9OjX)
垢版 |
2023/03/08(水) 19:09:52.57ID:qUbsss6Za
取り敢えず上から目線のゴミ野郎はNGに入れといたわ
非建設的な持論を並べ立てるだけのバカほど見苦しいものはない
まあ現実が上手くいってないんだろうねこの人
2023/03/08(水) 19:18:22.73ID:htQurChY0
バカにとってはぼくちんの気に食わないレスは全部非建設的だもんなw
逃亡にしろNGにしろいちいち宣言しなくていいからとっとと消えろってゴミwww
166デフォルトの名無しさん (ワッチョイ 118f-xZlB)
垢版 |
2023/03/08(水) 19:34:14.31ID:dHMh5Dpe0
バカだから何言われてるのかわからないだけでしょ
わからないことを偉そうに言うなよ
2023/03/08(水) 19:47:08.68ID:htQurChY0
糞バカチンパンは放置で次の質問者ドゾー
168デフォルトの名無しさん (ワッチョイ 0954-v9OY)
垢版 |
2023/03/19(日) 10:11:53.31ID:83t6ehf+0
まあ雑談なんだけど、独学でjavasilverはとって今オンラインスクールで勉強してるのね(独学でwebアプリ作ろうとかしだすとすごく効悪いと思ったから)、まだそんなレベルなんだけど、JAVAってオブジェクト指向が難しいっていうけど、何をやりだしたら難しいのかな。
他の言語知らないから比べられんのやけど。
169デフォルトの名無しさん (ワッチョイ 0954-v9OY)
垢版 |
2023/03/19(日) 10:23:11.66ID:83t6ehf+0
独学でjavasilverまではとって、まだそのレベルなんだけど、JAVAで難しいって言われるオブジェクト指向って、どうゆうとこだと思います?
クラス型の変数をつくってそこにオブジェクトをつっこむってところがいまいち納得いかないけど、そうゆうとこかな。
頭の中で理論立ててくいのが大変。わかる人はもう慣れで考える必要もなく、読んだり組んだりするのかな。
クラス型の変数にnewしたやつを代入して、その変数がメソッドの引数に使われてると、つどつど内容を追って考えるものですか?
170デフォルトの名無しさん (アウアウエー Sa23-lF85)
垢版 |
2023/03/19(日) 12:40:59.77ID:fPDrKYk/a
ライブラリやモジュール設計するつもりでなければ気にすんな
2023/03/19(日) 19:00:22.27ID:3QN5+OXV0
Tomcat上で動作しているWebアプリがあるのですが、
テキストボックスを追加するとかの改造したいと思ってます

ただ、フレームワークか何かを使っているようで、
正直、動作がよく分かりません

Eclipseとかで、ソースのここに来たらブレーク、みたいに指定できますが、
似たような感じで、ブラウザのこのボタンが押されたらブレーク、みたいにして
その時にどのソースのどこが動作していたかが分かるようにならないかと
思ってますが、そういうことってできますか
それとも構造を読み解かないと無理でしょうか
2023/03/19(日) 22:44:13.21ID:Ug3S7Goj0
知識不足
まず画面とトムと業務クラスがどういう連携してるか知るところから理解してないと話にならん
そのレベルだと画面のサブミットの意味も理解してないだろうからHTMLの勉強からだから絶望的知識不足
画面にしてもwebアプリサーバーにサブミットする方法はformだったりスクリプトだったり非同期だったり
テンプレエンジン使ってたりいろいろあるから読むのなんてあたりまえ
173デフォルトの名無しさん (ワッチョイ 13ad-F0re)
垢版 |
2023/03/20(月) 14:12:07.94ID:uf3XtkTY0
I am Tom.
2023/03/20(月) 19:10:22.38ID:paLbfV2Za
Java は、Spring Boot, Groovy とか?
基本はRuby on Rails で、それ以外のフレームワークは劣化版

YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンが有名

WSL2, Linux, AWS, Docker, VSCode,
CircleCI, Github Actions
Bootstrap, React, Vue.js, TypeScript

最近、Java のログ機能に重大なセキュリティーホールが見つかって、
Tomcat のサイトからパスワードが盗まれたとか、Edge から通知が来たw
2023/03/20(月) 23:57:32.55ID:wXeNvZKM0
ゴミのステマやめろゴミ
2023/03/24(金) 01:16:49.67ID:YHnwGLAd0
とある文字コードのバイト列を他の文字コードの文字列に変換するには
下記みたいに一旦tmpStr、tmpBytesに変換しないと駄目なのかな?
byte[] bytes = {0x00, 0x01, 0x02, 0x03}; // 例えばShift_JISとする
String tmpStr = new String(bytes, "Shift_JIS");
byte[] tmpBytes = tmpStr.getBytes("UTF-8");
String convStr = new String(tmpBytes, "UTF-8");
177デフォルトの名無しさん (ワッチョイ 13ad-F0re)
垢版 |
2023/03/24(金) 03:15:33.42ID:6qfM3P2X0
>>176
バイト列を new String(bytes, charsetName) で String のインスタンスにしたら内部では char[] に UTF-16 で保持されている。つまり Unicode になっている。
その String のインスタンスから何かのエンコードのバイト列にしたいなら getBytes(charsetName) 等を使う。
2023/03/24(金) 09:04:18.56ID:YHnwGLAd0
>>177
そうするとこのステップを踏まないと正しくエンコードされた
文字列が出力されないんですね
179デフォルトの名無しさん (ワッチョイ e98f-a1qf)
垢版 |
2023/03/24(金) 11:22:42.95ID:miXOHSMu0
> byte[] bytes = {0x00, 0x01, 0x02, 0x03}; // 例えばShift_JISとする
Shift_JISでエンコードされたバイト列

> String tmpStr = new String(bytes, "Shift_JIS");
Shift_JISでデコードしてStringを得る

> byte[] tmpBytes = tmpStr.getBytes("UTF-8");
UTF-8でエンコードされたバイト列

> String convStr = new String(tmpBytes, "UTF-8");
UTF-8でデコードしてStringを得る

これらは同じものだよ
・Shift_JISでデコードしたString
・UTF-8でデコードしたString

文字コードはString→バイト列の変換規則であって
String自体にはShift_JISもUTF-8もないよ
2023/03/24(金) 23:15:40.94ID:YHnwGLAd0
>>179
バイト列そのものが文字コードであって
相互に変換するのが文字コードの変換になる感じですか
その相互の変換はStringを介さないと出来ないのでしょうか?
181デフォルトの名無しさん (ワッチョイ ed8f-JnmT)
垢版 |
2023/03/25(土) 00:27:26.96ID:MJx23FgN0
>>180
Shift_JISのバイト列をUTF-8のバイト列に直接変換する機能は標準ライブラリには用意されてない
自作するならShift_JISは8000文字くらいだからトライ木に詰め込んで変換するとかかな
自作しても処理が速くなるとは限らないしStringにデコードするのが正統派スタイルよ
英数字だけならShift_JISもUTF-8も同じバイトだから変換する必要ないけどね
2023/03/25(土) 00:39:13.30ID:FZuV1mNq0
バカって基本的な原理を全く知ろうとしないで延々と質問するよな
原理を知ってればそれに頼らないでどう処理すればわかるのに
答えだけすぐ見る頭の悪い学生みたいに常に行き当たりばったりの行動しか取れないから永久に進歩しないし嫌われる
逝ってヨシ!!!!!!!!
2023/03/25(土) 00:50:31.32ID:lDXx58ws0
>>181
介するのが標準でマッピングするようなものはなく
そう単純なものではないのですね
ありがとうございます

>>182
失礼しました
ただスレの趣旨には沿ってるかと思うのでご容赦ください
184デフォルトの名無しさん (ワッチョイ ed8f-Nv0v)
垢版 |
2023/03/25(土) 11:47:36.33ID:MJx23FgN0
>>182
君なんでそんなに攻撃的なの?
更年期のババアなの?
2023/03/25(土) 14:21:30.91ID:qW4hqU/Ea
基本的に、CP932(sjis)のようなWindows 専用日本語を知っている外人は、まずいない。
逆に日本人で、CP932以外のCPを知っている香具師がいないのと同じ

例えば、MySQL もいつも日本語のバグを修正しているから使えない。
Ruby では、iconv を非推奨にして、NKF に変わった

CP932を変更しても、各モジュールがその変更に追随しないから使えない。
特に、Ruby, Java の2大バックエンドのウェブ開発では、
OSS を使うから、UTF-8 以外には対応しない

これが基本中の基本
186デフォルトの名無しさん (アウアウウー Saa5-tUaT)
垢版 |
2023/03/25(土) 14:55:58.15ID:B9hd5fwCa
香具師
2023/03/25(土) 21:57:39.03ID:CsLeeAHHM
一応枝葉の部分を拾っておくと、java.nio.charset.Charset(やCharsetEncoder)あたりを使えば
Stringを介さずにBuffer(バイト列)のままShift_JIS(あるいはWindows-31J) -> UTF-16 -> UTF-8と変換することは出来る
巨大なデータとかメモリマップファイルとかでもなければStringを介するほうが楽でよいと思うけど(どちらにせよUTF-16経由になるし)

あとおそらくcharsetはShift_JISではなくWindows-31Jを使う方が望ましい結果が得られる可能性が高いかと
2023/05/06(土) 10:06:48.61ID:PEDNurG50
某マイクラのJava版の中身を見たりいじったりしたいのですが、
versions/1.19.4/1.19.4.jarというファイルがメインjarに見えるので直接java -jarしたら
Error: Could not find or load main class net.minecraft.client.Main と言われてしまいます

実際マニフェストにはnet.minecraft.client.Mainだと書いてあるのだけど、jarを展開すると
上記クラスファイルはなく、代わりにnet/minecraft/client/main/Main.classというのがある
一方マイクラのlauncherから起動する分には何の問題もない

これってどうなってるんでしょうかね。これは本当のメインjarではないとか?
あるいはマニフェストの設定をランタイムで変更したりとかできるんでしょうか
2023/05/06(土) 12:29:28.46ID:PEDNurG50
あ、もしかしてmainのあるクラスをjavaの引数に指定すればいいのかな?
2023/05/21(日) 21:43:56.13ID:i6ZyusAx0
久々にJava案件に関わる事になりそうなんだが
今ってJava8が主体っていう認識で良い?
Java11やJava17とかも追加で勉強しておいた方が良い?
2023/05/22(月) 07:22:39.68ID:F35vhY0Y0
>>190
そういうのってその案件次第じゃ?
古いJDKを使って欲しい案件だってあるでしょ

ちなみに今Android Studioをチェックしたら17が入ってるようだ
しかしこのスレは生きているのか
2023/05/22(月) 21:53:27.15ID:uAp8CXfg0
ワイがみているで
2023/05/26(金) 09:48:30.11ID:aEN9HMnl0
フロントがJS、バックがSpringMVCという構成ではなく、
バックをWebFluxにして、R2DBCを使えば、単純なDBクエリだけれどリクエスト数は多い
というサービスに効果あるかな。今後も、WebFluxのユーザは増えていくでしょ。
と思ったのですが……

JDK20以降でLoomが完全実装されたら仮想スレッドになって
実質、ノンブロッキングのコードを書いても書かなくても同じになって、
WebFluxやR2DBCの優位性は無くなります?
2023/05/27(土) 13:16:28.13ID:VxLOu3/40
開発してる当事者じゃないから
答えられない
195デフォルトの名無しさん (ワッチョイ 8d8f-qVLu)
垢版 |
2023/06/03(土) 18:46:06.08ID:lPLamTYg0
ワシのところはJava11だ、Java8の知識があれば十分
2023/06/03(土) 19:46:58.28ID:PSMWlwvR0
バージョンが違うとそんなに違うの?
2023/06/03(土) 21:40:19.53ID:XKXIyQhC0
冗長な糞コードしか書けない雑魚は別にバージョンなんて全く気にする必要もないし気にするだけ思考の無駄
8未満と8以降じゃ公文式使えなかったりストリップも使えないからオワコンだけど
198デフォルトの名無しさん (ワッチョイ 8d8f-qVLu)
垢版 |
2023/06/03(土) 21:49:16.80ID:lPLamTYg0
イキリすぎだろw
2023/06/03(土) 22:40:21.70ID:XKXIyQhC0
お前のことやぞ
2023/07/22(土) 10:36:21.82ID:al5RdX3ea
javaってjarを実行するよりclassファイルを実行したほうが速いですか?
なんとなくjarは最初に圧縮の解凍があって遅そうなイメージがあるのですが
そんなことはないですか?
201デフォルトの名無しさん (ワッチョイ 079c-1AW6)
垢版 |
2023/07/22(土) 11:41:27.95ID:NXQ0T+AH0
むしろjarのほうが速いよ
2023/07/22(土) 11:44:46.01ID:al5RdX3ea
そうなんですね!
203デフォルトの名無しさん (アウアウウー Sa2b-vDZl)
垢版 |
2023/07/27(木) 13:53:23.14ID:gIycSMlBa
>>200
圧縮されていた方が(コンピュータからしたら)とても遅いディスク等からメモリへの読み込みが少なくて済むので速くなる。圧縮状態から元に戻すのはメモリ上でやるのであまり時間が掛からない。

もちろんこの逆の状態とか、圧縮状態から元に戻すのに物凄く時間が掛かるCPUだったりそのような圧縮だったりすればこの限りではない。
でもそんな環境は今は珍しいと思うよ。組み込み関係のマイコンとかならあるかも知れない。(ラズパイみたいなお前普通のPCだろとツッコミを入れたくなるようなやつは除く)
204デフォルトの名無しさん (ワッチョイ df02-Mdmh)
垢版 |
2023/07/27(木) 19:59:15.65ID:FKk2H2CJ0
その速度差を気にするのだったら
そもそもJavaで書かないほうがいいと思う
205デフォルトの名無しさん (ブーイモ MMb6-A2L1)
垢版 |
2023/08/16(水) 14:43:55.58ID:6XslkswQM
Javaって今時Union型も無いんですか
どうして?
2023/08/16(水) 15:15:54.79ID:Ki7QD3KZ0
全部あったらプログラミング言語としての違いがなくなってしまいますね。
207デフォルトの名無しさん (ワッチョイ 978f-Rb7U)
垢版 |
2023/08/16(水) 16:27:44.91ID:osG/hZP20
>>205
Sealed Classじゃダメかい?
https://qiita.com/hanohrs/items/964e9cbf41961e701484
208デフォルトの名無しさん (ワッチョイ 6301-DXLR)
垢版 |
2023/08/16(水) 19:20:53.06ID:AMR7lasI0
>>205
JavaはクラスのインスタンスはGCで管理するので共用体の必要が無いのでは?
209デフォルトの名無しさん (ワッチョイ 1a02-P1Fn)
垢版 |
2023/08/16(水) 19:58:11.06ID:TYqhyd0v0
強力な Object 型ならあるぞ
2023/08/16(水) 22:06:27.36ID:L6CfCWuQ0
>>205
生のメモリとオブジェクトは概念として完全に分離されてるから
2023/08/22(火) 00:46:18.91ID:TPz+mBYc0
さまざまな型システムにはメリデメのトレードオフが必ずある
共用体も節度を持って使えば便利だけど濫用すると惨劇を招く
Javaはシンプルさと移植性を重視してデザインされたので、クラス定義や複数の変数で代用可能な共用体は用意されなかった
Cの直系やBetter JavaScriptと違ってそんなに必要になるシーンも多くないのでSealed Classで事足りるだろう
世界中にある莫大なコードベースに対して破壊的変更が少なくなるように配慮せざるを得ない部分もある
シンプルさが大量のプログラマを生んで成功したからこそ長い栄華を誇ったのだし、栄枯盛衰の落ち目を笑うのは浅はか
212デフォルトの名無しさん (ブーイモ MMb3-HTZh)
垢版 |
2023/08/22(火) 07:55:42.93ID:tV8s6iNuM
Javaにも様々な新機能が追加されていってるけど頑なに実装を拒んでるものもあるよな
その筆頭がasync/await
要望が多いのに「代わりにVirtual Thread使ってくれ」とか言ってるからな

Virtual Thread とは使い処が違うんだよ!!
213デフォルトの名無しさん (ワッチョイ 2501-d0po)
垢版 |
2023/08/29(火) 22:09:14.54ID:HMbn0XNH0
質問です。
pleiades 2023 で gradle のプロジェクトをインポートしようとしているのですが
以下エラーが出てビルド出来ません。
------------------------------------------------------------------
FAILURE: Build failed with an exception.

* What went wrong:
org/gradle/api/plugins/MavenPlugin
> org.gradle.api.plugins.MavenPlugin

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

CONFIGURE FAILED in 1s
----------------------------------------------------------
結構頑張ってググっているのですが原因が分からないのですが、
どなたか助けていただけませんでしょうか。
環境は Mac Ventura, gradle 8.3, Java17 です。
2023/08/29(火) 22:10:24.92ID:HMbn0XNH0
文字数制限で連投になりすみません。
なお build.gradle の内容は以下です。
---------------------------------------------------------------------
plugins {
id 'org.springframework.boot' version '2.3.5.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'eclipse'
id 'idea'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 11

compileJava.options.encoding = "UTF-8"

repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-jdbc')
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')
implementation('org.springframework.boot:spring-boot-starter-validation')
implementation('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
runtimeOnly('org.springframework.boot:spring-boot-devtools')
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況