Java序列化的机制和原理

有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例…

Java算法 排列

package com.ding; /**  *   * @author daniel  *  * 1、2、2、3、4、5 打印出所有不同的排列, 4不能在第三位 3、5不能相连  */ public class Test1 {   static int[] bits = new int[] { 1, 2, 3, 4, 5 };   public static void main(String[] args) { sort("", bits); }   private static void sort(String prefix, int[] a) { if (a.length == 1) { System.out.println(prefix + a[0]); }   for …

java算法之冒泡排序

  冒泡排序(BubbleSort)演算法的运作如下:  比较相邻的元素。 如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。  public class BubbleSortTest { public static void main(S…

Java算法部分

public class SortTest {  /**   * 排序测试   */  public int[] createArrray() {        int[] array = new int[1000];   for (int i = 0; i < 1000; i++){        array[i] = (int)(Math.random() * 1000);//生成0-999的随机整数       }      System.out.println("======原始序列=======");      printArray(array);      return array;     }    //打印数组中的元素到控制台  public void pri…

java算法应用

使用java程序解决问题:100元钱买100只鸡,母鸡每只5元,公鸡每只3元,小鸡3只1元,问共可以买多少只母鸡、多少只公鸡、多少只小鸡。 第一种方法:执行次数为 101*101*101=1030301 public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k; for(i=0;i<=100;i++) for(j=0;j<=100;j++) for(k=0;k<=100;k++){ if(k%3==0 && i+j+k==100 && 5*i…

java算法题

1. 判断身份证:要么是 15 位,要么是 18 位,最后一位可以为字母,并写程序提出其中的年月日。 答: 我们可以用正则表达式来定义复杂的字符串格式, (/d{17}[0-9a-zA-Z]|/d{14}[0-9a-zA-Z]) 可以用来判断是否为合法的 15 位或 18 位身份证号码。 因为 15 位和 18 位的身份证号码都是从 7 位到第 12 位为身份证为日期类型。这样我们可以设计出更精确的正则模式,使身份证号的日期合法,这样我们的正则…

java 面试题和算法

package com.test.haoTest; import java.io.UnsupportedEncodingException; public class T11 {     /**      * @param args      */     public static void main(final String[] args) {         final String number = Integer.toString(64, 8);         System.out.println("number= " + number);         final float t1 = (float) 17.1 % 4;         System.out.println("t1= " + t1);         …

JAVA算法题目

算法与编程 判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日。 答:我们可以用正则表达式来定义复杂的字符串格式,(\d{17}[0-9a-zA-Z]|\d{14}[0-9a-zA-Z])可以用来判断是否为合法的15位或18位身份证号码。 因为15位和18位的身份证号码都是从7位到第12位为身份证为日期类型。这样我们可以设计出更精确的正则模式,使身份证号的日期合法,这样我们的正则模式可以进…

java算法之冒泡

 大家一看到这个名字可能就已经猜到了它的工作方式了,这种排序方法是从最低部的元素开始进行比较,较小的元素将会像气泡一样往上冒,这样听起来很抽象,举个例子吧!比如我们要对一个包含了3个元素的数组按照升序进行排序,我们首先将会把第三个元素的值与第二个元素的值进行比较,如果第三个元素的值小于第二个数的值,则交换这两个元素的值,接下来,我们将第二个元素的值,再与第一个元素的值进行…

java 常用的算法

JAVA经典算法收集整理 java排序算法的比较+ U  U& E: X/ u4 Z- N  a  f9 Y9 H# r9 y. h1 I! d- X4 o8 [import java.util.*;# P7 x/ _6 b2 m0 q0 g4 rimport java.io.*;# }- n5 k. g5 x- l7 y5 W' d% x* t4 T9 e& J( G$ T  wpublic class SortAlgorithm- Z$ A4 f* E) e0 C6 g{# I/ N7 Z2 o, z- S5 /static Random rand = new Random();* R9 x2 [+ t0 |0 k% ]$ n/ ]% Y+ e& N* n) ]# @6 e5…

JAVA算法(冒泡排序)

/**这是一个冒泡排序的小程序 冒泡排序是指把待排序列中的元素当作气泡一样,让它冒出水面。具体是从序列中的第一个元素开始将p[i]与p[i+1]进行比较看是否是逆序,是则交换它们的值,这样可以将最值移到p[n-1],然后再开始一次,将最值移到p[n-2],如此循环到将最值移到p[n-n]; */ public class BubbleSort { public static char []ascending(char [] with){ //char类型递增排序 char temp; int length…

Base64 java 算法

MSN:zhoujianguo_leo@hotmail.compublic class Base64 {    private static final char[] S_BASE64CHAR = {        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',         'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',         'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',         'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',         'o', 'p', 'q', 'r', 's', 't', 'u…

java 算法–排序

1.冒泡排序算法(最基础的排序算法,每循环比较一次,则将最大(小)的数排在数据的首位或末位)      //冒泡排序 public static void main(String[] args) { int[] nums={9,8,7,6,5,4,3,2,1}; //让第i(num[0-nums.length-1])个数和后面的依次比较,如果后面的数比较小,则与i位置的数交换 //i控制比数的下标 for(int i=0;i<nums.length-1;i++){ for(int j=i+1;j<nums.length;j++){ if(nums[i]>n…

java 小算法

 倒序排列: public String descSort(String str){      char[]   temp_chars=str.toCharArray();         int   temp_length=str.length();           char[]   temp_chars_reverse=new   char[temp_length];           for(int   i=0;i<temp_length;i++)       {       temp_chars_reverse[i]=temp_chars[temp_length-1-i];       }       String   cba=new   String(temp_chars_reverse);      …
下一页 »