javamat
A. 使用java聲明一個二維數組,給其賦值成為一個對角線為1其他元素為0的n階矩陣,並將其他各元素顯示出來~
package Object;
import java.util.*;
public class ConsumerTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("please input a number:");
int n = input.nextInt();
int arr[][] = new int[n][n];
System.out.println("please output:");
for (int i = 0; i < n; i++)
{ for (int j = 0; j < n; j++)
{
if ((i == j) | (i + j) == n - 1)//當i == j 時表示第一條對角線,當i + j == n-1 時表示第二條對角線
arr[i][j] = 1;
else
arr[i][j] = 0;
System.out.print(arr[i][j]+ "\t");
}
System.out.print("\n");
}
}
}//output
/*please input a number:4
please output:
1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1
*/
B. java怎麼讀取.mat文件的數據
寫一個matlab文件,
將mat文件讀進來,
再保存成dat文件,
就可以用java讀了!
C. 如何通過mat從java內存mp中找到緩存對象中的所有字元串
生成java內存mp文件
標准做法,jmap mp,需要sudo許可權,另外jmap指定的mp文件一定要是啟動服務的用戶可寫,比如可以新創建一個文件夾
sudo mkdir /home/q/memmp
sudo chown resin:resin /home/q/memmp
sudo -u resin /home/q/java/default/bin/jmap -mp:live,format=b,file=/home/q/memmp/memMap.20130527.hprof ${pid}
把mp文件拿到本地
把mp文件壓縮下,否則會很大,scp到本地
安裝mat
直接在eclipse里:
1.Help->Install New Software
2.輸入update site: http://download.eclipse.org/mat/1.2/update-site/,然後一直next就行了,安裝完重啟eclipse
3.最好創建一個單獨的workspace來放內存mp文件
把mp文件導入mat
1.打開eclipse,選擇上一步你創建的存放內存mp文件的workspace,我本機上是~/mat
2.打開剛才拿到本地的mp文件,然後等著mat解析就完了,注意這時候你可能需要修改eclipse安裝文件下的eclipse.ini,調整下eclipse的jvm參數(xms和xmx),把heap調大些,否則解析過程會報OOM
3.解析完後會生成一個Overview,我們一般會選擇org.apache.catalina.loader.WebappClassLoader,作為分析top
consumer的切入點,這是tomcat上web應用的classloader
4.單擊餅圖上org.apache.catalina.loader.WebappClassLoader的區域,會出現一個彈出菜單,選擇List
Objects->with incoming references,因為所有的web應用內的對象都會引用它們自己的class
loader,也就是org.apache.catalina.loader.WebappClassLoader
5.得到如下所示列表,單擊retained heap這個tab標簽可以排序,選擇按照佔用內存的大小倒排序,得到了top memory
consumers列表
定位緩存對象
我們關心的是top consumer里的RtTreeCache里,有多少重復房型,怎麼得到的呢,follow the steps:
1.查看RtTreeCache對象的outgoing
reference,因為我們需要看這個對象裡面的屬性,屬性對象也就是RtTreeCache對象引用的對象,也就是outgoing reference
2.找到我們需要分析的數據在對象結構中的位置
3.可以看到我們要查找的目標是RtTreeCache對象下的所有HotelRtTree對象的rtReverseMap對象屬性下的table數組內所有entry的key,我們接下來就看看怎麼把這個冗長的關系轉化成一個簡單的OQL語句
寫MAT OQL
OQL是MAT里的一個內嵌查詢語言,它的官方描述很形象:
Memory Analyzer has a built-in object query
language (OQL) that allows to query the heap mp with custom SQL-like queries. Just
think of classes as tables, objects as rows, and fields as columns.
總結
jmap + mat是我們分析java內存的利器,而通過mat
oql,我們可以從mp文件里提取出更多的類似於有多少內容相同的不同字元串對象等信息來幫助我們做技術決策。
D. 在java中運行tomcat的時候讀取mat文件 現在文件可以讀取了。如何放到緩存
放到共同的路徑,就可以讀出來了。。。。。。。。內容也放緩存,不實際;;;;放路徑到session就可以。。。。。。。。。。
E. java 應用程序中怎樣使 寫入的文件格式為mat格式
這個太多太多了,很難講,只能說說常見的.
A
ACE:Ace壓縮檔案格式
ACT:Microsoft office助手文件
AIF,AIFF:音頻互交換文件,Silicon Graphic and Macintosh應用程序的聲音格式
ANI:Windows系統中的動畫游標
ARC:LH ARC的壓縮檔案文件
ARJ:Robert Jung ARJ壓縮包文件
ASD:Microsoft Word的自動保存文件;Microsoft高級流媒體格式(microsoft advanced streaming
format,ASF)的描述文件;可用NSREX打開 Velvet Studio例子文件
ASF:Microsoft高級流媒體格式文件
ASM:匯編語言源文件,Pro/E裝配文件
ASP:動態網頁文件;ProComm Plus安裝與連接腳本文件;Astound介紹文件
AST:Astound多媒體文件;ClarisWorks「助手」文件
Axx:ARJ壓縮文件的分包序號文件,用於將一個大文件壓至幾個小的壓縮包中(xx取01-99的數字)
A3L:Authorware 3.x庫文件
A4L:Authorware 4.x庫文件
A5L:Authorware 5.x庫文件
A3M,A4M:Authorware Macintosh未打包文件
A3W,A4W,A5W:未打包的Authorware Windows文件
B
BAK:備份文件
BAS:BASIC源文件
BAT:批處理文件
BIN:二進制文件
BINHex:蘋果的一種編碼格式
BMP:Windows或OS/2點陣圖文件
BOOK:Adobe FrameMaker Book文件
BOX:Lotus Notes的郵箱文件
BPL:Borlard Delph 4打包庫
BSP:Quake圖形文件
BUN:CakeWalk 聲音捆綁文件(一種MIDI程序)
C
C0l:台風波形文件
CAB:Microsoft壓縮檔案文件
CAD:Softdek的Drafix CAD文件
CAM:Casio照相機格式
CAP:壓縮音樂文件格式
CAS:逗號分開的ASCⅡ文件
CCB:Visual Basic動態按鈕配置文件
CCH:Corel圖表文件
CCO:CyberChat數據文件
CCT:Macromedia Director Shockwave投影
CDA:CD音頻軌道
CDF:Microsoft頻道定義格式文件
CDI:Philip的高密盤交互格式
CDM:Visual dBASE自定義數據模塊文件
CDR:CorelDRAW繪圖文件;原始音頻CD數據文件
CDT:CorelDRAW模板
CDX:CorelDRAW壓縮繪圖文件;Microsoft Visual FoxPro索引文件
CFG:配置文件
CGI:公共網關介面腳本文件
CGM:計算機圖形元文件
CH:OS/2配置文件
CHK:由Windows磁碟碎片整理器或磁碟掃描保存的文件碎片
CHM:編譯過的HTML文件
CHP:Ventura Publisher章節文件
CHR:字元集(字體文件)
CHT:ChartViem文件;Harvard Graphics矢量文件
CIF:Adaptec CD 創建器 CD映像文件
CIL:Clip Gallery下載包
CIM:SimCity 2000文件
CIN:OS/2改變控制文件用於跟蹤INI文件中的變化
CLASS:Java類文件
CLP:Windows 剪貼板文件
CLL:Crick Software Clicker文件
CLS:Visual Basic類文件
CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CPI:Microsoft MS-DOS代碼頁信息文件
CPL:控制面板擴展名,Corel顏色板
CPP:C++代碼文件
CPR:Corel提供說明書文件
CPT:Corel 照片-繪畫圖像
CST:Macromedia Director Cast文件
CUR:Windows游標文件
D
DBF:dBASE文件,一種由Ashton-Tate創建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和類似資料庫或與資料庫有關產品識別;可用數據文件(能被Excel
97打開);Oracle 8.1.x表格空間文件
DBX:DataBearn圖像;Microsoft Visual FoxPro表格文件
DCT:Microsoft Visual FoxPro資料庫容器
DCU:Delphi編譯單元文件
DCX:Microsoft Visual FoxPro資料庫容器;基於PCX的傳真圖像;宏
DIR:MacromediaDirector文件
DLL:動態鏈接庫
DOC:FrameMaker或FrameBuilder文檔;Word Star文檔、Word
Perfect文檔、Microsoft:Word文檔;DisplayWrite文檔
DOT:Microsoft Word文檔模板
DPL:Borland Delph 3壓縮庫
DRV:驅動程序
DRW:Micrografx Designer/Draw;Pro/E繪畫文件
DSF:Micrografx Designer VFX文件
DSG:DOOM保存的文件
DSM:Dynamic Studio音樂模塊(MOD)文件
DSP:Microsoft Developer Studio工程文件
DSQ:Corel QUERY(查詢)文件
DST:刺綉機圖形文件
DSW:Microsoft Developer Studio工作區文件
DTA:World Bank(世界銀行)的STARS數據文件
DTD:SGML文檔類型定義(DTD)文件
DTED:地面高度數字數據(圖形的數據格式)文件
DTF:Symantec Q&A相關的資料庫數據文件
DTM:DigiTrakker模塊文件
DUN:Microsoft拔號網路導出文件
DV:數字視頻文件(MIME)
DWG:AutoCAD工程圖文件;AutoCAD或Generic CADD老版本的繪圖格式
DXR:Macromedia Director受保護(不可編輯)電影文件
E
EDA:Ensoniq ASR磁碟映像
EDD:元素定義文檔(FrameMaker+SGML文檔)
EDE:Ensoniq EPS磁碟映像
EDK:Ensoniq KT磁碟映像
EDQ:Ensoniq SQ1/SQ2/Ks32磁碟映像
EDS:Ensoniq SQ80磁碟映像
EDV:Ensoniq VFX-SD磁碟映像
EFA:Ensoniq ASR文件
EFE:Ensoniq EPS文件
EFK:Ensoniq KT文件
EFQ:Ensoniq SQ1/SQ2/Ks32文件
EFS:Ensoniq SQ80文件
EFV:Ensoniq VFX-SD文件
EMD:ABT擴展模塊
EMF:Windows增強元文件
EML:Microsoft Outlook Express郵件消息(MIME RTC822)文件
EXE:可執行文件(程序)
F
FAV:Microsoft Outlook導航條
FAX:傳真類型圖像
FCD:虛擬CD-ROM
FDF:Adobe Acrobat表單文檔文件
FLA:Macromedia Flash電影
FND:Microsoft Explorer保存的搜索文件(Find applet)
FON:系統字體
FRT:Microsoft FoxPro報表文件
FRX:Visual Basic表單文本;Microsoft FoxPro報表文件
FXP:經Microsoft FoxPro編譯的源文件
G
GDM:鈴聲、口哨聲和聲音板模塊格式
GetRight:GetRight未完成的下載文件
GHO:Norton 克隆磁碟映像
GID:Windows 95全局索引文件(包括幫助狀態)
GIF:CompuServe點陣圖文件
GL:動畫格式
GRP:程序管理組
H
HEX:Macintosh BinHex2.0文件
HLP:幫助文件;Date CAD Windows幫助文件
HPP:C++程序頭文件
HQX:Macintosh BinHex 4.0文件
HT:HyperTerminal(超級終端)
HTM,HTML:超文本文檔
HTT:Microsoft超文本模板
HTX:擴展HTML模板
I
ICO:Windows圖標
IDX:Microsoft FoxPro相關資料庫索引文件;Symantec Q&A相關資料庫索引文件;Microsoft Outlook
Express文件
IMG:GEM映像
INF:信息文件
INI:初始化文件;Mwave DSP Synth的「nwsynth.ini」 GMS安裝;Cravis Ultrasound bank安裝
INP:Oracle 3.0版或早期版本的表單源代碼
INRS:INRS遠程通信聲頻
INS:InstallShield安裝腳本;X-Internet簽字文件;Ensoniq EPS字簇設備;Cell/ⅡMAC/PC抽樣設備
INT:中間代碼,當一個源程序經過語法檢查後編譯產生一個可執行代碼
IOF:Findit文檔
IQY:Microsoft Internet查詢文件
ISO:根據ISD 9660有關CD-ROM文件系統標准列出CD-ROM上的文件
ISP:X-Internet簽字文件
IST:數字跟蹤設備文件
ISU:InstallShield卸裝腳本
IT:脈沖跟蹤系統音樂模塊(MOD)文件
ITI:脈沖跟蹤系統設備
ITS:脈沖跟蹤系統抽樣,Internet文檔位置
IV:Open Inventor中使用的文件格式
IVD:超過20/20微觀數據維數或變數等級文件
IVP:超過20/20的用戶子集配置文件
IVT:超過20/20表或集合數據文件
IVX:超過20/20微數據目錄文件
IW:Idlewild屏幕保護程序
IWC:Install Watch文檔
J
J62:Ricoh照相機格式
JAR:Java檔案文件(一種用於applet和相關文件的壓縮文件)
JAVA:Java源文件
JAR:Java檔案文件(一種用於applet和相關文件的壓縮文件)
JAVA:Java源文件
JFF,JFIF,JIF:JPEG文件
JPE,JPEG,JPG:JPEG圖形文件
JS:javascript源文件
JSP:HTML網頁,其中包含有對一個Java servlet的參考
K
KAR:卡拉OK MIDI文件(文本+MIDI)
L
LAB:Visual dBASE標簽文件
LBT,LBX:Microsoft FoxPro標簽文件
LDB:Microsoft Access加鎖文件
LHA:LZH更換文件後綴
LOG:日誌文件
LZH:LH ARC壓縮檔案
M
M1V:MPEG相關文件(MIME"mpeg"類型)
M3D:Corel Motion 3D動畫文件
M3U:MPEG URL(MIME聲音文件)
MAM:Microsoft Access宏
MAQ:Microsoft Access查詢文件
MAR:Microsoft Access報表文件
MBX:Microsoft Outlook保存email格式;Eudora郵箱
MCW:Microsoft Word的Macintosh文檔
MDB:Microsoft Access資料庫
MDN:Microsoft Access空資料庫模板
MDW:Microsoft Access工作組文件
MID:MIDI音樂
MMM:Microsoft多媒體電影
MOV:QuickTime for Windows電影
MP2:第二層MPEG音頻文件
MP3:第三層MPEG音頻文件
MPA:MPEG相關文件,MIME「mpeg類型」
MPE,MPEG,MPG:MPEG動畫文件
MPP:Microsoft工程文件;CAD繪圖文件格式
MPR:Microsoft FoxPro菜單(已編譯)
MSI:Windows 安裝器包
MSN:Microsoft 網路文檔;Descent Mission文件
O
OBD:Microsoft Office活頁夾
OBJ:對象文件
OBZ:Microsoft Office活頁夾向導
OCX:Microsoft對象鏈接與嵌入定製控制項
ODS:Microsoft Outlook Express郵箱文件
OFT:Microsoft Outlook模板
OPX:OPL擴展DLL(動態鏈接庫)
OSS:Microsoft Office查找文件
OST:Microsoft Exchange / Outlook 離線文件
P
PAL:壓縮文件
PART:Go!Zilla部分下載文件
PAS:Pascal源代碼
PCS:PICS動畫文件
PDF:Adobe Acrobat
可導出文檔格式文件(可用Web瀏覽器顯示);Microsoft系統管理伺服器包定義文件;NetWare列印機定義文件
PHP,PHP3:包含有PHP腳本的HTML網頁
PHTML:包含有PHP腳本的HTML網頁;由Perl分析解釋的HTML
PM5:Pagemaker 5.0文件
PM6:Pagemaker 6.0文件
PPS:Microsoft Powerpoint幻燈片放映
PPT:Microsoft Powerpoint演示文稿
PRF:Windows系統文件,Macromedia導演設置文件
PSD:Adobe photoshop點陣圖文件
PSM:Protracker Studio模型格式;Epic游戲的源數據文件
PST:Microsoft Outlook個人文件夾文件
PWL:Windows 95口令列表文件
Q
QIF:QuickTime相關圖像(MIME);Quicken導入文件
QT,QTM:QuickTime電影
QTI,QTIF:QuickTime相關圖像
QTP:QuickTime優先文件
QTS:Mac PICT圖像文件;QuickTime相關圖像
QTX:QuickTime相關圖像
R
RA:RealAudio聲音文件
RAM:RealAudio元文件
RAR:RAR壓縮檔案(Eugene Roshall格式)
REC:錄音機宏;RapidComm聲音文件
REG:注冊表文件
REP:Visual dBASE報表文件
RES:Microsoft Visual C++資源文件
RM:RealAudio視頻文件
RMF:Rich Map格式(3D游戲編輯器使用它來保存圖)
ROM:基於盒式磁帶的家庭游戲模擬器文件(來自Atari
2600、Colecovision、Sega、Nintendo等盒式磁帶里的ROM完全拷貝,在兩個模擬器之間不可互修改)
Rxx:多卷檔案上的RAR壓縮文件(xx=1~99間的一個數字)
S
SAV:游戲保存文件
SB:原始帶符號位元組(8位)數據
SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x
Bank文件
SBL:Shockwave Flash對象文件
SCF:Windows Explorer命令文件
SCH:Microsoft Schele+1
SCP:撥號網路腳本文件
SCR:Windows屏幕保護;傳真圖像;腳本文件
SFX:RAR自解壓檔案
SHTML:含有伺服器端包括(SSI)的HTML文件
SPL:Shockwave Flash對象;DigiTrakker抽樣
SQL:Informix SQL查詢;通常被資料庫產品用於SQL查詢(腳本、文本、二進制)的文件擴展名
STM:.shtml的短後綴形式,含有一個服務端包括(SSI)的HTML文件;Scream Tracker V2音樂模塊(MOD)文件
STR:屏幕保護文件
SWA:在Macromedia導演文件(MP3文件)中的Shockwave聲音文件 SYS:系統文件
T
T64:Commodore 64模擬器磁帶映像文件
THEME:Windows 95桌面主題文件
TIF,TIFF:標簽圖像文件格式(TIFF)點陣圖
TMP:Windows臨時文件
TRM:終端文件
TXT:ASCⅡ文本格式的聲音數據
TZ:老的壓縮格式文件
V
VBA:VBase文件
VBP:Microsoft Visual Basic工程文件
VBW:Microsoft Visual Basic工作區文件
VBX:Microsoft Visual Basic用戶定製控制項
VQE,VQL:Yamaha Sound-VQ定位器文件
VQF:Yamaha Sound-VQ文件(可能出現標准)
VRF:Oracle 7配置文件
VSL:下載列表文件(GetRight)
W
WAB:Microsoft Outlook文件
WAD:包含有視頻、玩家水平和其他信息的DOOM游戲的大文件
WAL:Quake 2正文文件
WAV:Windows波形聲形
WBK:Microsoft Word備份文件
WFM:Visual dBASE Windows表單
WFN:在CorelDRAW中使用的符號
WIZ:Microsoft Word向導
WRL:虛擬現實模型
WWL:Microsoft Word內插器文件
X
XLK:Microsoft Excel備份
XLL:Microsoft Excel內插器文件
XLM:Microsoft Excel宏
XLS:Microsoft Excel工作單
XLT:Microsoft Excel模板
XLV:Microsoft Excel VBA模塊
XLW:Microsoft Excel工作簿/工作區
Z
ZAP:Windows軟體安裝配置文件
ZIP:Zip文件
000-999:用於為老版本(或備份)文件編號(比如:被安裝程序改變的CONFIG.SYS文件);又可用於為小范圍的PC應用程序的多個用戶相關數據文件編號
12M:Lotus 1-2-3 97 SmartMaster文件
123:Lotus 1-2-3 97文件
2D:VersaCAD的2維繪畫文件
2GR,3GR:在Windows之下的VGA圖形驅動程序/配置文件
386:在386或更高級處理器上使用的文件
3D:VersaCAD的3維繪畫文件
3DM:3D NURBS建模器,Rhino
3DS:3D Studio(DOS下)格式文件
386:在386或更高級處理器上使用的文件
4GE:Informix 4GL編譯後代碼
4GL:Informix 4GL源代碼
F. java實現矩陣相加、相乘,判斷是否上(下)三角矩陣、對稱矩陣、相等的演算法
class Matrix
{
private int value[][]; //存儲矩陣元素的二維數組
public Matrix(int m, int n) //構造m行n列的空矩陣
{
this.value=new int[m][n];
}
public Matrix(int n) //構造n行n列的空矩陣
{
this(n,n);
}
public Matrix()
{
this(10,10);
}
public Matrix(int mat[][]) //構造矩陣,由數組mat提供矩陣元素
{
this(mat.length,mat[0].length);
for (int i=0; i<mat.length; i++)
for (int j=0; j<mat[i].length; j++)
this.value[i][j] = mat[i][j];
}
public int get(int i, int j) //獲得矩陣第i行第j列的元素,O(1)
{
return value[i][j];
}
public void set(int i, int j, int k) //設置矩陣第i行第j列的元素,O(1)
{
value[i][j]=k;
}
public void add(Matrix b) //this和b兩個矩陣相加,改變當前矩陣
{
for (int i=0; i<this.value.length; i++)
for (int j=0; j<this.value[i].length; j++)
this.value[i][j] += b.value[i][j];
}
public String toString() //行主序遍歷,訪問矩陣全部元素
{
String str="";
for (int i=0; i<value.length; i++)
{
for (int j=0; j<value[i].length; j++)
str += " "+value[i][j];
str += "\n";
}
return str;
}
public Matrix transpose() //矩陣的轉置
{
Matrix trans = new Matrix(value[0].length, value.length);
for (int i=0; i<this.value.length; i++)
for (int j=0; j<this.value[i].length; j++)
trans.value[j][i]=this.value[i][j];
return trans;
}
//判斷一個矩陣是否為上三角矩陣
public boolean isUpperTriangularMatrix() {
int i, j = 0;
int c = this.value[1][0];
for(i=1; i<this.value.length; i++)
for(j=0; j<i; j++)
if(this.value[i][j] != c)
break;
if(i>=this.value.length)
return true;
return false;
}
//判斷一個矩陣是否為下三角矩陣
public boolean isLowerTriangularMatrix() {
int i, j = 0;
int c = this.value[0][1];
for(i=0; i<this.value.length-1; i++)
for(j=i+1; j<this.value[0].length; j++)
if(this.value[i][j] != c)
break;
if(i>=this.value.length-1)
return true;
return false;
}
//判斷一個矩陣是否為對稱矩陣
public boolean isSymmetricMatrix () {
int i, j = 0;
for(i=1; i<this.value.length; i++)
for(j=0; j<i; j++)
if(this.value[i][j] != this.value[j][i])
break;
if(i>=this.value.length)
return true;
return false;
}
//比較兩個矩陣是否相等
public boolean equals(Matrix b) {
int i, j = 0;
if(this.value.length != b.value.length || this.value[0].length != b.value[0].length)
return false;
for(i=0; i<this.value.length; i++)
for(j=0; j<this.value[0].length; j++)
if(this.value[i][j] != b.value[j][i])
break;
if(i>=this.value.length)
return true;
return false;
}
//計算兩個矩陣的乘積
public Matrix multiply(Matrix b){
int i, j, k;
int sum;
Matrix mtr;
if(this.value[0].length != b.value.length) {
return null;
}
mtr = new Matrix(this.value.length, b.value[0].length);
for(i=0; i<this.value.length; i++)
{
for(k=0; k<b.value[0].length; k++){
for(sum=0,j=0; j<this.value[0].length; j++){
sum += this.value[i][j] * b.value[j][k];
mtr.value[i][k] = sum;
}
}
}
return mtr;
}
}
public class Test
{
public static void main(String args[])
{
int m1[][]={{1,2,3},{4,5,6}};
Matrix a=new Matrix(m1);
int m2[][]={{1,0,0},{0,1,0}};
Matrix b=new Matrix(m2);
System.out.print("Matrix a:\n"+a.toString());
System.out.print("Matrix b:\n"+b.toString());
a.add(b);
System.out.print("Matrix a:\n"+a.toString());
System.out.println("a的轉置矩陣:\n"+a.transpose().toString());
int m3[][] = {{1,2,1},{0,3,1},{0,0,2}};
int m4[][] = {{1,0,0},{2,1,0},{3,2,1}};
int m5[][] = {{1,0,2},{0,1,0},{2,0,2}};
Matrix mtr1 = new Matrix(m3);
Matrix mtr2 = new Matrix(m4);
Matrix mtr3 = new Matrix(m5);
if(mtr1.isUpperTriangularMatrix())
System.out.println("上三角矩陣:\n" + mtr1.toString());
if(mtr2.isLowerTriangularMatrix())
System.out.println("下三角矩陣:\n" + mtr2.toString());
if(mtr3.isSymmetricMatrix())
System.out.println("對稱矩陣:\n" + mtr3.toString());
System.out.println(mtr1.toString() + "\n乘以\n" + mtr2.toString() + "\n=\n");
Matrix tempM = mtr1.multiply(mtr2);
System.out.println(tempM.toString());
}
}
G. Java調用 matlab導出的.mat 神經網路模型文件 如何能實現求高手幫忙!
請問您解決這個問題了嗎?我也遇到同樣的問題了,謝謝。
H. JAVA數組問題
public static void main(String[] args)
{
int mat[][] = new int[4][4];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
mat[i][j] = sc.nextInt();
}
}
for (int i=0;i<mat.length;i++) //輸出二維數組元素
{
for(int j=0;j<mat[i].length;j++)
System.out.print(mat[i][j]+" ");
System.out.println();
}
boolean find = false; //找到鞍點標記
int row=0; //第1行下標
int max=0; //記錄當前行最大值的列下標
while (!find && row<mat.length)
{
max=0; //初始設每行第1列值最大
for (int j=1;j<mat[row].length;j++) //在row行上找最大值
if (mat[row][j]>mat[row][max]) //mat[row][max]為該行最大值
max = j;
boolean yes = true; //再判斷mat[row][max]是否在列上最小
int j=0;
while (yes && j<mat.length)
{
if(mat[j][max]<mat[row][max])
yes=false;
j++;
}
if (yes)
find = true;
else
row++;
}
if (find)
System.out.println("The dort: "+mat[row][max]);
else
System.out.println("The dort: null");
}
I. java用rtps轉換成mat
實現解碼或者強制轉換。
首先,我們來到opencv的官網選擇自己需要下載的平台及版本,因為要和公司演算法做兼容,window下安裝配置極其簡單,將下載得到的exe文件解壓縮,然後將到opencvbuild java下即可得到需要的jar包,再然後將jar包轉換為maven庫里的依賴就可以,引入了pom依賴之後,windows下還需要dll文件,然後重新配置文件就可以完成強制轉換。
J. jmap 和mat分析java的內存遠小於實際佔用內存
當然是,其他的也是一樣。