目的 Java アプリケーションから外部プロセスを実行する 外部プロセスを実行した結果を取得する 実行環境 OS:Windows 7 言語:Java 8 開発環境:eclipse 今回呼び出す外部プロセス:notepad, mecab 外部プロセスを実行する(サンプル:メモ帳を起動する) メモ帳が起動したら成功 SystemCall.java import java.io.IOException; public class SystemCall { public static void main(String[] args) { String[] Command = { "cmd", "/c", "notepad.exe"}; // 起動コマンドを指定する Runtime runtime = Runtime.getRuntime(); // ランタイムオブジェクトを取得する try { r
Jar は ZIP形式の圧縮を行ってアーカイブ化された Java のライブラリや実行モジュールです。 Jar 内にあるファイルを更新する場合、ZIP形式で解凍してファイルを上書きなどし再度圧縮してもよいのですが、 これは無知蒙昧な精神論ですが Java のコマンド群で解決できるのであればそれがベストだと思い、 その方法を探してみました。 結論からいうと、下記のオプションで jar コマンドで可能です。 jar -uf JARファイル名 注入するファイル/ディレクトリ名 上記にて任意のファイル/ディレクトリが注入可能です。 なお、jar 内の任意のファイル/ディレクトリを抽出するのは下記となります。 jar -xvf JARファイル名 抽出するファイル/ディレクトリ名 もし、jar 内のパッケージされているクラスファイルを1ファイルのみ更新したい場合は、下記のオペレーションとなります。 1.
なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか? (この記事は Why you can have millions of Goroutines but only thousands of Java Threads の翻訳です) 経験のあるエンジニアならば JVM 言語で次のようなエラーを見たことがあるでしょう。 [error] (run-main-0) java.lang.OutOfMemoryError: unable to create native thread: [error] java.lang.OutOfMemoryError: unable to create native thread: [error] at java.base/java.lang.Thread.start0(Native Method) [erro
Java 8はついにラムダ式を導入します。ラムダ式自体は2009年からProject Lambdaで利用することができました。当時はラムダ式はJava Closuresと言われていました。サンプルコードを紹介する前に、ラムダ式がJavaプログラマにとってなぜ歓迎すべき機能なのかを説明しましょう。 なぜラムダ式を使うのか ラムダ式の一般的な使い方はGUI開発においてです。一般的に、GUIプログラミングではイベントと結びつく振る舞いを解決する必要があります。例えば、ユーザがボタンを押したとき(イベントが発生したとき), プログラミングは何らかの処理を実行する必要があります。例えば、Swingでは、次のコードで示すようにActionListenersを使います。 class ButtonHandler implements ActionListener { public void actionP
GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・本質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前置き Java において、メソッドへの引数はプリミティブ型だろうが参照型だろうが値渡しで渡されるのですが、いつまでたっても参照渡しという人が後をたちません。悲しい。 その理由 「参照渡し」と主張する人は、以下の二点のどちらか(あるいは両方)について誤解していることが多いように思われます。 Java における「参照」とは何かがわかっていない そもそも「値渡し」と「参照渡し」が何なのかわかっていない なので、その二点について説明してみます。 説明 Java における「参照」とは JLS - 4.3.1 より An object is a
Scalaの良いところ 現代的なプログラミングについて学べる 実用的なアプリケーションが作成できる 関数型言語、オブジェクト指向言語(C++, Java)などの良いところを吸収している 関数定義のための簡潔な構文 オブジェクトを使ってデータ構造、コンテキストを定義 Syntaxが簡潔(コードを短く書けるのは武器) そのため、言語の不備と戦うための技術から解放される テンプレートによるHack (Modern C++ Design) 言語の不備を乗り越えるためのデザインパターン JavaでのVisitorパターンなどはScalaでは不要。パターンマッチを使えば良い ただし、Scala特有のデザインパターンはある (Loan, concept, cake pattern, monadなどなど) Rubyもprimitive型を捨て、オブジェクト指向に徹することで良いデザインの言語になっている
あなたとスレッドダンプ - スレッドダンプ入門 - この国では犬が が非常にわかりやすく、自分でブログエントリを書く必要はないが、Oracle Database や Linux の性能分析に携わる者の観点から Java のスレッドダンプについて整理してみた。具体的なスレッドダンプの分析方法はサポートエンジニアが語るWebLogic Serverトラブルシュートのノウハウがとてもわかりやすい。 WebLogic のスレッドダンプの見方については id:yamadamn さんの スレッドダンプから見るWebLogic Serverの世界 #javaee - yamadamnのはてな日記 がわかりやすい。 スレッドダンプとは Javaのスレッドのスナップショット。 取得した瞬間のJava仮想マシン(JVM)内に存在するスレッド(ID、名前、状態、タイプなど)とコールスタックを見ることができる。
概要 AndroidをJavaで書くマンしている 今まで、staticに突っ込んだ値は、アプリのプロセスが終わるまでは生きていると思っていた プロセスが終わるまで生きてるんだから、staticに値つっこんで管理せばええやろ〜〜〜と思って、そういったコードを書いている箇所があった 今回の場合、staticフィールドに状態を持たせるようなコードを書いていた 「staticの値って、ホントにプロセス終わるまで生きてるの?」「その理解、ホント?」とレビューで突っ込まれた 先に書いていた理解してた事柄は、学生の時に「そうなんだ〜。ふ〜ん。」程度に覚えていた知識で自信もなかったので、調べたのでそのメモ 先に結論 staticも初期化される可能性は普通にある staticとするのは定数のみにして、状態管理に使わないほうが良さそう (この理解に間違いがあれば、何かしらでツッコミを入れてもらえると、とてもあ
aws-sdk-java 1.11.179 を参照して書いています。 AWS SDK for Java はデフォルトでいろんな場所から認証情報を読み込みます。 DefaultAWSCredentialsProviderChain の JavaDoc を見ると結構書いてあります。これと各 Provider の実装を見ながらどうなっているか見ていきます。 次のものを順番に試して最初に見つかった認証情報を利用するようになっています。 環境変数 EnvironmentVariableCredentialsProvider AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY 環境変数 (Java 以外の SDK でも利用しているのでこちらのほうがオススメ) AWS_ACCESS_KEY と AWS_SECRET_KEY 環境変数 AWS STS を利用する場合は AW
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く