當前位置:首頁 » 服務存儲 » java數組存儲模型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java數組存儲模型

發布時間: 2022-09-03 06:16:10

㈠ 求各位java程序高手支招!java的數組存儲數據問題。

importjava.util.Scanner;

publicclassZ{
privatestaticint[]globalA;
privatestaticint[]globalB;
publicstaticvoidmain(Stringargs[]){
t1();
}

publicstaticvoidt1(){
intm=0;
t2(m);
}

publicstaticvoidt2(intm1){
Scanners=newScanner(System.in);
intat=s.nextInt();
Scanners1=newScanner(System.in);
intbt=s1.nextInt();
key(at,bt,m1);
}

publicstaticvoidkey(intan,intbn,intm2){
inta[]=newint[100];
intb[]=newint[100];
if(globalA==null){
globalA=a;
}else{
a=globalA;
}
if(globalB==null){
globalB=b;
}else{
b=globalB;
}
a[m2]=an;
b[m2]=bn;
inti;
System.out.println(m2);
for(i=0;i<=m2;i++){
System.out.println(a[i]+""+"和"+""+b[i]);
}
m2++;
t2(m2);
}
}

如果不行,再說

㈡ java數組為什麼容易根據下標來定址

給你畫一下數組的存儲模型你就知道了

1、基本數據類型:

㈢ Java數組存儲數據問題

先把MAP放到一道範圍里 比如session里 session.setAttributr("map",map);
然後在JSP頁面獲取 <c:forEach items="${map}" var="map"> </c:forEach>

舉了個簡單的例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%Map m=new HashMap();
m.put("a1","123");
m.put("a2","123");
m.put("a3","123");
session.setAttribute("map",m);
%>
</head>
<body>
<table border="1" align="center" bgcolor="#808080"><tr bgcolor="green" ><th>用戶名:</th><th>密碼:</th></tr>
<c:forEach items="${map}" var="entry">
<tr><td>${entry.key}</td>
<td>${entry.value}</td> </tr>
</c:forEach>
</table>
</body>
</html>

這里的session可以從類中取,此處只是為舉例方便寫在 jsp中的

㈣ JAVA二維數組存儲

不論怎麼操作,數據都是要輸入一遍的,不知道你說的操作簡便是指程序步少還是什麼的,不過50位數我建議你用字元串表存取吧,新建一個ArrayList <String>這樣的容器,每一個String就是一個50位數。
那你就用字元串的split方法,選擇空格符為分隔符號,然後存儲

㈤ java 二維數組在內存中是怎樣的存儲方式,與c++中的數組有什麼不同,a[9][] 應該怎麼存儲a[9][4]又該怎麼

java中數組是以對象形式存在的,棧中存儲的是數組對象的地址(即引用),而對象本身不存放在棧中,而是存放在堆中,使用時通過棧中的引用地址找到堆中的實際對象,這里的引用地址類似於C/C++中的指針。

㈥ Java數組是存儲在內存中的什麼地方

因為我也不清楚你理解的內存指啥,說我的理解,猜測一下,但願符合你的理解:
對程序而言,內存分為:
a、靜態區塊或叫全局區塊,指程序載入的時候就分配的固定存儲區;
b、棧內存,代碼塊執行的時候動態分配的內存塊,代碼運行完後,操作系統或運行平台負責自動回收這部分使用的內存。
c、堆內存塊,由操作系統提供api程序自由分配管理的內存塊。
java的內存管理機制,我個人認為是黑盒的,寫java也很少有人去關心,但是如果看虛擬機的實現源碼還是能知道的。(樓主懂c由興趣自己看)。那麼從逆向工程的角度我們可以猜測到:
靜態類,靜態變數,存儲在,靜態區塊中。
類本身代碼需要時再載入到內存中,java的動態代理實現的根本。既然是動態載入肯定是在堆中,不過載入進來的類代碼可能永不會銷毀(虛擬機運行區間內,可以加快運行平台的處理速度,java屬於半編譯半解釋的一門語言,要解釋執行的是預先編譯好的指令,就是class類文件)。
我們創建的任何對象,時間是隨機的,創建的時候才會分配內存,必然在堆上。虛擬機的垃圾回收機制要管理的剛好是這部分內存。
類中的方法,或靜態代碼塊必定運行在占上,代碼運行完,內存立即回收。此處有個例外,不同於c語言或操作系統實現。在方法中返回的任何對象:c需要動態分配存儲空間,兵自行管理,或者申明為全局局部靜態存儲,代碼運行完,對象才能保留下來。java可以直接保留下來。說明虛擬機自動給我們申請了動態內存保存對象。此處分配的內存也需要垃圾回收機制管理。沒門語言都有原始類型,方法或函數中返回的原始類型不需要從堆上分配內存,直接復制給接收變數,或代碼運行的形參所分配的空間中即可。
從操作系統理解,內存分為內核使用的內存與程序使用的內存,java運行在虛擬機上,虛擬機運行在操作系統上,內核內存屬於操作系統自用內存,由操作系統負責管理,運用程序不能直接管理分配內核內存。應用程序可管理的是分配給自己的運行空間。因此java使用內存屬於應用程序內存。內核內存管理方式windows與unix實現管理方式不一樣,最大差別windows的每一個程序,內核需要使用掉一部分地址空間,餘下的留給應用程序。如32位系統,總共可以使用的地址空間是4G內核要用掉其中1G或者2G。但是unix實現的系統應用程序可以直接使用4G地址空間。有興趣請參考操作系統內核相關書籍。

㈦ Java數組在內存中是如何存放的

數組是一種引用數據類型,數組引用變數只是一個引用,數組元素和數組變數在內存里是分開存放的.
實際的數組元素被存儲在堆(heap)內存中;數組引用變數是一個引用類型的變數,被存儲在棧(stack)內存中.