java基础总结

自留备用

http://www.cnblogs.com/xdp-gacl/category/563690.html


java基础总结文章

Java制作证书的工具keytool用法总结
摘要: 一、keytool的概念 keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool... 阅读全文

posted @ 2014-06-24 11:03 孤傲苍狼 阅读(4678) | 评论 (0) 编辑

Java基础学习总结——Java对象的序列化和反序列化
摘要: 一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序... 阅读全文

posted @ 2014-06-09 16:55 孤傲苍狼 阅读(25485) | 评论 (11) 编辑

java基础学习总结——接口
摘要: 一、接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴是一种应该受到保护的东西”,金丝猴从“应该受到保护的东西”这个类继承。这样金丝猴可以同时从“动物类”、“值钱的东西类”、“应该受到保护的东西”这三个类继承,但由于JAVA只支持单继承,因此金丝猴只能从这三个类中的一个来继承,不能同时继承这三个类。因此为了封装现实生活中存在的多重继承现象,为了实现多继承,可以把其中的两个类封装成接口。使用接口可以帮助我们实现多重继承。 接口的本质——接口是一... 阅读全文

posted @ 2014-04-09 00:39 孤傲苍狼 阅读(1495) | 评论 (1) 编辑

java基础学习总结——抽象类
摘要: 一、抽象类介绍 下面通过一下的小程序深入理解抽象类 因此在类Animal里面只需要定义这个enjoy()方法就可以了,使用abstract关键字把enjoy()方法定义成一个抽象方法,定义如下:publicabstractvoidenjoy(); 从某种意义上来说,抽象方法就是被用来重写的,所以在父类声明的抽象方法一定要在子类里面重写。如果真的不想在子类里面重写这个方法,那么可以再在子类里面把这个方法再定义为抽象方法,因为子类觉得我去实现也不合适,应该让继承我的子类去实现比较合适,因此也可以在继承这个子类的下一个子类里面重写在父类里面声明的抽象方法,这是可以的。 这里有一个规则:既然父... 阅读全文

posted @ 2014-04-06 12:22 孤傲苍狼 阅读(842) | 评论 (1) 编辑

java基础学习总结——对象转型
摘要: 一、对象转型介绍 对象转型分为两种:一种叫向上转型(父类对象的引用或者叫基类对象的引用指向子类对象,这就是向上转型),另一种叫向下转型。转型的意思是:如把float类型转成int类型,把double类型转成float类型,把long类型转成int类型,这些都叫转型。把一种形式转成另外一种形式就叫转型。除了基础数据类型的转型之外(基础数据类型的转型:大的可以转成小的,小的也可以转成大的。),对象领域里面也有对象之间的转型。1.1.对象转型实例一 1 package javastudy.summary; 2 3 /** 4 * 父类Animal 5 * @author gacl ... 阅读全文

posted @ 2014-04-06 11:27 孤傲苍狼 阅读(773) | 评论 (0) 编辑

java基础学习总结——多态(动态绑定)
摘要: 一、面向对象最核心的机制——动态绑定,也叫多态 1.1.通过下面的例子理解动态绑定,即多态 1 package javastudy.summary; 2 3 class Animal { 4 /** 5 * 声明一个私有的成员变量name。 6 */ 7 private String name; 8 9 /** 10 * 在Animal类自定义的构造方法 11 * @param name 12 */ 13 Animal(String name) { 14 this.name... 阅读全文

posted @ 2014-04-06 00:25 孤傲苍狼 阅读(1023) | 评论 (1) 编辑

java基础学习总结——面向对象2
摘要: 一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类体里面定义person这个类应该具有的成员变量(即属性)和方法,如这里定义的int id和int age这个两个成员变量,或者叫属性,这个id表示人的身份证号码,人应该具有这个属性,age表示人的年龄,这也是人应该具有的。这样就在person这个类里面定义了两个人应该有的属性,接下来就是定义方法了,这里定义了三个方法,分别是getAge()、setAge(int i)和getId(),分别用... 阅读全文

posted @ 2014-04-03 22:23 孤傲苍狼 阅读(841) | 评论 (2) 编辑

java基础学习总结——java读取properties文件总结
摘要: 一、java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下:1.1.项目的目录结构1.2. java读取properties文件代码测试/* 范例名称:java读取properties文件总结 * 源文件名称:Properti... 阅读全文

posted @ 2014-04-02 11:21 孤傲苍狼 阅读(2631) | 评论 (0) 编辑

java基础学习总结——super关键字
摘要: 一、super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。1.1.super关键字测试 1 package cn.galc.test; 2 3 /** 4 * 父类 5 * @author gacl 6 * 7 */ 8 class FatherClass { 9 public int value;10 publ... 阅读全文

posted @ 2014-04-01 18:16 孤傲苍狼 阅读(8225) | 评论 (3) 编辑

java基础学习总结——this关键字
摘要: 一、this关键字 this是一个引用,它指向自身的这个对象。看内存分析图: 假设我们在堆内存new了一个对象,在这个对象里面你想象着他有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存中存在,他就一定有一个引用this。看下面的例子分析: 1 package cn.galc.test; 2 3 public class Leaf { 4 5 int i = 0; 6 7 public Leaf(int i) { 8 t... 阅读全文

posted @ 2014-04-01 18:15 孤傲苍狼 阅读(614) | 评论 (0) 编辑

java基础学习总结——Object类
摘要: 一、Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object。所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗。所有的类,不管是谁,都是从它继承下来的。二、toString方法介绍 一个字符串和另外一种类型连接的时候,另外一种类型会自动转换成String类型,然后再和字符串连接。基础的数据类型int,flo... 阅读全文

posted @ 2014-04-01 18:15 孤傲苍狼 阅读(750) | 评论 (0) 编辑

java基础学习总结——equals方法
摘要: 一、equals方法介绍1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public static void main(String[] args) { 5 /** 6 * 这里使用构造方法Cat()在堆内存里面new出了两只猫, 7 * 这两只猫的color,weight,height都是一样的, 8 * 但c1和c2却永远不会相等,这是因为c1和c2分别为堆内存里面两只猫的引用对象, 9 ... 阅读全文

posted @ 2014-04-01 18:14 孤傲苍狼 阅读(5168) | 评论 (0) 编辑

java基础学习总结——哈希编码
摘要: 一、哈希编码 现在是站在JAVA虚拟机的角度来看内存里面的布局,站在JAVA虚拟机的角度,在内存里面有好多好多个对象,这里用椭圆来代表一个个对象。一个程序运行起来的时候,可能会有很多个对象在内存里面分配,那么对于JAVA虚拟机来说,它运行的时候需要找到这些对象的地址,这些对象的地址怎么找呢?JAVA虚拟机会用一张表记录每一个对象在什么位置上,而这张表一般是用哈希编码来记录,每一个对象都有自己独一无二的哈希编码,根据这个编码就可以找到相关的对象,也就是说,根据这个编码你可以独一无二地确定这个对象,并且可以非常快地确定这个对象所在的位置,可以简单这么理解哈希编码的作用。但是JAVA本身对哈希... 阅读全文

posted @ 2014-04-01 18:14 孤傲苍狼 阅读(1029) | 评论 (0) 编辑

java基础学习总结——static关键字
摘要: 一、static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量。对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享。1.1.静态成员变量与非静态成员变量的区别 以下面的例子为例说明 1 package cn.galc.test; 2 3 public class Cat { 4 5 /** 6 * 静态成员变量 7 */ 8 private static int sid = 0; 9 10 private String name;11... 阅读全文

posted @ 2014-04-01 18:13 孤傲苍狼 阅读(908) | 评论 (3) 编辑

java基础学习总结——方法的重载(overload)
摘要: 一、方法的重载 方法名一样,但参数不一样,这就是重载(overload)。 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样。只要这两方面有其中的一方面不一样就可以构成方法的重载了。 1 package cn.galc.test; 2 3 public class TestOverLoad { 4 5 void max(int a, int b) { 6 System.out.println(a > b ? a : b); 7 } 8 9 /*10 * int max(int a, int b) { 1... 阅读全文

posted @ 2014-04-01 18:13 孤傲苍狼 阅读(625) | 评论 (0) 编辑

java基础学习总结——流
摘要: 一、JAVA流式输入/输出原理 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据,我们想读文件里面的数据怎么办呢?是通过一个流的方式来读,咱们要想从程序读数据,对于计算机来说,无论读什么类型的数据都是以010101101010这样的形式读取的。怎么把文件里面的数据读出来呢?你可以把文件想象成一个小桶,文件就是一个桶,文件里面的数据就相当于是这个桶里面的水,那么我们怎么从这个桶里面取水呢,也就是怎么从这个文件读取数据呢。 常见的取水的办法是我们用一根管道插到桶上面,然后在管道... 阅读全文

posted @ 2014-03-31 10:36 孤傲苍狼 阅读(1471) | 评论 (4) 编辑

java基础学习总结——线程(二)
摘要: 一、线程的优先级别 线程优先级别的使用范例: 1 package cn.galc.test; 2 3 public class TestThread6 { 4 public static void main(String args[]) { 5 MyThread4 t4 = new MyThread4(); 6 MyThread5 t5 = new MyThread5(); 7 Thread t1 = new Thread(t4); 8 Thread t2 = new Thread(t5); 9 t1.... 阅读全文

posted @ 2014-03-30 18:41 孤傲苍狼 阅读(1019) | 评论 (1) 编辑

java基础学习总结——线程(一)
摘要: 一、线程的基本概念 线程理解:线程是一个程序里面不同的执行路径 每一个分支都叫做一个线程,main()叫做主分支,也叫主线程。 程只是一个静态的概念,机器上的一个.class文件,机器上的一个.exe文件,这个叫做一个进程。程序的执行过程都是这样的:首先把程序的代码放到内存的代码区里面,代码放到代码区后并没有马上开始执行,但这时候说明了一个进程准备开始,进程已经产生了,但还没有开始执行,这就是进程,所以进程其实是一个静态的概念,它本身就不能动。平常所说的进程的执行指的是进程里面主线程开始执行了,也就是main()方法开始执行了。进程是一个静态的概念,在我们机器里面实际上运行的都是线程。 ... 阅读全文

posted @ 2014-03-30 18:40 孤傲苍狼 阅读(1585) | 评论 (4) 编辑

java基础学习总结——GUI编程(二)
摘要: 一、事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("TestActionEvent"); 9 Button btn = new Button("Press Me");10 Monitor m = ... 阅读全文

posted @ 2014-03-30 14:46 孤傲苍狼 阅读(1542) | 评论 (1) 编辑

java基础学习总结——网络编程
摘要: 一、网络基础概念 首先理清一个概念:网络编程!=网站编程,网络编程现在一般称为TCP/IP编程。 二、网络通信协议及接口 三、通信协议分层思想 四、参考模型 五、IP协议 每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传错信息了。 IP地址是用一个点来分成四段的,在计算机内部IP地址是用四个字节来表示的,一个字节代表一段,每一个字节代表的数最大只能到达255。六、TCP协议和UDP协议 TCP和UDP位于同一层,都是建立在IP层的基础之上。由于两台电脑之间有不同的IP地址,因此两台电脑就可以区分开来,也就可以互相通话了。通话一般有两种通话方式:第一种是... 阅读全文

posted @ 2014-03-29 23:54 孤傲苍狼 阅读(1519) | 评论 (3) 编辑

java基础学习总结——GUI编程(一)
摘要: 一、AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container。 Container里面又分为Window和Pannel,Window是可以独立显示出来的,平时我们看到的各种各样的应用程序的窗口都可以称为Window,Window作为一个应用程序窗口独立显示出来,Pann... 阅读全文

posted @ 2014-03-29 23:35 孤傲苍狼 阅读(840) | 评论 (1) 编辑

java基础学习总结——数组
摘要: 一.数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的,因为JAVA中的数组是引用类型。二.一维数组一维数组的声明方式有2种:格式一:数组元素类型 数组名[ ]; 即type var[ ];格式二:数组元素类型[ ] 数组名; 即type[ ] var;格式二声明数组的方法与C#上声明一维数组的方法一样。例如:int a1[ ]; int[ ] a2; doubl 阅读全文

posted @ 2014-03-28 13:54 孤傲苍狼 阅读(1078) | 评论 (1) 编辑

java基础学习总结——异常处理
摘要: 一、异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。 1 package cn.javastudy.summary; 2 3 public class TestEx{ 4 5 public static void main(String args[]){ 6 int arr[]={1,2,3}; 7 System.out.println(arr[2]); 8 /** 9 * 这里使用try……catch来捕获除以0产生的异常,其基... 阅读全文

posted @ 2014-03-28 13:53 孤傲苍狼 阅读(1146) | 评论 (3) 编辑

java基础学习总结——面向对象1
摘要: 目录一、面向过程的思想和面向对象的思想二、简单理解面向对象三、面向对象的设计思想四、对象和类的概念五、如何抽象出一个类?六、类(对象)之间的关系七、Java与面向对象八、为什么使用面向对象编程?一、面向过程的思想和面向对象的思想面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。 面向对象有一个非常重要的设计思维:合适的方法应该出现在合 阅读全文

posted @ 2014-03-28 13:52 孤傲苍狼 阅读(1786) | 评论 (0) 编辑

java基础学习总结——基础语法2
摘要: 一、语句 1.1. 条件语句 1.1.1 if语句 1.1.2 分支语句(switch语句) 1.2. 循环语句 1.2.1 for循环语句 学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。在内存中分析result=1!+2!……+10!的算法 分析到i等于3以后,基本上已经得到规律了,这个程序要计算的就是:result = 1!+2!+3!……+10!。 由此可以看出,懂得画内存去分析程序对读懂别人的程序是大有裨益的。以后读别人的程序的时候,觉得难读懂的时候就画内存分析。 学习别... 阅读全文

posted @ 2014-03-28 13:51 孤傲苍狼 阅读(964) | 评论 (1) 编辑

java基础学习总结——基础语法1
摘要: 一.标识符 二.关键字 三.JAVA基础数据类型3.1. java常量 3.2. java变量 从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行。一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击这个.exe文件时,运行起来的时候实际上是整个.exe文件被放在了在内存里面,然后操作系统找到main方法,也就是程序的入口,然后就开始执行了。执行的过程之中,会不断地在内存里面分配一些区域,变量在内存里面就是一小块区域,变量有两个概念,一个是变量的名字,另一个是变量的值,即这... 阅读全文

posted @ 2014-03-28 13:48 孤傲苍狼 阅读(1371) | 评论 (0) 编辑

java基础学习总结——开篇
摘要: java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的知识点都好好梳理一下,加深印象,学习java基础时看的是尚学堂马士兵老师的java基础学习视频,笔记中的好多截图都是直接截取PPT上面的图片了!这2年多来,工作中使用.net比较多,java感觉生疏了不少,趁着这次整理java基础的学习笔记,把java再次捡起来!这次整理主要是给自己看的,有需要的朋友也可以看看,我们可以多多交流,大牛们就请绕道吧! 阅读全文

posted @ 2014-03-28 13:45 孤傲苍狼 阅读(1056) | 评论 (0) 编辑

java基础学习总结——java环境变量配置
摘要: 前言 学习java的第一步就要搭建java的学习环境,首先是要安装JDK,JDK安装好之后,还需要在电脑上配置"JAVA_HOME”、"path”、"classpath"这三个环境变量才能够把java的开发环境搭建好。在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_H... 阅读全文

posted @ 2014-03-28 13:45 孤傲苍狼 阅读(869) | 评论 (1) 编辑


  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值