精华内容
下载资源
问答
  • 初级程序员面试题

    2014-09-15 11:42:18
    软件公司招聘初级程序员面试题,考核基本素质。
  • asp.net初级程序员面试题、一些最基本的知识点的问答。。。亲自整理
  • 大家在去参加面试的时候,经常会遇到这样的考题: 给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到...

    一、基础和语法

    1.      Java中的进制:

    1)十进制 à 二进制

    例:100(10进制)  =  ?(2进制)

    解:  100  = 64 + 32 + 4

    = 2^6 + 2^5 +2^2

    0100 0000

    0010 0000

    0000 0100

    ---------------------------

    0110 0100

    2) 二进制 à 十进制

    例: 101 1010(二进制)  = ?(十进制)

    解:    101 1010 = 2^6 + 2^4 + 2^3 + 2 = 90

    3) 十进制(负数)  à  二进制

    规律: -n = ~n + 1

    例: -110 (10进制) = ?(2进制)

    110 =  64 + 32 + 8 + 4 + 2

    0100 0000

    0010 0000

    0000 1000

    0000 0100

    0000 0010

    ---------------------

    0110 1110

    取反:1001 0001

    +1  :1001 0010

    因此,结果为1001 0010

    4) 二进制(以 ”1” 开头的二进制数)  à  十进制

    规律:

    以”1” 开头的二进制数化为十进制数的步骤:

    先减一,然后对其求反,把得到的数化为十进制,最后给该数加负号。

    例: 1000 0101(2进制)  = ?(10进制)

    解:

    减1:    1000 0100

    取反:    0111 1011

    化10进制:2^6 + 2^5 +2^4 + 2^3+2^1+1 = 123

    加负号:     -123

    5)十六进制:  引入16进制的目的:简化2进制

    0 12 3 4 5 6 7 8 9 A B C D E F

    例:

    41(16进制)  = ?(10进制)

    =  4×16 + 1 = 65

    例:

    0110 0010(2进制)  = ?(16进制)

    0110 = 6

    0010 = 2

    0110 0010 = 62

    规律:四个数一组,化为16进制

    2.Java中的数据类型:

    基本类型(8种):

    整数类型: byte (二进制位数:8 bit,1个字节,表示范围:0x80-0x7f);

    short(二进制位数:16 bit,2个字节,表示范围:0x8000-0x7fff);

    int  (二进制位数:32 bit,4个字节,表示范围:0x8000 0000-0xfff ffff);

    long (二进制位数:64 bit,8个字节,表示范围:-2^63  - 2^63-1);

    浮点类型: float(二进制位数:32 bit, 4个字节);

    double(二进制位数:64 bit,8个字节);

    字符类型: char(二进制位数:16 bit,2个字节);

    布尔类型: boolean (二进制位数:根据JVM情况而定)

    3.什么是面向对象?

    对象,即人们要进行研究的事物,对象具有状态和行为,用数据来描述对象的状态,用操作来描述对象的行为,对象实现了数据和操作的结合。面向对象,就是在解决问题时,将问题涉及到的事物分解成各个对象,分解的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的状态和行为。

    4.面向对象和面向过程的区别?

    面向过程,就是在解决问题时,分析出解决问题所需要的步骤,然后用函数来把这些步骤一步一步的实现,使用的时候一个一个的依次调用就可以了。

    面向对象,就是在解决问题时,将问题涉及到的事物分解成各个对象,分解的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的状态和行为。

    5.面向对象的特征?

    面向对象的主要特征有以下几个方面:

    1)抽象:  抽象就是忽略一个问题中与当前目标无关的那些方面,以便更充分的注意与当前目标有关的部分,抽象不打算了解问题的全部,而是只选择其中的一个部分,抽象包括两个方面:过程抽象和数据抽象。

    2)封装:就是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

    3) 继承:对象的一个新类从现有类中派生,这个过程就是继承。新类继承了原始类的特性,新类称为原始类的子类,原始类称为新类的父类。子类可以从父类继承方法和变量,实现类的复用。

    4)多态:多态是指允许不同类的对象对同一消息作出不同的响应。

    6.类的初始化次序是怎么样的?

    大家在去参加面试的时候,经常会遇到这样的考题:

    给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。

    我们大家都知道,在同一个类中,对于静态变量、静态初始化块、变量、初始化块、构造器,

    它们的初始化顺序依次是:

    (静态变量、静态初始化块)>(变量、初始化块)>构造器。

    下面通过一段代码来验证一下:

    package audition;

    /**

    * 类的初始化顺序问题:

    *

    *@author wwenbo

    *

    */

    public class ClassIntialOrder {

    //1.定义变量

    publicString field = "变量";

    //2.定义静态变量

    publicstatic String staticField = "静态变量";

    //3.构造器

    publicClassIntialOrder() {

    System.out.println("构造器");

    }

    //4.初始化块

    {

    System.out.println("初始化块");

    System.out.println(field);

    }

    //5.定义静态初始化块

    static{

    System.out.println("静态初始化块");

    System.out.println(staticField);

    }

    publicstatic void main(String[] args) {

    newClassIntialOrder();

    }

    }

    上面的程序的打印结果如下:

    静态初始化块

    静态变量

    初始化块

    变量

    构造器

    那么,在继承当中的类的初始化次序又是怎样的呢? 再通过一段代码来看一下:

    package audition;

    public class SubClass extends ParClass {

    //1.变量

    publicString s_Field = "子类--变量";

    //2.静态变量

    publicstatic String s_StaticField = "子类--静态变量";

    //3.构造器

    publicSubClass() {

    System.out.println("子类--构造器");

    }

    //4.初始化块

    {

    System.out.println(s_Field);

    System.out.println("子类--初始化块");

    }

    //5.静态初始化块

    static{

    System.out.println(s_StaticField);

    System.out.println("子类--静态初始化块");

    }

    publicstatic void main(String[] args) {

    newSubClass();

    }

    }

    class ParClass {

    //1.变量

    publicString p_Field = "父类--变量";

    //2.静态变量

    publicstatic String p_StaticField = "父类--静态变量";

    //3.构造器

    publicParClass() {

    System.out.println("父类--构造器");

    }

    //4.初始化块

    {

    System.out.println(p_Field);

    System.out.println("父类--初始化块");

    }

    //5.静态初始化块

    static{

    System.out.println(p_StaticField);

    System.out.println("父类--静态初始化块");

    }

    }

    打印结果如下:

    父类--静态变量

    父类--静态初始化块

    子类--静态变量

    子类--静态初始化块

    父类--变量

    父类--初始化块

    父类--构造器

    子类--变量

    子类--初始化块

    子类--构造器

    大家可能会注意到一点,那就是,并不是父类完全初始化完毕后才进行子类的初始化,实际上子类的静态变量和静态初始化块的初始化是在父类的变量、初始化块和构造器初始化之前就完成了。另外,静态变量和静态初始化块的初始化次序,是按照定义的先后顺序进行的,变量和初始化块也是如此。大家可以调换静态变量和静态初始化块的次序来看一下。

    展开全文
  • JAVA中级程序员必备面试题 如何创建一个有序集合 用jdbc写一段有事务的代码 简述servletjspStruts2springMVC是否是线程安全的为什么 如何避免浏览器缓存 radisehcache两种缓存有什么区别radis如何存放一个java对象 ...
  • 初级Java程序员面试题(114~130企业真题)114、编写一个Filter,需要(B)A. 继承 Filter 类B. 实现 Filter 接口C. 继承 HttpFilter 类D. 实现 HttpFilter 接口115、有关MVC设计模式(B)描述不正确A. 使用 Servlet 作为...

    初级Java程序员面试题(114~130企业真题)

    114、编写一个Filter,需要(B)

    A. 继承 Filter 类

    B. 实现 Filter 接口

    C. 继承 HttpFilter 类

    D. 实现 HttpFilter 接口

    115、有关MVC设计模式(B)描述不正确

    A. 使用 Servlet 作为控制器

    B. MVC 设计模式增大了维护难度

    C. MVC 设计模式属于 Model 2

    D. 模型对象向客户端显示应用程序界面

    ● Model 1:

    Model 1的基础是JSP文件,它由一些相互独立的JSP文件,和其他一些Java Class 组成(不是必须的)。这些JSP从 HTTP Request中获得所需要的数据,处理业务逻辑,然后将结果通过 Response 返回前端浏览器。

    ● Model 2:

    采用面向对象技术实现MVC模式从而扩展JSP/Servlet的模式被称为是Model 2模式。Apache Jakarta 项目中Struts是一个实现Model 2的很好的框架,它通过一些Custom Tag Lib处理表现层,用ActionFrom Bean表示数据,用自己提供的一个ActionServlet作为控制器实现页面的流转的控制功能。说的直白一些,model1即为单纯的 jsp+java,没有框架参与,通过response和request对象传送值域,而model2则使用较为流行的struts2框架(当然也可能是其他的MVC框架,例如SpringMVC)。

    116、在Linux中,可以使用命令(C)加挂计算机上的非Linux文件系统

    A. cat /proc/filesystems

    B. ln

    C. mount

    D. df

    117、下面关于Linux中shell的说法错误的是(D)

    A. shell 是解释用户在终端键入的命令的一种中间程序

    B. shell 可以读取并执行脚本文件中的命令

    C. 用户可以使用参数将命令行的参数传递给 shell 脚本,从而实现在 Linux 中的交互式编程

    D. 默认情况下,Linux 中创建的所有文件都具有执行权限

    118、在Oracle中,当需要使用显式游标更新或删除游标中的行时,UPDATE 或 DELETE 语句必须使用(C)子句

    A. WHERE CURRENT OF

    B. WHERE CURSOR OF

    C. FOR UPDATE

    D. FOR CURSOR OF

    119、在Oracle中,使用下列的语句CREATE PUBLIC SYNONYM parts FOR Scott.inventory;完成的任务是(D)

    A. 将Scott.inventory 对象的访问权限赋予所有用户

    B. 指定了新的对象权限

    C. 指定了新的系统权限

    D. 给Scott.inventory对象创建一个公用同义词 parts

    120、下列说法正确的有(C)

    A. class中的constructor不可忽略

    B. constructor可以作为普通方法被调用

    C. constructor在一个对象new时被调用

    D. 一个class只能定义一个 constructor

    121、下列运算符合法的是(D)

    A、&&

    B、<>

    C、If

    D、:=

    122、下列哪种说法不正确(ABC)

    A、实例方法可以直接调用超类的实例方法

    B、实例方法可以直接调用超类的类方法

    C、实例方法可以直接调用其他类的实例方法

    D、实例方法可以直接调用本类的类方法

    123、执行如下程序代码后,c 的值是(C)

    int a = 0;

    int c = 0;

    do {

    --c;

    a = a - 1;

    } while (a > 0);

    A、0

    B、1

    C、-1

    D、死循环

    124、什么时候使用抽象类和接口

    如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。

    如果你想实现多重继承,那么你必须使用接口。由于 Java 不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。

    如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。

    多数情况下抽象类都是共同特征的抽象,而接口是共同行为的抽象。

    125、throws和throw有什么不同点?

    throw和throws都是异常处理机制当中的关键字,throw是手动抛异常,throws是以声明的方式抛出异常,并且抛给调用者处理。

    126、请编写一个jdbc查询任意一个数据库(如 MySQL、Oracle 等),数据库名为test,表名为user,只有一个字段。

    class SqlConnectionUtil {

    public static void main(String[] args) {

    Connection conn = null;

    Statement stmt = null;

    ResultSet rs = null;

    String sql;

    String url = "jdbc:MySQL://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=UTF8";

    try {

    Class.forName("com.MySQL.jdbc.Driver");

    conn = DriverManager.getConnection(url);

    stmt = conn.createStatement();

    sql = "select * from user";

    rs = stmt.executeQuery(sql);

    while (rs.next()) {

    String name = rs.getString("name");

    System.out.println("姓名是:" + name);

    }

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    if (rs != null) {

    try {

    rs.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (stmt != null) {

    try {

    stmt.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (conn != null) {

    try {

    conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    }

    }

    }

    127、写一个多线程程序,四个线程对一个int 变量,2 个加 1,2 个减1,输出。

    class TMain {

    int j = 1;

    public synchronized void inc() {

    j++;

    System.out.println(Thread.currentThread().getName() + "-inc:" + j);

    }

    class T1 implements Runnable {

    public void run() {

    inc();

    }

    }

    public synchronized void dec() {

    j--;

    System.out.println(Thread.currentThread().getName() + "-dec:" + j);

    }

    class T11 implements Runnable {

    public void run() {

    dec();

    }

    }

    public static void main(String[] args) {

    TMain t = new TMain();

    T1 t1 = t.new T1();

    T11 t11 = t.new T11();

    for (int i = 0; i < 2; i++) {

    Thread thread = new Thread(t1);

    thread.start();

    Thread thread1 = new Thread(t11);

    thread1.start();

    }

    }

    }

    128、说出常用的10个linux操作命令,至少 5 个,并简述命令的作用。

    ● ls命令

    -作用:显示目录内容,类似 DOS 下的 DIR

    -格式:LS【options】【filename】

    -常用参数:

    >-a:all,不隐藏任何以"."字符开始的文件

    >-l:使用较长的格式列出信息

    >-r:按照文件名的逆序打印输出

    >-F:加上文件类型的指示符ls -lF | grep / 过滤

    ● man ls 查询 ls 的帮助文件

    ​​​​​​​

    ● cat命令

    -作用:显示文件内容,concatenate 的缩写,类似 dos 的 type 命令。

    -格式:cat【options】【fielname】

    -常用参数:

    >-n:显示文件内容的行号。

    >-b:类似-n,但是不对空白行进行编号。

    >-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。

    ● mv 命令

    -作用:更改文件或者目录的名字。

    -格式:mv[options]source destination

    -常用参数:

    >-f:强制模式,覆盖文件不提示。

    >-i:交互模式,当要覆盖文件的时候给提示。

    ● rm 命令

    -作用:删除文件命令,类似 dos 的 del 命令

    -格式:rm【options】filenames

    -常用参数:​​​​​​​

    >-f:强制模式,不给提示。

    >-r,-R:删除目录,recursive

    ​​​​​​​129、说出常见的5个linux系统日志,至少3个并做简述日志的用途。

    ● access-log记录 HTTP/web 的传输

    ● acct/pacct记录用户命令

    ● aculog记录 MODEM 的活动

    ● btmp记录失败的纪录

    ● lastlog记录最近几次成功登录的事件和最后一次不成功的登录

    ● messages从 syslog 中记录信息(有的链接到 syslog 文件)

    ● sudolog记录使用 sudo 发出的命令

    ● sulog记录使用 su 命令的使用

    ● syslog从 syslog 中记录信息(通常链接到 messages 文件)

    ● utmp记录当前登录的每个用户

    ● wtmp一个用户每次登录进入和退出时间的永久纪录

    ● xferlog记录 FTP 会话

    130、创建一张员工表,表名EMPLOYEES,有四个字段,EMPLOYEE_ID: 员工表( 主键)、DEPT_ID: 部门号、EMPLOYEE_NAME:员工姓名、EMPLOYEE_SALARY:员工工资。

    ● 写出建表语句:

    CREATE TABLE EMPLOYEES(

    EMPLOYEE_ID int not null primary key,

    DEPT_ID int,

    EMPLOYEE_NAME char(40),

    EMPLOYEE_SALARY double

    );

    ● 检索出员工工资最高的员工姓名和工资

    select * from user where employee_salary= (select max(employee_salary) from user);

    ● 检索出部门中员工最多的部门号和此部门员工数量

    ​​​​​​​

    select dept_id,count(*) cno from user GROUP BY dept_id desc limit 1;

    ​​​​​​​

    展开全文
  • java初级程序员面试题

    2019-07-05 16:45:55
    **1.java的8种基本数据类型 byte 1字节 ,short 2字节,int 4字节,double 字节, flort 4字节, long 8字节,boolean jvm位定义,char 2字节 2.面向对象的三大特性 2.1 封装: 将内部实现方法隐藏起来对外只提供一个...
     1.java的8种基本数据类型
     byte 1字节 ,short 2字节,int 4字节,double 字节,
    flort 4字节, long 8字节,boolean jvm位定义,char 2字节
    
    
     2.面向对象的三大特性
        2.1 封装:
        将内部实现方法隐藏起来对外只提供一个接口
        2.2继承
        派生类继承基类的通用方法和属性没有必要再次编写
        原来的类 从而大大的提高了代码的复用性;
        2.3多态
       同一个动作对于不同的对象 所产生的不同行为
       例如  同一动作 :人会吃饭   不同对象:中国人用筷子,美国人用叉子
    
     3.谈谈对面向对象的理解
     面向对象的核心是类和对象 java的面向对象的思想就是万物皆对象
     类:是对一类事物的描述 是抽象的 也就是看不见的
     对象:是存在于类中的具体的个体 也可以称之为实例 
     所以面向对象设计的程序主要是对对象的设计而不是对类的设计
     类不会占用内存 对象会占用内存****
    
       4.java优点
      java是一门面向对象语言
      java是跨平台 一次编译 到处使用
      java有自动回收机制
      java是分布式
      java是多线程的**                
    
       5. StringBuilder 和 StringBuffer的区别
           StringBuilder 是线程不安全的效率比较高
           StringBuffer 是线程安全的效率比较低
           所以现在大多数的情况下都是使用的StringBuilder因为效率高
           但是在开发中明确规定线程安全的话建议使用StringBuffer.**
    
    6.简单介绍一下多态
            作用是不必为了派生类添加功能 直接调用 对抽象的基类进行处理就行 提高代码的复用性
             派生类的功能可以被基类的引用变量所调用 提高了代码的扩展性
             多态分为俩种分别是
             编译时多态 @overload 方法名相同    参数列表不同 返回值 无关( 重载)
             运行时多态@overwrite方法名相同      参数列表相同 返回值无关 (重写)
    
     7.string类可以被继承吗 
         string类是final修饰的类所以不能被继承
         底层是由数组实现的 数组长度不可变
    
     8.简单介绍一下static关键字
     static修饰的变量或者方法是由整个类来共享 可不必创建该类的对象来使用
     static的成员也称为类成员或者静态成员
     static修饰的方法
     存在于静态域中可以使用类名点方法名来使用
     静态方法只能访问静态成员 非静态成员要通过实例化对象来访问
     静态方法不能以任何方式来调用this关键字
     static修饰属性
     无论创建多少个对象都会共享这一属性也是存在于静态域中和类一个级别
     9.this和super的区别
     当成员变量和局部变量重名的时候应该调用this来区分
     this代表当前的对象谁调用this就代表谁
     this(参数列表)调用本类中的重载构造方法 必须放在第一行
     super是指调用父类的成员方法和属性
      可以从子类的构造方法调用父类的构造方法 必须放在第一行
     10. ==和equals的区别
        ==基本类型时比较的是值的大小
          引用类型时比较的是内存的引用地址
        equals比较的是值的内容是否一样
      11.抽象类
          首先有构造方法
          抽象类不能实例化 子类必须重写父类的抽象方法
          abstract不能修饰属性 private static final
          一般类中不能定义抽象方法 抽象类中可以有抽象方法也可以没有抽象方法
          抽象方法只有声明没有实现
          接口是一种特殊的抽象类
          接口中包含的方法都是抽象方法 没有方法体
           实现接口必须实现接口中所有的方法
           属性 private static final 方法 public abstract
           区别 抽象类有构造器 接口 没有
           关键字不一样
           抽象类可以有抽象方法也可以没有
           接口只能有抽象方法
           抽象类可以定义static 接口不能
           12.java中的堆与栈
             实例变量通过new出来的变量存放在堆中 当对象失去引用的时候会被gc回收
             局部变量存放在栈中当局部变量脱离了作用域被立即释放内存
            13.final finally finlize 
                final修饰变量 必须在声明的时候给一个初始化的值 而在以后的引用中只能读取
                fianl修饰方法 该方法不能被重写
                final修饰类 该类不能被继承
                finally 是处理异常作为必定会执行的一个语句块
                finalize 是用来调用gc清除对象之前的操作
           14.数组和链表的区别
           三个思路
           存储位置
           数组逻辑上存储的相邻的数据在物理存储位置上也是相邻的 而链表是随机的
           存储空间
           数组是一段连续的空间 链表可以是连续的也可以不是连续的
           长度的可变性
           数组一旦创建之后长度是不可以变得 链表是根据实际开发来分配
           区别
           数组的优点就是 随机访问性强 查询速度快
           数组的缺点 插入删除效率低  可能会浪费内存 必须要有足够的空间 数组长度是固定的
           数组的优点 存放个数不确定  数组长度不可变
           链表的优点就是插入删除速度快 应用率高  可扩展
           链表的缺点 不能随机查找 查找效率低 必须从第一个开始遍历
           14.集合
           collection接口
           list接口有序可重复的
           arraylist
           linkedlist
           vector
           set接口无序的不可重复的
           hashset
           linkedhashset
           treeset
           map接口  key value 键值对
           hashmap
           linkhashmap
           treemap
           hashtable
           15.sleep和wait的区别
           sleep方法是线程类thread类的静态方法调用这个sleep方法会让线程进入睡眠状态
           给初执行机会给其他进程等待休眠时间结束之后会进入就绪状态和其他进程一起
           争取cpu内存执行时间
           wait是object类的方法 当一个线程执行wait方法时 会进入该对象的等待池 
           可以通过notify notfiyall来唤醒等待的线程
           16.线程的生命周期
           新建
           就绪
           运行
           阻塞
           死亡
           17.线程与进程的区别
           进程:首先是拥有独立的堆栈区域和数据段 系统开销比较大
           由于进程之间是独立的特点 使得进程的安全性比较高当一个
           进程奔溃 并不会影响其他的进程
           进程的通讯管道比较复杂 比如 管道 信号 消息队列 套接字
           线程拥有独立的堆栈空间 但是共享数据段 彼此之间使用相同的地址空间 开销比较小
           线程是进程不同的执行路径 也就是说当一个线程死亡就等于整个进程死亡
           通讯方便
           18.什么线程什么事进程
           进程是指一次程序的运行是具有一定独立的程序关于某个数据集合上的一次运行 是操
           作系统分配和调度最小的单位
           线程是操作系统运算调度的最小单位 存在于进程之中是进程中实际运算的单位
           他们俩者之间的关系
           进程指的是一个程序运行的实例 线程是进程的实体
           线程必定只有一个进程 而一个进程可以有多个线程
           19.thread类的start()和run()方法的区别
           start方法用来启动新的线程start方法的内部调用了run方法 这和直接调用run方法不一样
           当你调用run方法的时候只是在原来的线程中调用没有新的线程启动start方法会启动新的线程
           20.当一个线程操作共享资源的时候 在没有执行完毕的情况下 共享资源会出现线程安全的问题
           方法有俩种一是同步代码块 二是同步方法
           同步代码块 synchronized(同步监视器){
           同步代码块
           }
           同步监视器:可以用对象来承担 针对于实际开发可以有对象和this关键字 对于继承只能用静态的
           对象
           方法二:同步方法
           确保一个线程执行方法时其他线程要等到该线程执行结束
           21.java中notfiy和notdiylly的区别
           notfiy不能唤醒某个具体的线程 所以一个线程在等待的时候他才有用武之地
           notfitlly 唤醒所有线程并且争夺锁确保了至少有一个线程进行
           22什么是泛型
           简单来说是一种标签 不确定的类型 当用户使用的时候确定类型  用于解决安全问题 是一种类型安
           机制 
           好处
           将运行时可能抛出的异常转移到编译期
           提供了安全性
           避免强制类型的转换
           23.概述反射和序列化
           反射:在运行状态中 对任意一个类 都能知道这个类的属性和方法
           对于任意一个对象 都能够调用他的任意方法和属性这种动态获取和动态调用简称反射
           序列化
           可以理解为把对象转换为容易传输的格式的过程
           序列化的好处
           方便保存对象 因为对象不能保存 所以可以通过序列化来保存对象 
    
    展开全文
  • 什么是事务?事务有什么特性? 事务是指一个逻辑单元内的一系列操作,这些操作要么都执行, 要么都不执行。 事务具有四大特性:原子性,一致性,隔离性,持久性。 原子性:事务中包含的操作要么都执行,要么都不执行...

    什么是事务?事务有什么特性?

    事务是指一个逻辑单元内的一系列操作,这些操作要么都执行,
    要么都不执行。
    
    事务具有四大特性:原子性,一致性,隔离性,持久性。
    	原子性:事务中包含的操作要么都执行,要么都不执行。
    	一致性:事务中的操作必须是从一种一致性状态转换到另一种一致性状态。
    	隔离性:一个事务的执行不受其他事务的干扰。
    	持久性:事务一旦提交,它对数据库的操作应该是永久性的。
    
    展开全文
  • 关于php的面试题,自己可以下载下来看看,为以后的工作打基础
  • 初级程序员面试题总结(一):

    千次阅读 多人点赞 2018-06-08 15:55:28
    本人将这几天面试的题目总结一些,如果出现错误请指正,谢谢。 1,谈一谈spring。 答:spring是为java程序开发提供的综合性的基础java开发平台,它提供了从表现层SpringMVC到业务层Spring再到持久层springData的...
  • Java初级程序员面试题大全

    千次阅读 2014-12-10 21:38:58
    大家在去参加面试的时候,经常会遇到这样的考题: 给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到...
  • /** 该需要注意的就是截取字符串的时候包头不包尾 @author KingShy */ public class T11 { public static void main(String[] args) { // TODO Auto-generated method stub String a = "newspaper";...
  • public class T03 { public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k,l=0; k=l++;//k=0; ++在后先赋值再做++运算!... System.out.println("K值是:"+k);...
  • package com.test; /** 输出为0 @author KingShy 静态变量不赋初始值可以在main方法中直接使用, 实例变量不赋初始值则需要通过创建对象调用才可以。 */ public class T07 { int j; static int i;...
  • 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 ... -p 创建目录,若无父目录,则创建p(parent) ...touch 创建...
  • 初级Java程序员面试题Compare and contrast (don’t you love that phrase?) the modifiers public, private, protected and default.Compa...Compare and contrast (don’t you love that phrase?) the modifiers ...
  • 关于初级PHP程序员 面试题 适合初学者和找工作的人群,大量的关于初级程序员面试和笔试题。
  • PHP初级程序员面试基础: 1表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. 2session与cookie的区别? 答:session:储存用户访问的...
  • 相关文章: 20道你必须要背会的微服务面试题 文章目录 1、& 和 && 的区别 2、重载和重写的区别 3、== 和 equals 的区别 4、final、finally、finalize 的区别 5、接口和抽象类 6、error 和exception 的区别 7、throw...
  • 计算机软考初级程序员经典面试题计算机软考初级程序员经典面试题
  • 初级程序员PHP面试题

    2009-05-24 18:20:24
    初级程序员PHP面试题,基础其实很重要。
  • Java程序员面试三十二问.doc Java经典试题及答案.doc java面试笔试题大汇总.doc 企业面试题精选.doc 9JAVA代码查错.doc jdbc.doc Struts.doc Hibernate?.doc
  • java基础适合刚学习和即将面临找工作的初级程序员
  • 初级程序员必备Linux面试题,收集来自阿里云开发者社区,包括linux,shell,性能调优,常用linux命令等问题和回答
  • PHP初级程序员面试题目6份,包含答案 PHP面试题 姓名:____________ 日期:____________ 1.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo $num; 10 2.有一个...
  • 20道你必须要背会的微服务面试题 文章目录1、& 和 && 的区别2、重载和重写的区别3、== 和 equals 的区别4、final、finally、finalize 的区别5、接口和抽象类6、error 和exception 的区别7、throw 和 throws 的区别8...
  • 下面是小编整理的关于java初级程序员面试题,欢迎大家参考!一:判断题1.Java语言是一种面向对象程序设计语言。( 对 )2.在Java有布尔类型,该类型只能有两个值:1和0。( 错 )3.Java中一个类可以同时继承多个其他类,...
  • 应届毕业生的一些职位面试一般问一些j2se的基础多还是问一些servlet jsp SSH框架的会多一些??
  • 1、& 和 && 的区别&:按位与,不管左边是true或false,右边都进行运算,不会短路;&&:逻辑与,如果左边为true,右边参与运算,如果左边为false,那么右边不参与运算,具有短路的功能 。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 657
精华内容 262
关键字:

初级程序员面试题