一:get与post的区别
1. get是从服务器上获取数据,post是向服务器传送数据
2. get传送的数据量小,不能大于2KB,post传送的数据量较大
3. get安全性低,post高,但是执行效率上get好一些
4. 在进行文件上传的时候,只能使用post而不能使用get
二:string stringbuffer stringbuilder 区别
1. string字符串常量,stringbuffer与stringbuilder是字符串变量
2. string长度不可变,stringbuffer与stringbuilder长度可变
3. string使用字符串拼接的时候是两个不同的空间,stringbuffer与stringbuilder则是直接在字符串后面追加,所以大数据量上不用string
4. stringbuffer线程安全,stringbuilder线程不安全
5. 执行效率上StringBuilder>StringBuffer>String
三:HashMap与Hashtable区别
1. HashMap非线程安全,HashTable线程安全
2. HashMap允许null的键/值,HashTable不允许
3. HashMap性能优于Hashtable
四:Forword(请求转发)和Redirect(重定向)
1. 从数据共享上:Forword是一个请求的延续,可以共享request的数据。Redirect是开启一个新的请求,不可以共享request的数据
2. 从地址栏:Forword转发地址栏不发生变化。Redirect转发地址栏发生变化
五:osi七层模型
1. 物理层
2. 数据链路层
3. 网络层
4. 传输层
5. 会话层
6. 表示层
7. 应用层
六:内存泄漏和内存溢出的区别
1. 内存泄漏是指应用程序申请内存之后,无法释放已经申请的内存空间,一次内存泄露的危害可以忽略,但是如果任由其发展最终会导致内存溢出
2. 内存溢出是指应用程序申请内存之后,没有足够的内存空间任其使用,所以我们在项目中对于大批量数据的导入要采取分批次提交的方式
七:error和exception的区别
1. error是指程序无法处理的错误,比如:内存泄露,发生的时候jvm虚拟机一般会选择线程终止
2. Exception是指程序本身可以处理的异常
八:字节流和字符流的区别
1. stream结尾的都是字节流,reader和writer结尾的都是字符流
2. 读写的时候一个按照字节读写,一个按照字符读写
3. 读写文件中对文件的内容进行处理的时候一般用字符流,只读写文件就用字节流。
九:接口和抽象类的区别
1. 一个类只能进行单继承,但是可以有多个接口
2. 有抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法
3. 接口和接口--继承,接口和抽象类--抽象类实现接口,类和抽象类--类继承抽象类,类和类--继承
原文:https://www.cnblogs.com/flyinghome/p/12121551.html