亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場(chǎng) > 面試題 > 2017java筆試面試題及參考答案(2)

      2017java筆試面試題及參考答案(2)

      時(shí)間: 如英753 分享

      2017java筆試面試題及參考答案

        1. 在工程中加入Struts支持

        2. 編輯ApplicationResource.properties文件,在其中加入要使用國(guó)際化的信息, 例如: lable.welcome.china=Welcome!!!

        3. 創(chuàng)建英文資源文件ApplicationResource_en.properites

        4. 創(chuàng)建臨時(shí)中文資源文件ApplicationResource_temp.properites 例如:

        lable.welcom.china=中國(guó)歡迎您!

        5. 對(duì)臨時(shí)中文資源文件進(jìn)行編碼轉(zhuǎn)換。可以使用myeclipse的插件,也可以在dos下執(zhí)行: native2ascii -encoding gb2312 ApplicationResource_temp.properties

        ApplicationResource_zh_CN.properties

        6. 在jsp中加入struts的bean標(biāo)記庫(kù)

        顯示信息:

        可以在struts-config.xml文件中定義多個(gè)資源包,而每個(gè)資源包可使用key屬性指定包的名稱

        6.6form-bean配置:(在配置文件struts-config.xml中):

        name: 指定form的名字; type指定form的類型:包名+類名;

        action配置:(在配置文件struts-config.xml中)

        path=”?”

        attribute="?"

        input="?"

        name="?"

        parameter="?"

        scope="?"

        type="?"

        71、hibernate自帶的分頁(yè)機(jī)制:獲得Session對(duì)象后,從Session中獲得Query對(duì)象。用Query.setFirstResult():設(shè)置要顯示的第一行數(shù)據(jù),

        Query.setMaxResults():設(shè)置要顯示的最后一行數(shù)據(jù)。

        2、不使用hibernate自帶的分頁(yè),可采用sql語(yǔ)句分頁(yè),

        如:5:為每頁(yè)顯示的記錄,2為當(dāng)前頁(yè): select * top 5 from table where tabId not in (select tabId top (2-1)*5 from table);

        8hibernate中一對(duì)多配置文件會(huì)相應(yīng)的映射為兩張表,并且它們之間的關(guān)系是一對(duì)多的。

        例如:一個(gè)student和classes表的關(guān)系 。一個(gè)學(xué)生只能是一個(gè)班的,一個(gè)班可以有多個(gè)學(xué)生。

        9 1 很少被修改的數(shù)據(jù) 2 不是很重要的數(shù)據(jù),允許出現(xiàn)偶爾并發(fā)的數(shù)據(jù) 3 不會(huì)被并發(fā)訪問(wèn)

        10控制反轉(zhuǎn)IOC AOP

        11面向切面編程:主要是橫切一個(gè)關(guān)注點(diǎn),將一個(gè)關(guān)注點(diǎn)模塊化成一個(gè)切面。在切面上聲明一個(gè)通知(Advice)和切入點(diǎn)(Pointcut); 通知: 是指在切面的某個(gè)特定的連接點(diǎn)(代表一個(gè)方法的執(zhí)行。通過(guò)聲明一個(gè)org.aspectj.lang.JoinPoint類型的參數(shù)可以使通知(Advice)的主體部分獲得連接點(diǎn)信息。)上執(zhí)行的動(dòng)作。通知中定義了要插入的方法。切入點(diǎn):切入點(diǎn)的內(nèi)容是一個(gè)表達(dá)式,以描述需要在哪些對(duì)象的哪些方法上插入通知中定義的方法。 項(xiàng)目中用到的Spring中的切面編程最多的地方:聲明式事務(wù)管理。

        a、定義一個(gè)事務(wù)管理器

        b、配置事務(wù)特性(相當(dāng)于聲明通知。一般在業(yè)務(wù)層的類的一些方法上定義事務(wù))

        c、配置哪些類的哪些方法需要配置事務(wù)(相當(dāng)于切入點(diǎn)。一般是業(yè)務(wù)類的方法上)

        12Insert 條件謂詞 inserting;

        Update條件謂詞 updating;

        Delete 條件謂詞 deleting。

        13視圖是一種Oracle對(duì)象,是來(lái)自一張或多張表或視圖中數(shù)據(jù)的子集的邏輯表示。

        特點(diǎn):限制對(duì)數(shù)據(jù)庫(kù)的訪問(wèn);容易實(shí)現(xiàn)數(shù)據(jù)的復(fù)雜的查詢;維護(hù)數(shù)據(jù)的獨(dú)立性;對(duì)于相同的數(shù)據(jù)可以產(chǎn)生不同的視圖。

        14Primary key 確保非空且唯一;

        Foreign key 確保引用完整性;

        Unique 確保列或者列的組合中的每個(gè)值都是唯一的;

        Check 限制每條記錄都要滿足的條件;

        Not null 確保該列不能保存空值。

        15兩者都帶有0個(gè)或多個(gè)參數(shù),參數(shù)可以具有模式。

        兩者都是PL/SQL語(yǔ)句塊的不同形式,都有聲明段、可執(zhí)行段以及異常段。

        兩者都可以存儲(chǔ)在數(shù)據(jù)庫(kù)中或在語(yǔ)句塊中聲明

        兩者不同的是,過(guò)程調(diào)用本身是一個(gè)PL/SQL語(yǔ)句,而函數(shù)總是向調(diào)用塊返回一個(gè)值。

        16 使用%rowtype屬性聲明記錄變量的優(yōu)點(diǎn)是什么?

        可以不必知道數(shù)據(jù)庫(kù)中列的數(shù)量和類型。

        在運(yùn)行期間,數(shù)據(jù)庫(kù)中列的數(shù)量和類型可能發(fā)生變化。

        在SELECT語(yǔ)句中使用該屬性可以有效地檢索表中的行。

        六編程

        1SET serveroutput ON;

        Declare

        v_empno emp.empno%type:=’&員工編號(hào)’;

        v_ename emp.ename%type;

        v_deptno emp.deptno%type;

        v_mgr emp.mgr%type;

        Begin

        SELECT ename,deptno,mgr INTO v_ename,v_deptno,v_mgr from emp WHERE empno=v_empno;

        DBMS_OUTPUT.PUT_LINE(‘員工’||v_ename||’在部門’||’v_deptno’||’主管’||v_mgr);

        EXCEPTION

        WHEN NO_DATA_FOUND THEN

        DBMS_OUTPUT.PUT_LINE(‘沒(méi)有此員工’);

        END;

        2Declare

        Cursor emp_cur(v_job emp.job%TYPE) is

        Select empno,ename,hiredate from emp where job=v_job;

        v_empno emp.empno%TYPE;

        v_ename emp.ename%TYPE;

        v_hiredate emp.hiredate%TYPE;

        BEGIN

        OPEN emp_cur(upper(‘&job’));

        LOOP

        Fetch emp_cur INTO v_empno,v_ename,v_hiredate;

        Exit when emp_cur%NOTFOUND;

        DBMS_OUTPUT.PUT_LINE(‘編號(hào) 姓名 工資’);

        DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);

        END LOOP;

        CLOSE emp_cur;

        END;

        Declare

        Cursor emp_cur(v_job emp.job%TYPE) is

        Select empno,ename,hiredate from emp where job=v_job;

        v_empno emp.empno%TYPE;

        v_ename emp.ename%TYPE;

        v_hiredate emp.hiredate%TYPE;

        BEGIN

        FOR i IN emp_cur(upper(‘&job’)) LOOP

        v_empno:=i.empno;

        v_ename:=i. ename;

        v_hiredate:=i. hiredate;

        DBMS_OUTPUT.PUT_LINE(‘編號(hào) 姓名 工資’);

        DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);

        END LOOP;

        END;

        3CREATE OR REPLACE FUNCTION f_emp(f_job emp.job%TYPE)

        RETURN BOOLEAN

        Is

        v_job emp.job%TYPE;

        BEGIN

        SELECT DISTINCT job INTO v_job FROM emp WHERE job=f_job;

        RETURN TRUE;

        EXCEPTION

        WHEN NO_DATA_FOUND THEN

        RETURN FALSE;

        END f_emp;

        Begin

        If f_emp(upper(‘&job’)) THEN

        DBMS_OUTPUT.PUT_LINE(‘日’);

        ELSE

        DBMS_OUTPUT.PUT_LINE(‘插’);

        END IF;

        END;

        4CREATE OR REPLACE TRIGGER t_emp_sal

        BEFORE INSERT OR UPDATE ON emp

        Begin

        IF :new.sal>5000 THEN

        RAISE_APPLICATIONG_ERROR(‘ERROR!!’);

        ELSE

        INSERT int up_emp VALUES(empno,sal,sysdate);

        END IF;

        END;

        5很奇怪,結(jié)果是Test

        這屬于腦筋急轉(zhuǎn)彎的題目,在一個(gè)qq群有個(gè)網(wǎng)友正好問(wèn)過(guò)這個(gè)問(wèn)題,我覺(jué)得挺有趣,就研究了一下,沒(méi)想到今天還被你面到了,哈哈。

        在test方法中,直接調(diào)用getClass().getName()方法,返回的是Test類名

        由于getClass()在Object類中定義成了final,子類不能覆蓋該方法,所以,在

        test方法中調(diào)用getClass().getName()方法,其實(shí)就是在調(diào)用從父類繼承的getClass()方法,等效于調(diào)用super.getClass().getName()方法,所以,super.getClass().getName()方法返回的也應(yīng)該是Test。

        如果想得到父類的名稱,應(yīng)該用如下代碼:

        getClass().getSuperClass().getName();

        6返回的結(jié)果是2。

        我可以通過(guò)下面一個(gè)例子程序來(lái)幫助我解釋這個(gè)答案,從下面例子的運(yùn)行結(jié)果中可以發(fā)現(xiàn),try中的return語(yǔ)句調(diào)用的函數(shù)先于finally中調(diào)用的函數(shù)執(zhí)行,也就是說(shuō)return語(yǔ)句先執(zhí)行,finally語(yǔ)句后執(zhí)行,所以,返回的結(jié)果是2。Return并不是讓函數(shù)馬上返回,而是return語(yǔ)句執(zhí)行后,將把返回結(jié)果放置進(jìn)函數(shù)棧中,此時(shí)函數(shù)并不是馬上返回,它要執(zhí)行finally語(yǔ)句后才真正開(kāi)始返回。

        7最終的程序代碼如下:

        public class ThreadTest {} private class Business { boolean bShouldSub = true;//這里相當(dāng)于定義了控制該誰(shuí)執(zhí)行的一個(gè)信號(hào)燈 public synchronized void MainThread(int i) { if(bShouldSub) try { this.wait(); // TODO Auto-generated catch block } catch (InterruptedException e) { ).start(); for(int i=0;i<50;i++) { business.MainThread(i); } } public void run() { } for(int i=0;i<50;i++) { business.SubThread(i); } public void init() { final Business business = new Business(); new Thread( new Runnable() { } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new ThreadTest().init();

        } } } { } } for(int j=0;j<5;j++) System.out.println(Thread.currentThread().getName() + ":i=" + i +",j=" + j); bShouldSub = true; this.notify(); public synchronized void SubThread(int i) { } if(!bShouldSub) { } bShouldSub = false; this.notify(); System.out.println(Thread.currentThread().getName() + try { this.wait(); // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { } for(int j=0;j<10;j++) ":i=" + i +",j=" + j);

        8。

        Vector newVector = new Vector();

        For (int i=0;i

        {

        Object obj = vector.get(i);

        if(!newVector.contains(obj);

        newVector.add(obj);

        }9

        int engishCount;

        int chineseCount;

        int digitCount;

        for(int i=0;i

        {char ch = str.charAt(i);

        if(ch>=’0’ && ch<=’9’)

        {digitCount++}

        else if((ch>=’a’ && ch<=’z’) || (ch>=’A’ && ch<=’Z’))

        {engishCount++;}

        else

        {chineseCount++;}}

        System.out.println(……………);

        (1)select * from employees

        where Year(hiredDate) = Year(date())

        or (salary between 1000 and 200)

        or left(last_name,3)='abc';

        (2)mysql> select id,name,salary,deptid did from employee1 where (select avg(salary) from employee1 where deptid = did) > 1800;

        (3)select employee1.*,(employee1.salary-t.avgSalary)*100/employee1.salary from employee1,

        (select deptid,avg(salary) avgSalary from employee1 group by deptid) as t where employee1.deptid = t.deptid and employee1.salary>t.avgSalary;


      看過(guò)“2017 java筆試面試題”的人還看了:

      1.2017java面試題大全帶答案

      2.2017 java筆試面試題

      3.2017最新java面試題

      4.2017中軟java面試題及參考答案

      5.2017中軟java面試題及答案

      6.2017java web面試題

      1081914