1.面向对象与面向过程的区别
答:1.面向过程的性能比面向对象的性能高,因为类调用的时候需要类的实列化,比较消耗资源,所以当性能成为最重要的考虑因素的时候,通常会选择面向过程的方式,比如单片机,嵌入式开发,Linux等 2.但是面向对象相当来说 容易维护,易复用,易扩展,因为面向对象有封装,继承,多态等特性,所以可以设计出低偶尔的系统,使系统更加灵活,更加易于维护.(Java性能差的原因并不是因为他是面向对象语言,而是Java为半编译语言,最终执行的代码不是可以直接被CPU执行的二进制机械码
2.Java语言有哪些特点
答:简单易学,面向对象三特性,平台无关性(Java虚拟机实现平台无关性),可靠性,安全性,支持多线程(C++内部没有内置的多线程机制,2011年的时候C++引用了多线程库),支持网络编程且方便,编译与解释并存
3.字符型常量与字符串常量的区别
答:形式上:字符常量是单引号引起的一个字符;字符串常量是双引号引起的若干字符 含义上:字符常量相当于一个整型值(ASCll),可以参加表达式运算,而字符串常量代表一个地址值 内存大小:字符常量只占两个字节,而字符串常量占若干字节(char在Java中占两个字节)
4.简述线程,程序,进程的基本概念,以及他们之间的关系?
答:1.线程与进程相类似,但是线程是一个比进程更小的执行单位,一个进程在实行的过程中可以产生多个线程,与进程不相同的是,同类的多个线程共享同一块内存空间和一组系统志愿,所以系统在产生一个线程,或者多个线程之间切换工作时,负担要比进程小得多,也正是因为如此,线程被成为轻量级进程2.程序是含有指令和数据的文件被存储在其他的数据存储设备当中,也就是说程序是静态的代码3.进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的,系统运行一个进程是一个进程从创建,运行到消亡的过程,其实一个进程就是一个执行中的程序。同时进程和线程的最大不同是:各进程是相互独立的,而线程不一定,因为同一个进程中的线程可能会相互影响,同时进程属于操作系统的范畴,同一段时间进程可以执行一个以上程序,而线程类似同一程序同时进行
5.线程有哪些基本状态?
答:线程一般是有6种状态,初始状态(new状态)线程被构建,但是还没有调用start方法,调用start方法后开始运行,此时线程处于Ready(可运行状态),可运行状态获得CPU的时间片后就处于RUNNING(运行状态),当线程执行wait方法后,线程进入waiting(等待)状态,进入等待状态的线程需要依靠其他线程的通知,才能返回到运行状态,而超时等待状态,相当于等待状态的基础上增加了超时限制,当线程调用同步方法,在没有获取到锁的情况下,线程将会进入到BLOCKED(阻塞)状态,线程在执行运行状态的run方法后会进入到终止状态