特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(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)題,我覺得挺有趣,就研究了一下,沒(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ǔ)句后才真正開始返回。

  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