<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA進(jìn)行式
    讓我們把JAVA進(jìn)行到底!
    posts - 13,comments - 21,trackbacks - 0

    1、heapstack有什么區(qū)別?
    ??? 棧(stack),是限定僅在表尾進(jìn)行插入或刪除操作的線(xiàn)性表,棧的修改是按照后進(jìn)先出(LIFO)原則進(jìn)行的,因此棧又稱(chēng)為后進(jìn)先出線(xiàn)性表。在java中棧駐留于常規(guī)RAM(隨機(jī)訪問(wèn)存儲(chǔ)器)區(qū)域,可通過(guò)“棧指針”獲得處理的直接支持。棧指針若向下移,會(huì)創(chuàng)建新的內(nèi)存;若向上移,則會(huì)釋放那些內(nèi)存。這是一種特別快、特別有效的數(shù)據(jù)保存方式,僅次于寄存器。創(chuàng)建程序時(shí),Java編譯器必須準(zhǔn)確地知道棧內(nèi)保存的所有數(shù)據(jù)的“長(zhǎng)度”以及“存在時(shí)間”。這是由于它必須生成相應(yīng)的代碼,以便向上和向下移動(dòng)指針。這一限制無(wú)疑影響了程序的靈活性,所以盡管有些Java數(shù)據(jù)要保存在堆棧里,如對(duì)象的引用(句柄)、局部變量、形式參數(shù)等,但java對(duì)象并不放在其中。?
    ??? 堆(heap),是一種常規(guī)用途的內(nèi)存池(也在RAM區(qū)域),其中保存了Java對(duì)象。和棧不同之處在于,堆的存儲(chǔ)空間是在程序執(zhí)行過(guò)程中動(dòng)態(tài)分配的,編譯器不必知道要從堆里分配多少存儲(chǔ)空間,也不必知道存儲(chǔ)的數(shù)據(jù)要在堆里停留多長(zhǎng)的時(shí)間。因此,用堆保存數(shù)據(jù)時(shí)會(huì)得到更大的靈活性。要求創(chuàng)建一個(gè)對(duì)象時(shí),只需用new命令編制相關(guān)的代碼即可。執(zhí)行這些代碼時(shí),會(huì)在堆里自動(dòng)進(jìn)行數(shù)據(jù)的保存。當(dāng)然,為達(dá)到這種靈活性,必然會(huì)付出一定的代價(jià):在堆里分配存儲(chǔ)空間時(shí)會(huì)花掉更長(zhǎng)的時(shí)間!

    2、error和exception的區(qū)別?
    ??? error是指與系統(tǒng)有關(guān)的錯(cuò)誤,這種錯(cuò)誤一般是不可恢復(fù),或恢復(fù)起來(lái)很困難的,如內(nèi)存溢出錯(cuò)誤,是不可能由程序來(lái)處理的。
    ??? exception是指在程序執(zhí)行過(guò)程中發(fā)生的,需要程序捕獲和處理的運(yùn)行時(shí)錯(cuò)誤,在程序運(yùn)行正常的情況下,是不會(huì)發(fā)生的。當(dāng)JAVA程序違反了JAVA的語(yǔ)義規(guī)則時(shí),JAVA虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語(yǔ)義規(guī)則包括2種情況。一種是JAVA類(lèi)庫(kù)內(nèi)置的語(yǔ)義檢查。如數(shù)組下標(biāo)越界,會(huì)引發(fā)IndexOutOfBoundsException;訪問(wèn)null的對(duì)象時(shí)會(huì)引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴(kuò)展這種語(yǔ)義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable
    的子類(lèi)。

    3、
    如果系統(tǒng)要使用超大整數(shù)(超過(guò)long長(zhǎng)度范圍),請(qǐng)你設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)這種超大型數(shù)字以及設(shè)計(jì)一種算法來(lái)實(shí)現(xiàn)超大整數(shù)加法運(yùn)算)。
    public class BigInt {
    ?
    ??? /** 用于保存超大整數(shù) */
    ??? private int[] intArr = null;
    ???
    ??? /** 無(wú)參構(gòu)造方法構(gòu)造一個(gè)初始化為0的大數(shù) */
    ??? public BigInt() {
    ??????? this("0");
    ??? }
    ???
    ??? /** 構(gòu)造一個(gè)帶參大數(shù) */
    ??? public BigInt(String s) {
    ??????? if(intArr != null) {
    ??????????? intArr = null;
    ??????? }
    ??????? setArr(s);
    ??? }
    ?????
    ??? /** 設(shè)置大數(shù) */
    ??? public void setArr(String s) {
    ??????? intArr = new int[s.length()];
    ??????? for(int i=0;i<s.length();i++){
    ??????????? int intTemp = s.charAt(i) - '0';
    ??????????? if(intTemp <= 9) {
    ??????????????? intArr[i] = intTemp;
    ??????????? }
    ??????? }
    ??? }
    ?
    ??? /** 取得數(shù)的字符串類(lèi)型的表示 */
    ??? public String getArr() {
    ??????? StringBuffer strBuf = new StringBuffer();
    ??????? for(int i=0; i<intArr.length; i++) {
    ??????????? strBuf.append(intArr[i]);
    ??????? }
    ??????? return strBuf.toString();
    ??? }
    ?
    ??? /** 返回?cái)?shù)的大小 */
    ??? private int length() {
    ??????? int len = 0;
    ??????? if(intArr != null) {
    ??????????? len = intArr.length;
    ??????? }
    ??????? return len;
    ??? }

    ??? private static BigInt fillZero(BigInt arr, int int0){
    ??????? BigInt temp = arr;
    ??????? for(int i=0; i<int0; i++){
    ??????????? temp = new BigInt("0" + temp.getArr());
    ??????? }???????
    ??????? return temp;
    ??? }
    ?
    ??? /** 對(duì)兩個(gè)BigInt型對(duì)象做加法運(yùn)算,返回結(jié)果為BigInt型 */
    ??? public static BigInt add(BigInt one, BigInt two) {
    ??????? BigInt arrSum = null;
    ??????? BigInt arr = null;
    ??
    ??????? if(one.intArr.length > two.intArr.length) {
    ??????????? arrSum = one;
    ??????????? arr = fillZero(two, one.intArr.length - two.intArr.length);
    ??????? } else if(one.intArr.length == two.intArr.length) {
    ??????????? arrSum = two;
    ??????????? arr = one;
    ??????? } else {
    ??????????? arr = two;
    ??????????? arrSum = fillZero(one, two.intArr.length - one.intArr.length);
    ??????? }

    ??????? int i=arr.intArr.length-1;
    ??????? for(; i>=1; i--){
    ??????????? int intTemp = arrSum.intArr[i] + arr.intArr[i];
    ??????????? arrSum.intArr[i] = intTemp%10;
    ??????????? if(intTemp>9){
    ??????????????? arrSum.intArr[i-1] = arrSum.intArr[i-1] + intTemp/10;
    ??????????? }
    ??????? }?

    ??????? int intTemp = arrSum.intArr[0] + arr.intArr[0];
    ??????? arrSum.intArr[i] = intTemp%10;
    ??????? if(intTemp>9){
    ??????????? return new BigInt("1" + arrSum.getArr());
    ??????? } else {
    ??????????? return arrSum;
    ??????? }???
    ???? }
    ?
    ???? /** 程序入口,格式化輸出 */
    ???? public static void main(String[] args) {
    ???????? try {
    ???????????? BigInt one = new BigInt(args[0]);
    ???????????? System.out.println("? " + one.getArr());
    ???????????? BigInt two = new BigInt(args[1]);
    ???????????? System.out.println("+ " + two.getArr());
    ???????????? System.out.println("----------------------------");??
    ???????????? BigInt sum = BigInt.add(one, two);
    ???????????? System.out.println(" " + sum.getArr());
    ???????? } catch(java.lang.ArrayIndexOutOfBoundsException e) {
    ???????????? System.out.println("數(shù)組下標(biāo)越界");
    ????? }
    ?? }
    }

    posted on 2006-03-28 23:58 水秀清靈 閱讀(802) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): 學(xué)習(xí)筆記

    FeedBack:
    # re: JAVA面試題(一)
    2006-03-30 00:03 | 水秀清靈
    對(duì)于第三道題,我就想到這個(gè)答案,誰(shuí)還能給我一個(gè)更好的?先謝謝了!  回復(fù)  更多評(píng)論
      
    # re: JAVA面試題(一)
    2006-05-10 00:20 | 王志強(qiáng)
    感覺(jué)不是很對(duì)你的
    99100+900=?你的就有問(wèn)題  回復(fù)  更多評(píng)論
      
    # re: JAVA面試題(一)
    2006-05-14 00:40 | 水秀清靈
    王兄說(shuō)的很對(duì),我已經(jīng)做了修改,現(xiàn)在你看看還有問(wèn)題沒(méi)?
      回復(fù)  更多評(píng)論
      
    # re: JAVA面試題(一)
    2007-05-17 16:03 | 游客
    不錯(cuò)不錯(cuò)  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 无码亚洲成a人在线观看| igao激情在线视频免费| 免费国产美女爽到喷出水来视频| 黄人成a动漫片免费网站| JLZZJLZZ亚洲乱熟无码| 久久精品乱子伦免费| 亚洲国产成a人v在线| 黄a大片av永久免费| 一级免费黄色毛片| 亚洲国产精品国自产电影| 国产一卡2卡3卡4卡无卡免费视频| 亚洲一区二区观看播放| 免费在线观看黄色毛片| 在线观看免费黄网站| 亚洲国色天香视频| 亚洲日韩国产精品乱| 毛片无码免费无码播放| 亚洲欧美国产国产综合一区| 国产亚洲精午夜久久久久久| 99热免费在线观看| 日韩成人精品日本亚洲| 亚洲91av视频| 国产免费直播在线观看视频| 免费看男人j放进女人j免费看| 亚洲国产片在线观看| 免费在线观看a级毛片| 日韩免费高清大片在线| 在线观看亚洲免费视频| 亚洲一区二区电影| 免费二级毛片免费完整视频| 91香蕉在线观看免费高清| 麻豆安全免费网址入口| 久久久久亚洲AV无码专区首JN| 国产一区二区三区免费在线观看| 日韩免费在线视频| 美女扒开尿口给男人爽免费视频| 亚洲综合色一区二区三区小说| 亚洲国产成人精品女人久久久 | 最近免费中文字幕视频高清在线看| 日韩在线一区二区三区免费视频 | 久久aa毛片免费播放嗯啊|