String.StringBuilder.StringBuffer 主要区别在两点上: 速度效率上对比:StringBuilder>StringBuffer>String 线程安全上来说:StringBuffer是线程安全的,StringBuilder是线程不安全的 总结: String:不可变,适用于少量字符串拼接: StringBuilder:可变,适用于单线程字符串缓冲区进行大量操作: StringBuffer:可变,适用于多线程字符串缓冲区进行大量操作. 详细原理解析如下:(很详细,从…
面向对象的特征 封装.继承和多态 https://blog.csdn.net/jianyuerensheng/article/details/51602015 封装: 定义:封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 优点:1.保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>数据封装. 2.方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者==>方法封装. 3.良好的封装可以降低程序的耦…
---恢复内容开始--- 1数组.有序的同类型的集合. 2.string :字符串类型:其实就是一个字符数组.添加了private final,所以string是一个不可以变的字符串. String.charAt(index):或者字符数组的元素 equals():比较是每个字符是否相等.即比较的是内容. 字符串常用方法和源码: 3.stringbuilder 可扩容的字符串.也就是自动实现了字符数组的扩大.一般是两倍. 4,arraylist.数组列表,封装了数组. 5.多维数组: 虽然数组定…
final, finally, finalize 首先,这三个关键字没什么关联,只是放在一起比较像,用法用处完全不同. final: final关键字可以用来修饰类.方法.变量(成员变量和局部变量),final用的多,下面详细介绍下 1.1 final 修饰类 final修饰类,表明这个类不能被继承,同时该类内的所有方法都被隐式定义为final. 1.2 final 修饰方法 final 修饰方法,该方法不可以被继承,不可以被重写.因此要注意,如果子类定义相同方法名和参数的函数,不是重写父类方法…
 什么是序列化和反序列化 序列化:把堆内存中的java对象数据,通过某种方式把对象存储到磁盘文件或者传递给其他网络节点.这个过程称为序列化.简单来说呢,就是将对象转换成二进流的过程. 反序列化:把磁盘文件或网络节点上的对象数据恢复成java模型的过程,也就是将序列化过程中产生的二进制串转化为数据结构或者对象的过程. 为什么要序列化 1.在分布式系统或者需要远程调用,此时就需要把对象在网络上传输,需要把对象转为二进制形式,需要共享的JavaBean对象,都需要做序列化. 2.服务器钝化:如果服务器…
==: ==比较的是变量内存中存放的对象的内存地址,用来判断两个对象地址是否相同,比较的是否是同一个对象. 1.两边的操作数必须是同一类型,不然编译不通过. 2.如果是基本数据类型比较,值相等则为true.因为基本类型不存在引用的概念,都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间. equals: equals比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有的对象.如果没有对equals方法重写,调用的就是Object类…
http://www.cnblogs.com/logsharing/p/8448446.html 转载的这篇文章,很有意思,说的也很全面,学习下,防丢失,备份记录下 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么. 当你在面试中被问到这个问…
自定义注解使用场景: 类属性自动赋值,例如对上下文.传入参数等赋值 验证对象属性完整性,例如,对参数的校验 代替配置文件功能,像spring基于注解的配置 可以生成文档,例如java 最早提供的注解.常用的有@param @return 等 利用注解针对性做一些前置或者后置的处理,例如记录日志.检验权限等 自定义注解会需要元注解,此处先介绍元注解. 元注解包含四种:@Retention.@Inherited.@Documented.@Target @Documented –注解是否将包含在Jav…
Throwable.Error.Exception.RuntimeException 关系如下类图所示: Throwable: Throwable类是java语言中所有错误或者异常的超类.它的两个子类是Error和Exception. Error: Error是Throwable的子类,用于指示合理的应用程序不应该试图捕获的严重问题. 一般都是不可控制的(unchecked),用来表示虚拟机内部错误或者底层资源的错误. Exception: 可以是被控制的(checked)或者不可控制的(unc…
在一个表达式中可能包含多个有不同运算符连接起来的.具有不同数据类型的数据对象:由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性.唯一性. 优先级 1.优先级与求值顺序无关.如a+b && bc,虽然优先级最高,但这个表达式求值顺序是从左到右. 2.优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级. 3.相同优先级中,按结合性进行结合.大多数运算符结合性是…