中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

金山校園招聘Java筆試題

時間:2024-07-24 09:50:01 資料大全 我要投稿
  • 相關(guān)推薦

金山校園招聘Java筆試題

  第一題 :棧內(nèi)存與堆內(nèi)存的特點與區(qū)別,java中是怎樣分配的?

金山校園招聘Java筆試題

  棧內(nèi)存中用來存放基本數(shù)據(jù)類型(8種基本類型)和對象的引用變量,存取速度比堆快,棧中的數(shù)據(jù)可以被共享使用,堆內(nèi)存中用來存放new創(chuàng)建的對象和數(shù)組對象,

金山校園招聘Java筆試題

。

  第二題:對象序列化,作用,那些不能序列化?

  對象序列化是為了能夠讓對象像其他變量數(shù)據(jù)一樣能夠長久的保存下來,其實質(zhì)是把對象在內(nèi)存中的數(shù)據(jù)按照一定的規(guī)則,變成一系列的字節(jié)數(shù)據(jù),然后寫入到流中。沒有實現(xiàn)java.io.Seralizabled接口的類不能實例化。

  第三題 線程的p、v操作

  線程對于程序員而言,是比較重要的一塊知識,不會線程編程,就算不上一個合格的程序員。因此,線程也是各個公司筆試面試必考的內(nèi)容之一。PV操作本是操作系統(tǒng)中相關(guān)的內(nèi)容,簡單來說,P操作是申請資源,V操作是釋放資源。本題最好可以用生產(chǎn)者/消費者來實現(xiàn)PV操作最為合適,同時也考慮到了多線程同步的問題。舉例說明:

  package common;

  import org.junit.Test;

  /**

  * PV操作示例

  * @author xcbeyond

  *

  * 2012-10-2下午08:05:09

  */

  public class PVOperator {

  public static void main(String [] args){

  Store s = new Store(5);

  Produce pro1 = new Produce(s);

  Produce pro2 = new Produce(s);

  Consumer con1 = new Consumer(s);

  Consumer con2 = new Consumer(s);

  pro1.start();

  con1.start();

  pro2.start();

  con2.start();

  }

  }

  /**

  * 倉庫類:臨界資源

  *

  */

  class Store{

  private final int maxSize; //最大容量

  private int count;

  public Store(int size){

  maxSize = size;

  count = 0;

  }

  /**

  * 添加資源

  */

  public synchronized void add(){

  while(count >=maxSize){

  System.out.println("----倉庫滿了!----");

  try {

  wait();

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  }

  count++;

  System.out.println(Thread.currentThread().toString()+ "put" +count);

  notifyAll();

  }

  public synchronized void remove() {

  while(count <= 0) {

  System.out.println("----倉庫空了!----");

  try {

  wait();

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  }

  System.out.println(Thread.currentThread().toString()+ "get"+count);

  count--;

  notify();

  }

  }

  /**

  * 生產(chǎn)者:P操作

  */

  class Produce extends Thread {

  private Store s;

  public Produce(Store s) {

  this.s = s;

  }

  @Override

  public void run() {

  while(true){

  s.add();

  try {

  Thread.sleep(1000);//只是為了利于查看線程間的同步,所以延遲1s

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  }

  }

  }

  /**

  * 消費者:V操作

  */

  class Consumer extends Thread {

  private Store s;

  public Consumer(Store s) {

  this.s = s;

  }

  @Override

  public void run() {

  while(true) {

  s.remove();

  try {

  Thread.sleep(1000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  }

  }

  }

【金山校園招聘Java筆試題】相關(guān)文章:

新浪校園招聘筆試題05-26

中國銀行校園招聘筆經(jīng)05-17

中國銀行校園招聘筆經(jīng)09-07

金山筆試試題05-18

中國銀行校園招聘筆試題06-27

?低曅@招聘筆試題05-30

百度校園招聘筆試題精選07-22

Java基礎(chǔ)筆試題07-06

新浪08校園招聘部分筆試題(博客編輯)10-21

招聘官揭秘校園招聘中必問的七類面試題11-10