一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开发工具). 1.1.JVM体系结构 主要分为:类加载器(ClassLoader)子系统.运行时数据区和执行引擎. 类加载器:在JVM启动时或者类在运行时将需要的class加载到JVM中 执行引擎:负责执行class文件中的字节码指令,相当于CPU 运行时数据区:将内存划分成若干个区,分别完成不同的任…
对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保存在磁盘中,或直接通过网络进行传输(例如web中的HttpSession,或者J2EE中的RMI参数及返回值),以便通过反序列化的方式将字节码恢复成对象来使用. 所有可能在网络上传输对象的类都应该可序列化,通常分布式应用需要跨平台,跨网络,所以要求所有传递的参数及返回值都可序列化. 通常让需要被序列…
(作者声明:对于Java编程语言,很多人只知道怎么用,却对其了解甚少.我也是其中一员.所以菜鸟的我,去查询了教科书以及大神的总结,主要参考了<Java核心技术>这本神作.现在分享给大家!) Ⅰ.Java的定义 定义:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等特点. Ⅱ.Java的特点 Jav…
jre:  java运行环境.  jre =  java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre.    jdk: java开发工具集   jdk = jre + java开发工具. 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 1.java SE. java EE与Java ME 的区别 1)Java SE(…
面向过程和面向对象的区别 面向过程(结构化程序设计) 实际上是一个面向操作过程,首先设计一系列过程(算法)来求解问题(操作数据),然后再考虑存储数据的方式(组织数据).即程序=算法\+数据结构.对应典型的计算机语言是c. 优点: 性能比面向对象高,调用速度快,比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发 缺点: 没有面向对象易维护.易复用.易扩展 面向对象(面向对象程序设计) 和面向过程的次序相反,首先要确定如何组织数据,然后再考虑如何操作数据的算法.面向对象的程序是由对象…
1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成,不能分割. 3.类和对象的区别: 类:抽象的概念,是一个模子,确定了对象的属性和方法. 对象:能够看得见摸得着的实物,具有静态和动态特性. 4.定义类的步骤: 1)定义类名 2)定义类的属性 访问修饰符 属性类型 属性名称=默认值: 3)定义类的方法 访问修饰符 返回值类型 方法名称(){ 方法体:…
一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte:  1字节 取值范围 -128~127 short: 2字节    取值范围 -32768~32767 int:     4字节 取值范围 负2的31次方到正的2的31次方减1 long:   8字节 取值范围 负2的63次方到正的2的63次方减1   长整型必须要有后缀L  例 400000L 取值范围计算方法 问:1个字节占8位,为什么byte类型取值范围是2的7次方而不是2的8次方? 答: 因为正负符号占了一位所以只剩下7…
面向对象编程的三大特性:封装.继承.多态 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据,而外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类的代码,两个类若存在IS-A关系就可以使用继承,同时继承也为多态的实现做了铺垫. 多态指的是程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定.即一个引用变量到底会指向那个类的实例对象,该引用变量发出的方法调用到底是那个类中实现的…
 当使用 +.-.*./.%.运算操作时,遵循如下规则: 1.只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型: 2.如果两个操作数中有一个是float类型的,另一个将会被转换为float类型,并且结果也是float类型: 3.如果两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型:4.否则(操作数为:byte.short.int .char),两个数都会被转换成int类型,并且结果也是int类…
1.java面向对象的基本特征:封装性,多态性,继承性. 2.Java的泛型:iterator接口主要有hasnext()方法,next()方法,remove()方法:collection接口继承了iterator接口. 然后set接口继承了collection接口,set接口存放的元素不能有重复,重复算一个.其中set接口的实现类有Hashset(元素无序,即与add()方法顺序无关),还有实现类LinkedHashSet(有序,即与add()方法顺序有关) 然后list接口也继承了colle…