包装类:java是典型的面向对象编程,但是八种基本数据类型并不支持面向对象编程.基本类型的数据不具备对象的特性,没有属性和方法.沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单.有效地进行常规数据处理. 但是,这种非面向对象的做法也会带来不便,因此,java为每种基本数据类型分别设计了对应的类,称为包装类. 基本数据类型以及对用的包装类的关系如下: byte Byte short Short int Integer long Long char Char float Float double…
关于自动装箱与拆箱 1.包装类与基本数据类型的自动转换,叫装箱和拆箱(类型自动转换) 2.自动装箱拆箱是在编译器,编译器自动配转换方法,实现装箱和拆箱.所以这个过程发生在编译期 3.只有需要相互类型转换时,编译期才会自动转换 关于整形常量池 1.整形常量池同样在方法区内存,是一种缓存技术(cache) 2.只有[-128 ~ 127]之间的整数数字才会放在整形常量池中(因为用的比较频繁) /1.自动装箱.自动拆箱 public class Test04 { public static void…
int和Integer的区别 int是基本数据类型,Integer是int的包装类. Integer必须实例化后才能使用,int变量不需要. Integer实际是对象的引用,生成一个新对象实际上是生成一个指针指向此对象:而int则是直接存储数据值. Integer默认值是null,int默认值是0: Integer的缓存范围是-128到127. 关于Int和Integer比较的一些延伸: 例子: Integer a= new Integer(100); Integer b = new Integ…
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. Java基本类型共有八种,基本类型可以分为三类: 字符类型char 布尔类型boolean 数值类型byte.short.int.long.float.double. 数值类型又可以分为整数类型byte.short.int.lo…
包装类(Wrapper Class) 包装类是针对于原生数据类型的包装. 因为有8个原生数据类型,所以对应有8个包装类. 所有的包装类(8个)都位于java.lang下. Java中的8个包装类分别是:Byte, Short, Integer, Long, Float, Double, Character, Boolean,它们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换. 下面以主要Integer类为例说明. Integer Integer类将int类型的值包装到一个对象中.…
面向对象的特征 封装.继承和多态 https://blog.csdn.net/jianyuerensheng/article/details/51602015 封装: 定义:封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 优点:1.保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>数据封装. 2.方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者==>方法封装. 3.良好的封装可以降低程序的耦…
http://www.cnblogs.com/logsharing/p/8448446.html 转载的这篇文章,很有意思,说的也很全面,学习下,防丢失,备份记录下 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么. 当你在面试中被问到这个问…
在一个表达式中可能包含多个有不同运算符连接起来的.具有不同数据类型的数据对象:由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性.唯一性. 优先级 1.优先级与求值顺序无关.如a+b && bc,虽然优先级最高,但这个表达式求值顺序是从左到右. 2.优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级. 3.相同优先级中,按结合性进行结合.大多数运算符结合性是…
这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法.回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原因.一个很明显的原因是JAVA提供的锁是对象级的而不是线程级的,每个对象都有锁,通过线程获得.如果线程需要等待某些锁那么调用对象中的wait()方法就有意义了.如果wait()方法定义在Thread类中,线程正在等待的是哪个锁就不明显了.简单的说,由于wait,notify和notifyAll都是锁…
 什么是序列化和反序列化 序列化:把堆内存中的java对象数据,通过某种方式把对象存储到磁盘文件或者传递给其他网络节点.这个过程称为序列化.简单来说呢,就是将对象转换成二进流的过程. 反序列化:把磁盘文件或网络节点上的对象数据恢复成java模型的过程,也就是将序列化过程中产生的二进制串转化为数据结构或者对象的过程. 为什么要序列化 1.在分布式系统或者需要远程调用,此时就需要把对象在网络上传输,需要把对象转为二进制形式,需要共享的JavaBean对象,都需要做序列化. 2.服务器钝化:如果服务器…