Submit Search
Upload
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
•
5 likes
•
9,498 views
T
torutk
Follow
JJUG CCC 2016 Spring I-5 Session
Read less
Read more
Software
Report
Share
Report
Share
1 of 78
Download now
Download to read offline
Recommended
LEAN STARTUP OVERVIEW
LEAN STARTUP OVERVIEW
Itsuki Kuroda
QM-063-工業工程七大手法
QM-063-工業工程七大手法
handbook
精實生產的實踐 Lean Production
精實生產的實踐 Lean Production
Fast SiC Semiconductor Inc.
人機作業分析 man machine chart
人機作業分析 man machine chart
Fast SiC Semiconductor Inc.
系統思考介紹 Pdf 2015_4_19
系統思考介紹 Pdf 2015_4_19
Richard Lin
新規事業・起業を妨げる「ビジネスモデル症候群」とは
新規事業・起業を妨げる「ビジネスモデル症候群」とは
Lean Startup Japan LLC
課題型中常用的 4種創意發想 Creative idea for QC story
課題型中常用的 4種創意發想 Creative idea for QC story
Fast SiC Semiconductor Inc.
転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識
Takaaki Umada
Recommended
LEAN STARTUP OVERVIEW
LEAN STARTUP OVERVIEW
Itsuki Kuroda
QM-063-工業工程七大手法
QM-063-工業工程七大手法
handbook
精實生產的實踐 Lean Production
精實生產的實踐 Lean Production
Fast SiC Semiconductor Inc.
人機作業分析 man machine chart
人機作業分析 man machine chart
Fast SiC Semiconductor Inc.
系統思考介紹 Pdf 2015_4_19
系統思考介紹 Pdf 2015_4_19
Richard Lin
新規事業・起業を妨げる「ビジネスモデル症候群」とは
新規事業・起業を妨げる「ビジネスモデル症候群」とは
Lean Startup Japan LLC
課題型中常用的 4種創意發想 Creative idea for QC story
課題型中常用的 4種創意發想 Creative idea for QC story
Fast SiC Semiconductor Inc.
転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識
Takaaki Umada
LEANSTARTUPの現場 #leanstartup
LEANSTARTUPの現場 #leanstartup
Itsuki Kuroda
KPTの基本と、その活用法
KPTの基本と、その活用法
ESM SEC
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
Takaaki Umada
俺も!KPTA 公開用
俺も!KPTA 公開用
ESM SEC
職場36禁
職場36禁
akai chang
【經理人講堂】目標設定:14項規劃工具
【經理人講堂】目標設定:14項規劃工具
周建良 Zhou Jian Liang
敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊
William Yeh
機械学習の課題設定講座
機械学習の課題設定講座
幹雄 小川
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
周建良 Zhou Jian Liang
設備工具管理 Equipment management
設備工具管理 Equipment management
Fast SiC Semiconductor Inc.
文本分析寫作要點
文本分析寫作要點
國立清華大學寫作中心
リーンスタートアップ概論
リーンスタートアップ概論
Itsuki Kuroda
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
Stefan Nüsperling
工作團隊與團隊協作方法 B2-1-詹翔霖教授
工作團隊與團隊協作方法 B2-1-詹翔霖教授
翔霖 詹
情報アーキテクチャ入門
情報アーキテクチャ入門
Manami Nakamura
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
Kenji Hiranabe
1から学ぶスクラム
1から学ぶスクラム
Keisuke Izumiya
スタートアップの戦略&ビジネスモデルの考え方
スタートアップの戦略&ビジネスモデルの考え方
Takaaki Umada
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Stefan Nüsperling
Hello Java
Hello Java
Chihiro Ito
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
More Related Content
What's hot
LEANSTARTUPの現場 #leanstartup
LEANSTARTUPの現場 #leanstartup
Itsuki Kuroda
KPTの基本と、その活用法
KPTの基本と、その活用法
ESM SEC
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
Takaaki Umada
俺も!KPTA 公開用
俺も!KPTA 公開用
ESM SEC
職場36禁
職場36禁
akai chang
【經理人講堂】目標設定:14項規劃工具
【經理人講堂】目標設定:14項規劃工具
周建良 Zhou Jian Liang
敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊
William Yeh
機械学習の課題設定講座
機械学習の課題設定講座
幹雄 小川
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
周建良 Zhou Jian Liang
設備工具管理 Equipment management
設備工具管理 Equipment management
Fast SiC Semiconductor Inc.
文本分析寫作要點
文本分析寫作要點
國立清華大學寫作中心
リーンスタートアップ概論
リーンスタートアップ概論
Itsuki Kuroda
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
Stefan Nüsperling
工作團隊與團隊協作方法 B2-1-詹翔霖教授
工作團隊與團隊協作方法 B2-1-詹翔霖教授
翔霖 詹
情報アーキテクチャ入門
情報アーキテクチャ入門
Manami Nakamura
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
Kenji Hiranabe
1から学ぶスクラム
1から学ぶスクラム
Keisuke Izumiya
スタートアップの戦略&ビジネスモデルの考え方
スタートアップの戦略&ビジネスモデルの考え方
Takaaki Umada
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Stefan Nüsperling
What's hot
(20)
LEANSTARTUPの現場 #leanstartup
LEANSTARTUPの現場 #leanstartup
KPTの基本と、その活用法
KPTの基本と、その活用法
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
チームワーク、努力、勝利 / スタートアップのチームワークとコミュニケーション
俺も!KPTA 公開用
俺も!KPTA 公開用
職場36禁
職場36禁
【經理人講堂】目標設定:14項規劃工具
【經理人講堂】目標設定:14項規劃工具
敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊
機械学習の課題設定講座
機械学習の課題設定講座
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
【領導管理】10種摧毀團隊的領導方式 (10 leadership traits that will kill your company)
設備工具管理 Equipment management
設備工具管理 Equipment management
文本分析寫作要點
文本分析寫作要點
リーンスタートアップ概論
リーンスタートアップ概論
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
Lean Change Management - チーム・組織に変化を起こす!オリジナルのチェンジ・フレームワークを構築する方法
工作團隊與團隊協作方法 B2-1-詹翔霖教授
工作團隊與團隊協作方法 B2-1-詹翔霖教授
情報アーキテクチャ入門
情報アーキテクチャ入門
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
1から学ぶスクラム
1から学ぶスクラム
スタートアップの戦略&ビジネスモデルの考え方
スタートアップの戦略&ビジネスモデルの考え方
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Lean Change Management Hot Seat(もやもや整理シート)- Scrum Fest Sapporo
Similar to Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Hello Java
Hello Java
Chihiro Ito
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
Heap statsfx analyzer
Heap statsfx analyzer
Yasumasa Suenaga
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
Tomohiro Ohtake
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみよう
Masayuki Ozawa
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
光晶 上原
Power shellmemo
Power shellmemo
ytanno
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用
Tomokazu Kizawa
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
0621 ndk game
0621 ndk game
cat kaotaro
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
はじめての Azure 開発
はじめての Azure 開発
Yoshitaka Seo
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
Masanori Satoh
Visual studio de debug
Visual studio de debug
Kazushi Kamegawa
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
normalian
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
Similar to Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
(20)
Hello Java
Hello Java
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Heap statsfx analyzer
Heap statsfx analyzer
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみよう
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
Power shellmemo
Power shellmemo
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用
Play jjug2012spring
Play jjug2012spring
0621 ndk game
0621 ndk game
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
はじめての Azure 開発
はじめての Azure 開発
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
Visual studio de debug
Visual studio de debug
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
More from torutk
LL2021 Java update
LL2021 Java update
torutk
Jjugccc2017spring m6 javafx
Jjugccc2017spring m6 javafx
torutk
JJUG CCC 2016 Fall: World is not a square, rendering world coastline map with...
JJUG CCC 2016 Fall: World is not a square, rendering world coastline map with...
torutk
LLoT2016 Java Update
LLoT2016 Java Update
torutk
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
torutk
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
torutk
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)
torutk
Jjug night seminar201208_lt_cxxからjvm起動
Jjug night seminar201208_lt_cxxからjvm起動
torutk
2012年javaメモリリーク
2012年javaメモリリーク
torutk
2011年javaの旅
2011年javaの旅
torutk
More from torutk
(10)
LL2021 Java update
LL2021 Java update
Jjugccc2017spring m6 javafx
Jjugccc2017spring m6 javafx
JJUG CCC 2016 Fall: World is not a square, rendering world coastline map with...
JJUG CCC 2016 Fall: World is not a square, rendering world coastline map with...
LLoT2016 Java Update
LLoT2016 Java Update
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)
Jjug night seminar201208_lt_cxxからjvm起動
Jjug night seminar201208_lt_cxxからjvm起動
2012年javaメモリリーク
2012年javaメモリリーク
2011年javaの旅
2011年javaの旅
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
1.
Javaデスクトッププログラムをふつーの Windowsプログラムのように配布・実行 する方法とPCの動きが重くならないように 気を付けること JJUG CCC Spring
2016 I-5 高橋 徹
2.
高橋 徹の自己紹介 – コミュニティ活動 毎月1回読書会開催中 –
ブログ等 • ブログ http://d.hatena.ne.jp/torutk/ 他 • Twitter @boochnich 2016-01~今 2015-06~12
3.
アジェンダ 1. Java プログラムを使ってもらう 2.
Windows インストーラー 3. メモリと CPU 4. 簡単につくる 5. あれこれ注文をつける
4.
Javaプログラムを使ってもらう
5.
Javaプログラムを使ってもらう • 簡単な配布、インストール、実行 • CPUやメモリの使用は控え目
6.
カレントディレクトリはjarファイル を置いたフォルダではなくその上 のフォルダになるようにして下さ い。32bit版JREの方にしてください。 よくあるJavaプログラム配布シーン 動かすにはJavaを入れてください 。JDKでもJREでも良いっす。 あっ、Javaはバージョン8でお願い します。 あっ、Javaはバージョン8u40以上 でお願いします。 あっ、環境変数JAVA_HOMEを設 定してください。 バッチファイルのパスをファイル を、プログラムを置いたフォルダ に修正して下さい。空白の含ま れるパスはだめです。
7.
簡単な配布、インストール、実行 Microsoft Windows インストーラー
8.
CPUやメモリの使用は控え目 Process Explorer の
System Information画面 多数のJavaプログラム(64bit)を実行すると、 CPU、メモリとも増加量が著しい
9.
Javaプログラムを使ってもらう • 簡単な配布、インストール、実行 • CPUやメモリの使用は控え目 •
Windowsインストーラーを作成 • CPUやメモリの使用を抑制
10.
アジェンダ 1. Java プログラムを使ってもらう 2.
Windows インストーラー 3. メモリと CPU 4. 簡単につくる 5. あれこれ注文をつける
11.
自己完結型アプリケーションスタンドアロンアプリケーション Windowsインストーラー • javapackager – 次の機能を持つJDK標準コマンド •
CSSファイルをバイナリ形式に変換 • JARアーカイブファイルを作成 • 再配布用パッケージを作成 • JARファイルを署名 アプリケーション アプリケーション JRE JRE OS X • dmg • pkg • mac.appStore Linux • rpm • deb Windows • msi • exe
12.
Windowsインストーラー作成環境 • Java SE
Development Kit 8 • WiX Toolset 3.10 http://wixtoolset.org • NetBeans IDE 8.1 Microsoftのオープンソース第1号(2004年)
13.
Windowsインストーラーの作成 デモ1
14.
アジェンダ 1. Java プログラムを使ってもらう 2.
Windows インストーラー 3. メモリと CPU 4. 簡単につくる 5. あれこれ注文をつける
15.
PCのリソース(メモリとCPU) 典型的なノートPCの仕様 CPU Intel 2core/4thread
2GHz メモリ 8GB OS Windows 10 64bit
16.
PCのリソース(メモリとCPU) https://software.intel.com/en-us/articles/heterogeneous-computing-pipelining 典型的なノートPCの仕様 CPU Intel 2core/4thread
2GHz メモリ 8GB OS Windows 10 64bit
17.
PCのリソース(メモリとCPU) 演算処理 (同時8命令) L1キャッシュメモリ (命令32KB + データ32KB) L2キャッシュメモリ (256KB) Haswellマイクロアーキテクチャ
18.
PCのリソース(メモリとCPU) 演算処理 (同時8命令) L1キャッシュメモリ (命令32KB + データ32KB) L2キャッシュメモリ (256KB) thread
thread キャッシュ半減、競合増大 ハイパースレッディングに注意 CPU coreは2つだが、JavaVMから はCPUが4つと見える。
19.
PCのリソース(メモリとCPU) Oracle Java RE
8 64bit版 Oracle Java RE 32bit版 JITコンパイルスレッド数(種類) 3(Tiered Compile) 1(Client Compiler) GCスレッド数(種類) 4(Parallel) 1(Serial) 合計 7 2 JITコンパイル・GCスレッド数のデフォルト (CPU:Intel 2core/4thread) (「Javaパフォーマンス」より) 64bit JavaVMはCPU数に応じてスレッドを使用
20.
PCのリソース(メモリとCPU) Oracle Java RE
8 64bit版 Oracle Java RE 8 32bit版 初期ヒープサイズ 128MB 16MB 最大ヒープサイズ 2GB 256MB メタスペースサイズ 20.75MB 12MB スタックサイズ(20スレッド分) 20MB 6.25MB 64bit JavaVMはメモリの使用が多い ヒープ、メタスペース、スタックメモリのデフォルト (メモリ8GB搭載) (「Javaパフォーマンス」より)
21.
PCのリソース(メモリとCPU) • Process Explorerツールで使用メモリを測定 –
入手先「Windows Sysinternals」 https://technet.microsoft.com/ja-jp/sysinternals/bb842062.aspx – procexp.exe http://ec.nikkeibp.co.jp/item/books/P94640.html
22.
PCのリソース(メモリとCPU) デモ2
23.
PCのリソース(メモリとCPU) Process Explorer の
System Information画面 多数のJavaプログラムを実行すると、 CPU、メモリとも増加量が著しいJavaプログラムを32bit JavaVM上で実行すると、 特にメモリの増加量を抑制できた
24.
Javaプログラムの配布とPCのリソース • Windowsインストーラーを作成 • CPUやメモリの使用を抑制 •
javapackagerでWindowsインス トーラー(MSI形式)を作成 • 32bit JavaVMでCPUやメモリの 使用を抑制
25.
アジェンダ 1. Java プログラムを使ってもらう 2.
Windows インストーラー 3. メモリと CPU 4. 簡単につくる 5. あれこれ注文をつける
26.
簡単につくる • NetBeans IDE
でWindowsインストーラー作成 インストーラー作成 メニューが用意
27.
簡単につくる デモ3
28.
アジェンダ 1. Java プログラムを使ってもらう 2.
Windows インストーラー 3. メモリと CPU 4. 簡単につくる 5. あれこれ注文をつける
29.
あれこれ注文をつける • JDK8のjavapackagerではできないこと – 非ASCII文字での属性値設定 –
メジャーアップグレード・インストーラー作成 – インストール先のカスタマイズ – インストーラーUI • WiX Toolsetの世界で制御する
30.
あれこれ注文をつける WiXソース ファイル (*.wxs) candle.exe light.exe WiXオブジェクト ファイル (*.wxsobj) WiXでMSI作成 Java実行環境 (JRE) アーカイブファイル (*.jar) 設定ファイル等 インストーラー (*.msi)
31.
あれこれ注文をつける • javapackagerを-vオプション付きで実行 – javapackagerが%Temp%下に生成するWiXソースファイルのパスが表示 されるので、これを取得していじる •
<JDK>¥lib¥ant-javafx.jarに含まれるtemplate.wxsを取り出していじる – javapackagerを実行するディレクトリ下に、 package¥windows¥JarManifestViewer.wxs のようにアプリケーション名 で保存すると、javapackagerがテンプレートとして利用する。
32.
あれこれ注文をつける デモ4
33.
まとめ – JavaプログラムをWindowsインストーラーで配布 – CPUとメモリを控え目に使うには32bit版Javaで実行
34.
デモ内容
35.
javapackager -deploy -native
msi ^ -outdir dist -outfile JarManifestViewer ^ -srcdir dist -srcfiles jarmanifestviewer.jar ^ -appclass com.torutk.jarmanifest.JarManifestViewer ^ -description "View for JAR file manifest" ^ -name JarManifestViewer ^ -vendor Torutk ^ -BappVersion=1.0 ^ -Bwin.menuGroup="Torutk Tools" デモ1 createmsi.ps1
36.
デモ1 • Javapackagerで作成したMSIのインストール
37.
デモ1 • javapackagerで作成したMSIのインストール
38.
デモ1 • プログラム実行
39.
デモ2 • メモリ JDK 8u92
64bit版 JDK 8u92 32bit版 64bit JVM 32bit JVM Private Bytes 318MB 88MB Working Set - Private 110MB 50MB Virsutal Size 3717MB 551MB プロセスの使用メモリを調べるには、 Private Bytesを見るのが有用。
40.
デモ2 • CPU(スレッド) JDK 8u92
64bit版 JDK 8u92 32bit版 64bit JVM 32bit JVM Private Bytes 318MB 88MB Working Set - Private 110MB 50MB Virsutal Size 3717MB 551MB
41.
デモ3 プロジェクトを右クリックし、 プロパティを開く
42.
デモ3 JavaFX種類のプロジェクト・プロパティでの設定 Windowsインストーラの作成 システム共通(Program Filess) にインストール
43.
デモ3 Javaアプリケーション種類のプロジェクト・プロパティでの設定 Windowsインストーラの作成 細かな設定が必要な場合は、 プロジェクトをJavaFXアプリケー ション種類に切り替え
44.
デモ3 ・アプリケーション名 ・インストーラーファイルの名称部分 ・実行ファイル(.exe)名 ・ショートカット名 ・コントロールパネルの開発元 ・スタートメニューのフォルダ名 ・インストーラーファイルのバージョ ン名部分 ・コントロールパネルのバージョン 注記)日本語等非ASCII文字を指定するとエラーとなります
45.
デモ3 プロジェクトを右クリックし、 パッケージとして > MSIインストーラ を実行する
46.
デモ3 ファイルタブを選択 プロジェクト下のdist¥bundles下に インストーラファイルが生成
47.
デモ3
48.
デモ4 (1)プロジェクト直下にpackage¥windowsフォルダを作成 (2)JDKのlib¥ant-javafx.jar をzip解凍ツールで 開き、 (3)その中からtemplate.wxs を 取り出し、 (4)JarManifestViewer.wxs
に変えて保存
49.
デモ4 (1)UUIDを生成 (2)JarManifestViewer.wxsの編集 <MajorUpgrade DowngradeErrorMessage="Already new [ProductName]
installed. Stopping to install." /> (3)javapackager実行
50.
補遺
51.
補遺 ソース ファイル (*.java) コンパイラ javac クラス ファイル (*.class) ソース ファイル (*.java) クラス ファイル (*.class) 各種 リソース ファイル 各種 リソース ファイル アーカイバ jar アーカイブ ファイル (*.jar) 外部 ライブラリ (*.jar) 外部 ライブラリ (*.jar) Javaプログラムのコンパイルと実行の流れ(非インストーラー)
52.
補遺 java Java実行環境 (JRE) アーカイブ ファイル (*.jar) 設定ファイル等 外部 ライブラリ (*.jar) 外部 ライブラリ (*.jar) Javaプログラムのコンパイルと実行の流れ(非インストーラー)
53.
補遺 javapackager Java実行環境 (JRE) アーカイブファイル (*.jar) 設定ファイル等 javapackager でインストーラーファイルを作る インストーラー (*.msi) javapackager は、Java
SE 8u20から搭載 (それ以前のjavafxpackagerのリネーム) 外部ライブラリ (*.jar) 外部ライブラリ (*.jar)
54.
補遺 インストーラー (*.msi) インストール ショートカット Java実行環境(JRE) 設定ファイル等 アーカイブファイル (*.jar) 実行ファイル (*.exe) 外部ライブラリ(*.jar)
55.
補遺 Windowsのコントロールパネルから プログラム名、発行元、バージョン等 を参照できる アンインストールも簡単 コントロールパネルのプログラムと機能でインストール情報の確認
56.
補遺 Windows Management Instrumentation Windows
OSのシステム情報の収集・監視・管理を行う仕組み • Get-WmiObjectコマンドレット リモートマシンの情報取得も可(-ComputerNameオプション) MSI形式のインストーラでインストールしたものに限る
57.
補遺 Windows OS上の主要インストーラー作成ツール Windowsインストーラー(MSI) InstallShield http://www.networld.co.jp/product/is/ 商用製品。 Professional版(ノードロック)46万、 フローティング160万/ユーザー 限定版(LE)の権利がVisual
Studio 2012~ (Professional以上) Visual Studio Installer 商用製品のVisual Studioの拡張機能(無償) WiX toolset http://wixtoolset.org/ 無償 Java SE 8のjavapackagerは、 WiX toolsetまたはInno Setupを使う Windowsインストーラー形式(MSI)を作成するもの、独自インストーラー形式を作成するものが ある 独自インストーラー Inno Setup http://www.jrsoftware.org/isinfo.php 無償 NSIS http://nsis.sourceforge.net/ 無償
58.
補遺 WiX Toolsetのインストール
59.
補遺 WiX Toolsetのインストール
60.
補遺 WiX Toolsetのインストール
61.
補遺 WiX Toolsetのインストール
62.
補遺 WiX Toolsetのインストール
63.
補遺 WiX Toolsetのインストール
64.
補遺 WiX Toolsetのインストール
65.
補遺 • WiX Toolset –
msiファイルからwxsを生成 WiXソース ファイル (*.wxs)dark.exe インストーラー (*.msi)
66.
補遺 WiX Toolset参考情報 WiXチュートリアル日本語訳 http://wix-tutorial-ja.github.io/toc.html
書籍(洋書)「WiX 3.6: A Developer’s Guide to Windows Installer XML」 Windows Installer/WiX/Installshield メーリングリスト http://www.freeml.com/msi
67.
補遺 • javapackager – 次の機能を持つJDK標準コマンド •
CSSファイルをバイナリ形式に変換 • JARアーカイブファイルを作成 • 再配布用パッケージを作成 • JARファイルを署名 – オプション説明 https://docs.oracle.com/javase/jp/8/docs/technotes/tools/windo ws/javapackager.html
68.
補遺 • javapackager – 再配布パッケージ(MSI)作成時 •
バージョン番号の指定可能形式 <A>.<B>.<C> A: 0~255 B: 0~255 C: 0~65535 http://msdn.microsoft.com/en-us/library/aa370859%28v=VS.85%29.aspx ※ MSI(WiX Toolset)では実は4つの数値の組み合わせが指定可能で、バージョン番号の比 較(新旧)をチェックするときには最後(4つ目)の数値を無視する
69.
補遺 Intel 64 and
IA-32 Architectures Optimization Reference Manual より 同時8命令 (Port 0~7) 但し、Portにより実 行可能な命令が 異なる。 ALU(演算装置)4つ LD/STA(メモリ読み 書き)4つ 第4世代Coreプロセッサ Haswell マイクロアーキテクチャ
70.
補遺 JavaVM 32bitか64bitか、それが問題だ 32bit版の優位点 ヒープサイズが小さいとき、メモリ使用 量が少なくメモリ参照が高速
JITクライアントコンパイラのみを使用可 能 32bit版の欠点 プロセス合計サイズが2GB以下に制限 long型、double型で64bitレジスタを利用で きず低速 書籍「Javaパフォーマンス」より OSが32bitであれば、Java VMは32bitのみ。OSが64bitのときは、Java VMは32bitも64bit も選択可能。
71.
補遺 JITコンパイラの使用するスレッド数 書籍「Javaパフォーマンス」4.5.1より 32bit版は、クライアントコンパイラ(C1)とサーバーコンパイラ(C2)の選択が可能 64bit版は、階層コンパイラ(C1+C2)とサーバーコンパイラ(C2)の選択が可能(C1のみの 選択は不可能) CPU数 C1 C2
C1+C2 1 1 1 2 2 1 1 2 4 1 2 3 8 1 2 3 16 2 6 8 -XX:CICompilerCount=N で合計スレッド数の指定可能
72.
補遺 GCの使用するスレッド数 書籍「Javaパフォーマンス」5.2.4より 32bit版は、デフォルトでシリアルGC 64bit版は、デフォルトで並列(スループット)GC CPU数 シリアルGC 並列GC
備考 1 1 1 8個までは、CPUごとに1つ 2 1 2 4 1 4 8 1 8 16 1 13 8 + 5(𝑁 −8) 8 -XX:ParallelGCThreads=N で合計スレッド数の指定可能
73.
補遺 初期ヒープサイズ 書籍「Javaパフォーマンス」5.2.3より 32bit版(クライアントVM)は、デフォルトで12MB 32bit版(サーバーVM)は、デフォルトで16MB 64bit版は、デフォルトで20.75MB -XX:MetaspaceSize=N でメタスペース初期サイズの指定可能 物理メモリが192MB以下のマシン ・デフォルトで物理メモリの1/2 物理メモリが192MBより大きいマシン ・32bit版(サーバーVM)は、デフォルトで16MB 64bit版は、デフォルトで20.75MB
74.
補遺 メタスペースの初期サイズ 書籍「Javaパフォーマンス」5.2.3より 32bit版(クライアントVM)は、デフォルトで12MB 32bit版(サーバーVM)は、デフォルトで16MB 64bit版は、デフォルトで20.75MB -XX:MetaspaceSize=N でメタスペース初期サイズの指定可能
75.
補遺 スレッドの使用するスタックサイズ 書籍「Javaパフォーマンス」9.4.1より 32bit版は、デフォルトで320KB 64bit版は、デフォルトで1MB -Xss=N でスレッドあたりのスタックサイズの指定可能 メインスレッドのスタック サイズは-Xssで指定した ものとは別
76.
補遺 • JavaVM 64bit上で実行する場合 –
32bit版JavaVMと近い設定をする -Xms16m -Xmx256m -Xss320k -XX:+UseSerialGC -XX:CICompilerCount=2 JavaVM 32bit JavaVM 64bit JavaVM 64bit 調整 Private Bytes 66MB 304MB 107MB Working Set Private 37MB 87MB 61MB
77.
補遺 使用 (一部) 予約 空き使用 Virsutal Size Private
Bytes Working Set - Private †1) 他のプロセスと共有可能なメ モリはPrivate BytesとWorking Set - Privateには含まれない †1 • Windows OS上のプロセスのメモリ管理 †1 仮想アドレス空間 物理メモリ †2) 物理メモリ上には実際にはリ ニアに配置されることはない †2 Private Bytesに着目
78.
補遺 • Windowsのメモリ項目は計測ツールにより呼び方 がゆらぐ 項目 パフォーマンス カウンタ Process Explorer タスクマネー ジャ 仮想サイズ
Virtual Bytes Virtual Size コミットサイズ Private Bytes Private Bytes コミットサイズ ワーキングセット Working Set Working Set ワーキングセッ ト(メモリ) プライベートワーキン グセット Working Set - Private WS Private メモリ
Download now