1 序列化允许重构 序列化允许一定数量的类变种,甚至重构之后也是如此,ObjectInputStream 仍可以很好地将其读出来. Java Object Serialization 规范可以自动管理的关键任务是: 将薪资段添加到类中 将字段从static改为非static 将字段从transient改为非transient( 瞬态) 取决于所需的向后兼容程度,转换字段形式(从非 static 转换为 static 或从非 transient 转换为 transient)或者删除字段需要额外的消…
Java 序列化简介 Java 对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态. 实际上,序列化的思想是 "冻结" 对象状态,传输对象状态(写到磁盘.通过网络传输等等),然后 "解冻" 状态,重新获得可用的 Java 对象.所有这些事情的发生有点像是魔术,这要归功于 ObjectInputStream/ObjectOutputS…
建议先阅读:Java 编码那些事(一) 现在说说编码在Java中的实际运用.在使用tomcat的时候,绝大部分同学都会遇到乱码的问题,查查文档,google一下解决方案啥的,都是设置这里,设置那里,或者在代码中添加编码方式,虽然最终问题解决了,但是你真的知道这是什么意思么? 在平时开发Java的时候,我们会遇到很多编码设置,其中包括: Java文件的编码:Java文件的编码表示编写代码得时候,.java文件本身的编码,这个编码的影响在于将你的写的代码源文件复制一份,使用其他编辑器打开,若两个编辑…
杨辉三角的定律 第n行m列元素通项公式为: C(n-1,m-1)=(n-1)!/[(m-1)!(n-m)!] 需要用到创建二维数组 package com.glut.demo; /** * 杨辉三角 * @author qichunlin * */ public class demo3 { public static void main(String[] args) { int triangle[][]=new int[10][];// 创建二维数组 // 遍历二维数组的第一层 for (int…
今日内容介绍 1.面向对象思想 2.类与对象的关系 3.局部变量和成员变量的关系 4.封装思想 5.private,this关键字 6.随机点名器 01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程. * b: 面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"谁"就是对象,他要怎么做这件…
IO / XML 一.File类 1.定义/概念 Java是面向对象的语言,要想把数据存到文件中,就必须要有一个对象表示这个文件.File类的作用就是代表一个特定的文件或目录,并提供了若干方法对这些文件或目录进行各种操作.File类在java.io包下,与系统特定输入输出的相关的类都在此包下. 2.File类构造方法 构造一个File类的实例,并不是创建这个目录或文件,而是创建该路径(目录或文件)的一个抽象,他可能真实存在,也可能不存在 (1)File(File parent,String ch…
JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例 4.调用JNIEnv实例装载并处理class类. 当一个URL被访问时,内存申请过程如下: A. JVM会试图为相关Java对象在Eden中初始化一块内存区域 B. 当Eden空间足够时,内存申请结束.否则到下一步 C. JVM试图释放在Eden中所有不活跃的对…
//冒泡排序 public class demo{ public static void main(String[] args) { int[] sum={2,9,10,1,5,88}; System.out.println("==============排序前=========="); for(int i=0;i<6;i++){ System.out.print(sum[i]+"\t"); } for(int j=1;j<=sum.length-1;j…
import static静态导入是JDK1.5中的新特性.一般我们导入一个类都用 import com-..ClassName;而静态导入是这样:import static com-..ClassName.;这里的多了个static,还有就是类名ClassName后面多了个 . ,意思是导入这个类里的静态方法.当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行 了.然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用. 这种方法的好处就…
通过对图书的增删改查操作 用数组实现 Manager类 package demo55; import java.util.*; public class Manager { Scanner sc = new Scanner(System.in); int size = 0; public void Menu(){ int num; System.out.println("======欢迎使用图书管理系统======"); System.out.println("1.查看图书&…