一、基础数据类型与引用数据类型的区别
基本数据类型的变量中直接存放数据值本身,所以改的时候改的是数据值本身;
但是引用类型不同的地方在于真正的数据并没有在栈区的变量中保存,而是在堆区里面保存着,所以虽然也拷贝了一份,也是副本,但是二者指向的是同一块堆区。
引用数据类型就好比如说,两位同学使用的是同一份复习资料,其中一人把资料撕毁了,另一人当然也会受到影响。
而基本数据类型就好比复印了一份,其中一人将自己的资料撕了,并不影响别人。
当在方法体中进行传参时:
1).当使用基本数据类型作为方法的形参时,在方法体中对形参的修改不会影响到实参的数值
2).当使用引用数据类型作为方法的形参时,若在方法体中修改形参指向的数据内容,则会
* 对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;*
3).当使用引用数据类型作为方法的形参时,若在方法体中修改形参变量的指向,此时不会
* 对实参变量的数值产生影响,因此形参变量和实参变量分别指向不同的堆区;*
二、连接池的作用
原理:在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法
作用:①资源重用②更快的系统响应速度③新的资源分配手段④统一的连接管理,避免数据库连接泄露
三、怎么将一张表插入到另外一张表中
1、如果是整个表复制表达如下:
insert into table1 select * from table2
2、如果是有选择性的复制数据表达如下:
insert into table1(column1,column2,column3...) select column1,column2,colunm3... from table2
3、一个数据库中的表中的数据复制到另一个数据库中的一个表,使用方法如下:
insert into 数据库A.dbo.table1(col1,col2,col3...) select col1,col2,col3... from 数据库B.dbo.table2
四、泛型的作用
java中泛型的引入主要是为了解决两个方面的问题:
1.集合类型元素在运行期出现类型转异常,增加编译时类型的检查
2. 解决的时重复代码的编写,能够复用算法。
五、接口和抽象类的区别
1 接口里只能包含抽象方法,静态方法和默认方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法。
2 接口里只能定义静态常量,不能定义普通成员变量,抽象类里则既可以定义普通成员变量,也可以定义静态常量。
3 接口不能包含构造器,抽象类可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。
4 接口里不能包含初始化块,但抽象类里完全可以包含初始化块。
5 一个类最多只能有一个直接父类,包括抽象类,但一个类可以直接实现多个接口,通过实现多个接口可以弥补Java单继承不足。
/*抽象类可以通过被继承而进行实例化*/
六、线程与进程的区别
定义:
进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。
线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。
区别:
1. 一个程序至少有一个进程,一个进程至少有一个线程
2. 线程的划分尺度小于进程,使得多线程程序的并发性高
3. 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
4. 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制
5. 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配
七、数据结构是什么
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关
八、ERROR Exception和RuntimeException的区别
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。
Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。
Exception又分为运行时异常,受检查异常。
运行时异常(RuntimeException),表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。
受检查异常,是表示程序可以处理的异常,也即表示程序可以修复(由程序自己接受异常并且做出处理), 所以称之为受检查异常。
九、数据增长的同步策略(增量同步)
参考
十、SQL统计语句
举例:
1、统计记录数 count函数,可以统计出这条sql会查询出多少条记录很多人用count(*),但建议用count(1)。
2、求合函数 sum,select SUM(num) from tmp_p,对表中 num列进行求合。
3、求平均值,select AVG(num) from tmp_p,对表中 sum列进行求平均值。
4、取出最大值,select MAX(num) from tmp_P,取出num列中最大的一个。
5、取出最小值,select MIN(num) from tmp_P,取出,num列中最小的一个。
十一、java的跨平台特性是怎么做到的?
Java“跨平台”特性的实现原理如下:.java文件,经过Java编译器编译,形成字节码文件——.class,这种.class文件可以运行在JVM上,而JVM可以被安装到不同的平台,这就带来了Java的跨平台特性。
十二、排序算法
十三、java中变量名命名规范
$,下划线,字母开头都行,后面可以用数字,字母下划线
注:该文章仅作为本人复习所用,文章内容多为百度搜索参考用的