タグ

関連タグで絞り込む (172)

タグの絞り込みを解除

javaに関するsyuu256のブックマーク (177)

  • Visual Studio CodeでJava環境を作成してみた

    ※1JVMオプションを下記のように変更しました。 -Xms2048m -Xmx4096m 変更方法は下記サイト(2021年5月11日時点)を参考しました。 https://pleiades.io/help/idea/tuning-the-ide.html#common-jvm-options VSCodeの起動が早いことが確認できました。 しかしIntelliJ IDEAでもJVMオプション変更後はまぁまぁ早いので、これでも良いかなと感じました。 Java環境作成 VSCodeJava環境を作成するにあたっては公式サイトやググってもらうといっぱい出てきます。 僕が試した2021年5月時点では下記のようにしました。 拡張機能のインストール Javaとビルドツール(Gradle)に関する拡張機能をインストールしました。 Java Extension Pack・・・必要な拡張機能を全て入れてく

    Visual Studio CodeでJava環境を作成してみた
    syuu256
    syuu256 2021/05/19
  • Javaで使えるオープンソース・キャッシュライブラリ - CLOVER🍀

    最近は、仕事でEhcacheを使っていたり、他にも調べたりすることがあったので、ちょっとJavaで使えるオープンソースなキャッシュライブラリについてまとめてみることにしました。 あ、そんなに大した内容ではないので、ご期待なさらぬよう…。 でまあ、改めて調べてみた感想としては、Ehcacheが現状デファクトになっていることが改めてわかった感じですね。Javaのキャッシュライブラリって、そこそこ数が見つかるんですけど、開発が止まってしまっているものが多かったり、ドキュメントも全然ないというものもけっこう多くて、割とカオス…。 しかも、軽量で気軽に導入できるキャッシュライブラリって、今はない感じですね。Guavaがキャッシュだけで独立していれば…。EhcacheとかInfinispanだと、機能で困ることはないと思いますが、ちょいと大きいですよね。 調べる時に気になるのは、以下のようなところでし

    Javaで使えるオープンソース・キャッシュライブラリ - CLOVER🍀
  • Kotlinの隠れたコストについてのベンチマーク | POSTD

    @BladeCoder が書いた Kotlinの隠れたコストの調査 という一連のブログ記事は、ある Kotlin 構文にどのように隠れたコストがあるのかを説明しました。 実際の隠れたコストは、普通、不可視オブジェクトのインスタンス化やプリミティブ値のボクシング/アンボクシングに起因します。これらのコストは、Kotlinコンパイラがどのように上記の構文をJVMのバイトコードに変換するのかを理解していない開発者には特に見えづらいのです。 しかし、何らかの数字を示さずに隠れたコストの話をするだけでは、実際にどのくらいコストのことを心配すべきなのかという疑問が湧いてきます。コードベースのいたるところで、これらのコストを考慮すべきでしょうか?あるKotlin構文は単に全面的に禁止されるべきでしょうか?あるいは、最も範囲の狭い内部ループの中でだけ考慮されるべきでしょうか? さらに挑発的な言い方をすれば

    Kotlinの隠れたコストについてのベンチマーク | POSTD
  • DoppioJVM: A JVM in JavaScript

    Click the button to start the demo. The demo will immediately preload a 40MB file containing the Java Class Library. Start the Demo OS Resources Contains support for a variety of UNIX-like operating system resources, including: Thread Pool: Emulates multiple concurrent threads, letting DoppioJVM support multithreaded JVM programs. File System: Maps files and directories to browser storage, cloud s

  • Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

    元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ

    Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
  • Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ

    一般的な Web Application Server *1 を Java8 で動かすにあたって,最近有効にしている起動オプションについてメモ. 何か間違っていたり,あるいは「こっちの方が良い」みたいなのがあれば教えて下さい. -server server mode で起動させる (指定しないと client mode になる可能性がある,マシンスペックによってスイッチする?). -Djava.net.preferIPv4Stack=true If IPv6 is available on the operating system the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, and accept connections from,

    Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ
  • J2ObjC 1.0 Release

    The latest news from Google on open source releases, major projects, events, and student outreach programs. We are pleased to announce the 1.0 release of J2ObjC, a Google-authored open-source compiler that lets iPhone/iPad applications use Java code. J2ObjC's goal is to support the sharing of an application's non-UI code (such as data access, or application logic) by writing it once in Java, then

    J2ObjC 1.0 Release
  • サーバサイドで複数Web APIを呼び出すときのデザインパターン - Qiita

    最近はエンタープライズのシステムでも、Web APIによるシステム間連携が増えてきました。そうしたときに、1リクエストで複数の連携先APIを実行し、結果をクライアントに返すということがままあります。 どう作りましょうか、という問題です。 前提として、サーバサイドでHTMLレンダリングせずに、Web APIの中継することとします。中継する意義は、流量やキャッシュをサーバサイドでコントロールできるところにあります。 クライアントから直接連携先のAPIにアクセスする設計にすると、リロードボタン連打などのDDoS攻撃うけたときに、自分たちでは対処できず、連携先に迷惑をかけてしまいますよね。特に「課金の関係などで直接APIをアクセスしなきゃいけないんだ」、とかでなければ、中継するように設計しておいた方がベターです。 Web APIの呼び出し 業務システムで使う場合は、ちゃんとリクエスト、レスポンスが

    サーバサイドで複数Web APIを呼び出すときのデザインパターン - Qiita
  • Java 8 の DateTimeFormatter の曜日等のフォーマットについて - tokuhirom's blog

    DateTimeFormatter を利用して曜日などのフォーマットを行おうとすると、実際どういうふうにフォーマットされるのかよくわからんということになる。 https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html をちらっと見ると、以下のように書いてあって、各シンボルが何を表すのかよくわからない。 Symbol Meaning Presentation Examples ------ ------- ------------ ------- G era text AD; Anno Domini; A u year year 2004; 04 y year-of-era year 2004; 04 D day-of-year number 189 M/L month-of-year n

    syuu256
    syuu256 2015/07/13
  • Hazelcastの設定をしてみよう - CLOVER🍀

    今まで、Hazelcastを使ってプログラムを書いている時はずっとデフォルトの設定だったのですが、そろそろ設定ファイルを書いてみようと思います。 Configuration http://www.hazelcast.com/docs/3.1/manual/single_html/#Config Hazelcastの設定には、XMLファイルによる設定とAPIによる設定があるのですが、それなりに項目が多かったり複雑な場合は設定ファイルで書く方が好きなので、XMLファイルで書きます。 設定ファイルのロード場所は、「-Dhazelcast.config」システムプロパティでファイルパスを指定するか、以下のクラスで指定する方法があるようです。 XmlConfigBuilder ClasspathXmlConfig FileSystemXmlConfig UrlXmlConfig InMemoryXm

    Hazelcastの設定をしてみよう - CLOVER🍀
  • 【間違い】Javaのパッケージ名に必ずドメイン名を含めなければいけないというのは現時点では古いらしい。 - 水まんじゅう2

    コメントにある通り、章立てが変わっただけらしいですね(・ω<) きちんと全部読みましょうというお話でした。 - Java SE 6 の言語使用では含めましょうとありました。 http://docs.oracle.com/javase/specs/jls/se6/html/packages.html#7.7 ただ、この7.7についてはJava SE 7、Java SE 8では削られているらしい。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html http://docs.oracle.com/javase/specs/jls/se8/html/jls-7.html 常に含めましょうといってるのは老害ですね。はい。

    【間違い】Javaのパッケージ名に必ずドメイン名を含めなければいけないというのは現時点では古いらしい。 - 水まんじゅう2
    syuu256
    syuu256 2015/03/19
  • よくわかる Apache Thrift J to R | Recruit Tech Blog

    はじめに この記事は、サーバサイドエンジニアの平凡な日常で得た Apache Thrift の基的な使い方を淡々と説明するものです。 過度な期待はしないでください。 それと、Swift1)アップルのiOSおよびOS Xのためのプログラミング言語と勘違いしてこのページを開いてしまった方にはすみません。 みさなまどうも。サーバサイドのエンジニアぶらいじぇんです。 エンジニアの皆様におかれましては、普段いかがおプログラミングでしょうか? さて、諸姉兄におきましてはサービスリリース浅く監視・運用厳しき折、既存のサービスとの連携とは名ばかりで無茶な実装せざるを得ないなんてこともままあるのではないでしょうか? 私に至っては、『このサービスの連携がこんなに難しいはずがない』とか『僕には解決策が少ない』とか感じてしまう今日此頃です。2)超訳すると、RoRのサービスでJavaAPIを叩きたかったときにT

    よくわかる Apache Thrift J to R | Recruit Tech Blog
  • [Vert.x]JVM上での非同期・Non Blockingフレームワーク – (1)開発環境構築とサンプルソース作成 | DevelopersIO

    はじめに 最近はJavaにも興味を持ち始めている、t.hondaです。Javaに関するフレームワークでVert.xを見つけたので、それについて書きたいと思います。 Vert.xは「Node.jsの特徴を受け継ぐJVM上で動くフレームワーク」といった感じのものですが、他にも以下のような特徴を持ちます。 多言語で記述可能(JavaScript, Ruby, Groovy, Javaなど) ブロッキングが発生するような処理(JDBCなど)を独立した処理として切り出すことで、全体をブロックしないようにすることが可能 他にも多くの特徴を持ちますが、以下に挙げるサイトに詳しいので参考にしてください。 Vert.x Main Manual Vert.x がいいね!(第1回:入門する) Vert.xのアーキテクチャ 開発環境構築〜サンプルソース作成 では、Vert.xの開発環境の構築とソースの作成です。M

    [Vert.x]JVM上での非同期・Non Blockingフレームワーク – (1)開発環境構築とサンプルソース作成 | DevelopersIO
  • Java SE 再入門

    Apache Kafka Meetup Japan #3 https://kafka-apache-jp.connpass.com/event/58619/ 発表資料

    Java SE 再入門
  • Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?

    LMAXという会社はおそらくFX業者で、筆者はLMAXの開発者の講演を、InfoQの動画で何度か見たことがあった。 彼らは非常に特異な集団で、さしずめ「Javaのスピード狂」という感じだ。 印象的なのは、シングルスレッドで仕事を片付けることを強調している点だ。 「Javaならマルチスレッドで並列処理すれば性能が出ると広く思われているが、我々の仕事においてはシングルスレッドが最速だ」というような主張を何度も見た。 ゴールドマンサックスといいLMAXといい、やはり多額の金が動く会社でガチでJavaをやっている連中はカリカリにチューニングするため、技術的には非常に面白い。 彼らがコアのライブラリをOSS化してくれるというのは、金融業界を否定的な目で見る筆者からすると複雑だが、悔しいことに参考になる。 LMAX DisruptorはJavaのライブラリだ。Producer/Consumerパターン

    Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?
  • Spring Bootで高速アプリ開発 | DevelopersIO

    Spring Bootとは いまから10年以上前、Spring frameworkは巨大化したJ2EEへのアンチテーゼとして登場し、 DIやAOPといった、当時の最新技術をもってWebアプリ開発に必要な機能を提供してくれました。 ※Spring frameworkについてはこのへん参照 Webアプリ開発において革新をもたらしたSpringでしたが、時間が経つにつれSpring frameworkまわりの さまざまなプロダクトが登場し、J2EE以上に肥大化していきました。 そこで最近登場したのが、今回紹介するSpring Bootです。 Spring Bootは「コードを全く生成することなく、XML構成ファイルなしで番環境で利用できる Springベースのアプリを作成し、すぐに実行できるようにすること」とのことです。 開発者がSpring Bootを使用することで、「Springプラットフ

    Spring Bootで高速アプリ開発 | DevelopersIO
  • JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 - きしだのHatena

    lombokは、JavaでのアクセッサやtoString、equalsなどボイラープレートなコードをコンパイル時に生成してくれるライブラリです。 ただ、こういったコードの生成は、IDEを使えば自動で行えるので、わざわざlombokを導入するまでもないと考えることもできますが、ぼくはlombokを導入するべきだと考えて、lombokを使うようにしました。 このとき「lombokを導入するべき」と考えた理由を書いておきます。 lombokとは lombokは冒頭でも書いたように、Javaのアクセッサなどを生成してくれるライブラリです。 Project Lombok import lombok.*; @Setter @Getter @AllArgsConstructor @NoArgsConstructor @ToString public class LombokSample { privat

    JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 - きしだのHatena
  • Java特有の冗長なコードを簡潔に記述する「Lombok」

    Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様

    Java特有の冗長なコードを簡潔に記述する「Lombok」
  • Java 8 Date and Time API の実践的なチートシートできたよ~ - tokuhirom's blog

    Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time::Piece というモジュールが一般的に日付の計算に使われており、iandeth.さんのブログエントリがチートシートとしてよく知られている。このいつも見慣れたエントリの体裁で、一般的な日時の操作を実用的に教えてくれるエントリが欲しくて書いた。 junit のテストケースとして書いてあるので、適当にコピペして QuickJUnit で動作確認するとよい(assertはしてないけど)。 なにかあれば教えていただけるとありがたいです。

  • Java 起動(Launcher)の仕組み - unnamed

    ※:この記事は下書き中に文ががっつり消えたため、知らずに部分的に端折ってるところがあるかもしれません。(´;ω;`) Java、すなわち JVM (HotSpot) を立ち上げた時、どういった処理が行われているのでしょうか。正確に知りたい場合は OpenJDK のソースコードを読むのが最も確実ですが、概要レベルでどのような処理が行われていて、それがソースコードのどのあたりに書かれているのか案内があった方がすんなりと理解できます。と言うわけで、自分用のメモ書きをちょっとだけ整理してここで公開してみます。 なお、自分の理解をベースに記述しているので間違いが含まれている可能性があります。見つけた場合はそっとコメントか @sugarlife にお教え頂けると大変喜びます。 Java の動作概要について Java、特に HotSpot の動作概要については、OpenJDK コミュニティによって「H

    Java 起動(Launcher)の仕組み - unnamed