
Java知识点总结
文章平均质量分 87
lemon100521
这个作者很懒,什么都没留下…
展开
-
类和对象(1)
类和对象(1)1.面向对象的编程面向对象的三大特征:(1)封装:即把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类和对象对其进行操作;对不可信的类进行信息的隐藏。(内部操作对外部不可见)(2)继承:一种能力。可使用所有现有类的所有功能,且无需进行重新编写对功能进行扩展。(3)多态:值一个类实例的相同方法在不同情形下的不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的接...原创 2018-03-29 21:39:41 · 362 阅读 · 0 评论 -
JavaIO——内存操作流、打印流
我们之前所做的都是对文件进行IO处理,实则我们也可以对内存进行IO处理。我们将发生在内存中的IO处理称为内存流。内存操作流也可分为两类:字节内存流和字符内存流。 (1)ByteArrayInputStream 和 ByteArrayOutputStream构造函数:public class ByteArrayOutputStream extends OutputStreampublic ...原创 2018-05-17 23:02:05 · 336 阅读 · 0 评论 -
ClassLoad类加载器与双亲委派模型
1. 类加载器Class类描述的是整个类的信息,在Class类中提供的方法getName()是根据ClassPath配置的路径来进行类加载的。若类加载的路径为文件、网络等时则必须进行类加载这是就需要用到ClassLoader类。ClassPath:加载类的路径。(1)ClassLoad:类加载器用来加载 Java类到Java 虚拟机中。Java 源程序(.java 文件)在经过 Java 编译器编...原创 2018-05-11 20:16:10 · 1441 阅读 · 0 评论 -
JavaIO——File类
1、File文件类File类(描述具体文件或文件夹的类):是唯一一个与文件本身操作有关的程序类,可完成文件的创建、删除、取得文件信息等操作。但不能对文件的内容进行修改。(1)File类的基本使用File类只用于创建文件文身并不对其内容做任何处理。Java.Io.File是一个普通的类,直接产生实例化对象,要想得到实例化对象则需用到其提供的构造方法。 A. File类中提供的构造方法 public ...原创 2018-05-11 22:30:43 · 518 阅读 · 0 评论 -
JavaIO——System对IO的支持、序列化
1、系统类对IO的支持在我们学习PriteWriter、PrintStream里面的方法print、println的时候是否观察到其与我们之前一直使用的系统输出很相似呢?其实我们使用的系统输出就是采用IO模式完成的。在System中定义了三个操作的常量:a、标准输出:(System.out) public final static PrintStream out b、错误输出:(System.er...原创 2018-05-18 20:19:18 · 240 阅读 · 0 评论 -
Lock锁的使用
在Java多线程中,可以使用synchronized关键字实现线程之间的同步互斥,在jdk1.5后新增的ReentrantLock类同样可达到此效果,且在使用上比synchronized更加灵活。观察ReentrantLock类可以发现其实现了Lock接口public class ReentrantLock implements Lock,java.io.Serializable1、使用Re...原创 2018-05-07 20:36:53 · 10692 阅读 · 2 评论 -
javaIO——输入输出流
字节流与字符流File类不支持对文件内容进行相关的操作,所有若要处理文件的内容,则需要通过流操作模式来完成。 流的基本操作步骤:Step1:根据文件路径创建File类对象.Step2:根据字节流或字符流的子类实例化父类对象.Step3:进行数据的读取或写入操作.Step4:关闭流(Close()).(1)字节流 A. 字节输出流(Outpu...原创 2018-05-14 20:41:55 · 300 阅读 · 0 评论 -
集合类——Collection、List、Set接口
集合类Java类集我们知道数组最大的缺陷就是:长度固定。从jdk1.2开始为了解决数组长度固定的问题,就提供了动态对象数组实现框架——Java类集框架。Java集合类框架其实就是Java针对于数据结构的一种实现。Java类集的本质就是动态对象数组。在Java类集中提供有两个最为核心的接口:Collection和Map接口。1、Collection接口(1)定义:public interface C...原创 2018-05-21 21:26:24 · 286 阅读 · 0 评论 -
JavaIO——转换流、字符编码
1、转换流转换流是将字节流变成字符流的流。OutputStreamWriter:将字节输出流转换成字符输出流。public class OutputStreamWriter extends Writer提供的构造方法: public OutputStreamWriter(OutputStream out)InputStreamReader:将字节输入流转换成字符输入流。public cla...原创 2018-05-15 21:44:02 · 1770 阅读 · 1 评论 -
JVM——内存分配与回收策略
1、对象优先在Eden分配 大多数情况下,对象优先在新生代Eden区分配。原创 2018-06-02 22:38:09 · 246 阅读 · 0 评论 -
JVM——Java内存区域
JVM 一、概念虚拟机:通过软件模拟的具有完整硬件功能的运行在一个完全隔离环境中的完整操作系统。JVM:软件虚拟Java字节码指令集。HoSpot是Java默认的虚拟机。二、Java内存区域与内存溢出异常Java虚拟机所管理的内存包括如下几个运行时数据区域:(1)线程私有区域(随线程的创建与销毁而创建与销毁):程序计数...原创 2018-05-26 23:31:30 · 151 阅读 · 0 评论 -
JVM——对象已“死”的判定
一、垃圾收集器与内存分配策略主要针对Java堆和方法区1、判断对象是否已“死”Java堆中存放着几乎所有的对象实例,垃圾回收器在对堆进行回收之前,首先应该判断这些对象哪些还“存活”,哪些已经“死亡”。(1)引用计数法A. 工作流程 给每个对象附加一个计数器,每当有一个地方引用此对象。计数器+1;每当有一个地方不再引用此对象,计数器-1;在任意时刻,只要对象引用计数器值为0,任务此对象已经“...原创 2018-05-27 11:03:47 · 246 阅读 · 0 评论 -
集合类——集合输出、栈和队列及Collections集合
1、集合输出在之前我们利用了toString()及get()方法对集合进行了输出,其实那都不是集合的标准输出,集合输出有四种方式:Iterator、ListIterator、Enumeration、foreach。(1)Iterator(迭代输出)在jdk1.5之前,在Collection接口中就有iterator()方法来获取Iterator接口的实例化对象,而在jdk1.5之后该方法被提升到I...原创 2018-05-22 21:30:54 · 833 阅读 · 0 评论 -
集合类——Map集合、Properties属性文件操作
Map集合Collection集合的特点是每次进行单个对象的保存,若要对一对对象来进行保存就只能用Map集合来保存。即Map集合中一次可以保存两个对象,且这两个对象的关系是key = value结构。这种结构最大的好处就是可以利用已知的key值找到对应的value值。M...原创 2018-05-23 16:18:08 · 1742 阅读 · 0 评论 -
JVM——垃圾收集算法及垃圾回收器
垃圾回收算法原创 2018-06-01 23:51:46 · 205 阅读 · 1 评论 -
浅谈Java集合框架——ArrayList、LinkedList、Vector
数组和集合数组:存储对象的一种容器(可以存储基本类型数据),数组最大的缺点就是长度固定,一不建议使用。集合:类集实际上就属于动态对象数组(只能存储对象,且对象的类型可以不同),与数组相比最大的好处就是长度可以改变。下面为Java的集合框架图 菜鸟教程 从面的集合框架图可以看出,所有的集合类都实现了Iterator接口,且Java集合主要包含两种容器:Iterator: 此...原创 2018-08-19 22:10:00 · 458 阅读 · 0 评论 -
生产者——消费者模型
等待通知机制: 1、 wait()方法:使当前执行代码的线程停止,wait()方法是Object类的方法,该方法用于将当前的线程置于“预执行队列”中,并且当wait()所在的代码处停止执行,知道接到通知或被中断为止。public class Test5_4{ public static void main(String[] args) throws InterruptedExcepti...原创 2018-05-04 21:34:38 · 173 阅读 · 1 评论 -
反射(下)——反射与简单类(单级VO)
JavaEE使用到的所有开发框架里面到处都是反射的身影,没有反射就没有开发框架。下面主要结合简单Java类来进行反射开发的深入研究。class Emp1{ private String name; private int age; private char gender; public String getName() { return ...原创 2018-05-10 13:44:45 · 264 阅读 · 0 评论 -
反射(中)——反射调用普通方法、类中属性
(3)反射调用普通方法在Class类中有如 下两种取得类中普通方法的函数:A. 取得所有的普通方法:public Method[] getMethods():获得所有的public修饰的方法(包含父列的方法也包含Object类)public Method[] getDeclaredMethods():获得所有成员方法,包括私有的但不包括继承的。B. 取得指定参数的普通方法:public Metho...原创 2018-05-09 21:22:29 · 1264 阅读 · 0 评论 -
初识Java
初识Java1、Java中的main方法public class Test1{ public static void main(String[] args){ System.out.println("Hello java"); System.out.println("my name is:"+args[3]); }} 通过上述代码,我们可以看到一个完整的Java程序结构,一个完...原创 2018-03-26 17:17:01 · 140 阅读 · 0 评论 -
抽象类
抽象类一、抽象类的定义与使用1.抽象类的定义 在普通类的基础上扩充一些抽象方法(抽象方法是只声明而未实现的方法,即没有方法体);所有的抽象方法用abstract关键字定义,并且抽象方法所在的类也要用abstract修饰表示抽象类。 抽象类中包含抽象方法,抽象方法不包含方法体,所以抽象类不能直接产生实例化对象...原创 2018-04-09 11:57:14 · 165 阅读 · 0 评论 -
数据类型与运算符
数据类型与运算符1.Java标识符与关键字1.1 Java注释:Java注释主要有三种:(1)单行注释://注释内容 一般用于方法中(用的最多)(2)多行注释:/* 注释内容 */(3)文档注释:/**文档注释*/(常用于方法和类之上描述方法和类的作用),可用来自动生成文档。1.2 Java标识符Java语言中,对于常量、变量、函数、语句块也有名字,我们将其统称为标识符。标识符的要求: (1...原创 2018-03-26 23:08:36 · 748 阅读 · 0 评论 -
Java中特殊的类——Object类
Java中特殊的类——Object类1.Object类的概述Object类是java默认提供的类。Java中除了Object类,所有的类都是有继承关系的。默认会继承Object类,即所有的对象都可以用Object进行接收Object类位于java.lang包中,该包中包含着Java最基础和核心的类,在编译时会自动导入。class Per{}class Studnet{}public class T...原创 2018-04-14 14:56:27 · 381 阅读 · 0 评论 -
接口
接口一、接口的定义与使用抽象类与普通类相比最大的特点就是约定了子类的实现要求,但是抽象类存在单继承的局限。如果既要约定子类的实现要求且要避免单继承局限就要使用接口。(接口优先)1、接口的基本概念 接口就是抽象方法和全局常量的集合,在Java中接口欧使用interface关键字定义。(一般为区分接口,建...原创 2018-04-09 22:41:05 · 174 阅读 · 0 评论 -
Java程序逻辑控制
程序逻辑控制1.Java程序结构与逻辑控制在Java中程序有三种结构:顺序结构、分支结构、循环结构1.1 Java分支结构分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句。 1.if语句 if(布尔表达式){//条件满足时执行的代码}else{//条件不满足时执行的代码}if(布尔表达式){//条件满足时执行的代码}else if(布尔表达式){//条件满足时执行的代码}……else{//...原创 2018-03-27 22:23:06 · 737 阅读 · 0 评论 -
Java中方法的定义与使用
Java中方法的定义与使用1、方法的定义:方法是一段可以被重复调用的代码块。方法的声明: public static 方法返回值 方法名([参数类型 变量……]){ 方法代码体; return 返回值;} 当方法以void 声明时,那么方法没有返回值;(可以使用return来结束调用,常常和if语句配合使用)如果方法有返回值,返回值可以是基本类型和引用类型。pu...原创 2018-03-27 23:38:11 · 456 阅读 · 0 评论 -
类和对象(2)
类和对象(2)一、代码块代码块:使用{ }定义的一段代码。可分为普通代码块、构造快、静态块、同步代码块。 (1)普通代码块:定义在方法中的代码块。(一般方法中代码过长,为避免变量的命名冲突,就使用普通代码块)class Test5{ public static void main(String[] args) { //以下为直接使用{}定义的普通代码快 { String month = "...原创 2018-04-03 20:46:53 · 238 阅读 · 0 评论 -
Java——数组的定义与使用
数组的定义与使用1.数组的基本概念(1)数组的动态初始化: 数组首先先开辟内存空间,而后再使用索引进行内容的设置,这种定义数组的方式称为动态初始化 数组是引用数据类型,存在有内存分配问题。在使用前一定要开辟空间(实例化),否则就会产生NullPoninterException 数组的动态初始化(声明并开辟数组) 数据类型[ ] 数组名 = new 数据类型[数组长度] 数组的分...原创 2018-03-28 23:40:41 · 288 阅读 · 0 评论 -
Java中特殊的类——String类
Java中特殊的类——String类1.String类的实例化方式(1)直接赋值: String 字符串名 = "要赋值内容"; public class TestString4_12 {public static void main(String[] args) {String str1 = "我是直接赋值进行实例化";System.out.println("str1"+ str1);...原创 2018-04-12 21:25:58 · 308 阅读 · 0 评论 -
Java中特殊的类——包装类
Java中特殊的类——包装类包装类就是将基本数据类型封装在类中。1、包装类(1)自定义包装类将基本数据类型包装成一个类对象的本质就是使用Object进行接收处理。此时IntDemo类就是int的包装类,利用intValue 可实现基本数据类型转化为对象的需求。//自定义int包装类class IntDemo{private int number;public IntDemo(int number)...原创 2018-04-19 12:38:27 · 825 阅读 · 0 评论 -
反射(上)——反射的引入、反射调用构造方法
反射1. 反射的引入//正向操作(根据类new出对象)class Test1 { public static void main(String[] args) { Date date = new Date(); System.out.println(date); }}在之前我们一直使用的是 new类名()来获取对象,即在上例中所谓的“正向操作”。那么我们如何根据对象来获取对象的信息...原创 2018-05-08 22:12:52 · 607 阅读 · 0 评论 -
泛型
泛型一、引例 如创建个人信息类:包含String name、int age、double sorce;由于类型涵盖比较多我们不由会想起用Object类型来保存所有的类型。class Information{ private Object name; private Object age; private Object sorce; public Object getName() {...原创 2018-04-24 21:24:23 · 245 阅读 · 0 评论 -
多线程(下)
(6)守护线程守护线程是一种特殊的线程,它属于一种陪伴线程。简答来讲Java中含有两种线程:用户线程和守护线程。可以永isDaemon()方法判断,若返回false则是用户线程,若返回true则是守护线程。主线程main是用户线程。典型的守护线程即垃圾回收线程,只要当前JVM中存在任何一个非守护线程没有结束,守护线程就在工作,只有当最后一个非守护线程结束时,守护线程才会随着非守护线程一起停止工作。...原创 2018-05-03 09:54:56 · 139 阅读 · 0 评论 -
多线程(上)
多线程一、进程与线程1、进程 操作系统中一个程序的执行周期称为一个进程。每个进程中至少包含一个线程。2、线程进程中负责程序执行的执行单元。线程本身依靠程序进行运行,线程是程序中的顺序控制流。与进程相比,线程更“轻量级”,创建、撤销一个线程比启动一个新进程开销小得多;没有进程就没有线程,进程一旦终止,其内的线程也不复存在。3、单线程程序中只包含一个线程,主方法其实就是一个主线程。4、多线程在一...原创 2018-04-25 11:37:01 · 200 阅读 · 0 评论 -
多线程(中)
1、线程的状态创建状态(new):准备好了一个多线程的对象。就绪状态(runnable):调用了start()方法,等待CPU的调度。运行状态(running):执行了run()方法。阻塞状态(blocked):暂时停止执行,可能将资源交至其他线程处。终止状态(dead):线程销毁。当需要一个新的线程进行某任务时,当线程被创建后不会立即进入就绪状态而是当一定的条件满足后才可进入;当线程进入就绪状态...原创 2018-04-25 12:59:05 · 170 阅读 · 0 评论 -
浅谈Java集合框架——HashMap、HashTable
在上一篇中对List的实现类进行了总结,本应该学习Collection接口的另外一个子接口Set,但是由于HashSet是基于HashMap、TreeSet是基于TreeMap。所以现将先对Map进行学习。MapCollection集合最大的特点是每次进行单个对象的保存,如果要对一对对象来进行保存,就只能够使用Map集合。Map是一种把键对象和值对象映射的集合,它的每一个元素都包...原创 2018-08-20 19:43:23 · 350 阅读 · 0 评论