Java知识体系
文章平均质量分 77
Bryce李小白
知行合一
展开
-
Java IO核心操作(二)
File类只是针对文件爱你本身进行操作,而如果想对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随机读取类,可以随机地读取一个文件中指定位置的数据。RandomAccessFile类的常用操作方法需要注意的是如果使用rw方式声明RandomAccessFile对象时,要写入的文件不存在,系统将自动进行创建。使用RandomAccessFile类写入数据为了保证可以进行随机原创 2017-09-22 23:45:29 · 272 阅读 · 0 评论 -
动态代理及反射在工厂模式上的应用
前言 之前为读者讲解过代理机制的操作,但是讲解的代理设计属于静态代理,因为每一个代理类只能为一个接口服务,这样一来程序开发中必然会产生过多的代理。最好的做法是可以通过一个代理类完成全部的代理功能,那么此时就必须使用动态代理完成。 在Java中要想实现动态代理机制,则需要java.lang.reflect.InvocationHandler接口和java.lang.reflect.原创 2017-10-01 14:57:23 · 399 阅读 · 0 评论 -
Java IO 核心操作(五)
Java常见编码简介 在计算机的世界里,任何的文字都是以指定的编码方式存在的,在Java程序的开发中最常见的是ISO8859-1,GBK/GB2312,unicode,UTF编码。 ISO8859-1:属于单字节编码,最多只能表示表示0~255的字符范围,主要在英文上的应用。 GBK/GB2312:中文的国际编码,专门用来表示文字,是双字节编码,如果在此编码中出现中文,则使用原创 2017-09-25 13:54:47 · 265 阅读 · 0 评论 -
Java多线程看我这一篇就足够了
通过本篇的学习你可以掌握以下内容:了解进程与线程的区别。掌握Java多线程的两种实现方式及区别。了解线程的状态变化。了解多线程的主要操作方法 。了解同步及死锁的概念。了解线程的生命周期。进程与线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于CPU原创 2017-09-18 22:26:52 · 5107 阅读 · 10 评论 -
Java面向对象基础知识
cmd命令当我们编写好一段程序后,会执行下面的cmd命令来运行java程序,以HelloWorld这个类为例$ javac HelloWorld.java$ java HelloWorldHello World123123javac:将java文件源编译成class字节码文件,如果运行指令没出错,就会产生一个HelloWorld.class的文件java:java后面跟着的原创 2017-10-02 13:40:53 · 1916 阅读 · 1 评论 -
Java编程之Annotation全解析
前言 通过本篇的学习可以达到以下目标: 了解Annotation的作用 掌握JDK 1.5中内建的3种Annotation 掌握自定义Annotation的语法及其应用 掌握@Retention,@Target,@Documented,@Inherited注释。Annotation简介 J2SE5.0提供了很多新的特性。其中一个很重要的特性就是对元数据(Metada原创 2017-10-02 17:24:44 · 497 阅读 · 0 评论 -
HashMap,HashSet,HashTable,LinkedHashMap,LinkedHashSet,ArrayList,LinkedList,ConcurrentHashMap,Vector
HashMap相关问题 1、你用过HashMap吗?什么是HashMap?你为什么用到它? 用过,HashMap是基于哈希表的Map接口的非同步实现,它允许null键和null值,且HashMap依托于它的数据结构的设计,存储效率特别高,这是我用它的原因 2、你知道HashMap的工作原理吗?你知道HashMap的get()方法的工作原理吗? 上面两个问题属于同一答原创 2017-10-11 22:25:37 · 4064 阅读 · 8 评论 -
String与StringBuffer和StringBuilder之间的区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuilder)的原因 String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量 从上面的名字可以看到,String是“字符串常量”,也就是不可改变的原创 2017-10-16 19:23:43 · 399 阅读 · 0 评论 -
InputStream,InputStreamReader和Reader之间的区别与关系
InputStream:得到的是字节输入流,InputStream.read(“filename”)之后,得到字节流 Reader:读取的是字符流 InputStreamReader:从字节到字符的桥梁 InputStreamReader(InputStream.read(“filename”)); reader.read(InputStreamReader(In原创 2017-10-16 19:33:23 · 20312 阅读 · 2 评论 -
Java注解之Retention、Documented、Inherited的简单使用
Retention注解 Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略 2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略 3.原创 2017-10-16 22:35:07 · 878 阅读 · 1 评论 -
Java内存区域详解
前言对于从事从C,C++程序开发的程序开发人员来说。在内存管理领域,他们既是最高权利的“皇帝”又是从事最基础工作的“劳动人民”——即拥有一个对象的所有权,又担任着每一个对象生命开始到终结的维护责任。对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,由虚拟机管理内存这一切看起来都很美好。不过,也正原创 2017-09-21 18:26:46 · 371 阅读 · 0 评论 -
Java核心编程之异常的捕获及处理
前言 本篇文章笔者准备重点介绍异常的产生原理,异常处理的基本格式,throw和throws关键字的作用,自定义异常,以及Exception与RuntimeException的区别,断言的作用等等异常的基本概念 异常是导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须要考虑各种异常的发生,并正确做好相应的处理,这样才能原创 2017-09-28 13:21:58 · 430 阅读 · 0 评论 -
Java反射机制的深入应用
前言 在上一篇文章中介绍了Java反射的基本概念以及基本应用,不熟悉的朋友可以点这里 本篇文章将重点介绍反射机制的深入应用 反射除了可以取得一个类的完整结构外,还可以调用类中的指定方法或指定属性,并且可以通过反射完成对数组的操作。通过反射调用类中的方法 如果要使用反射调用类中的方法可以通过Method类完成,操作步骤如下: (1) 通过Class类的getMethod原创 2017-10-01 08:24:47 · 270 阅读 · 0 评论 -
Java反射机制详解
前言通过本篇的学习可以到达以下目标了解反射的基本原理掌握Class类的使用通过Class类并结合java.lang.reflect包取得一个类的完整结构通过反射机制动态调用类中的指定方法,并能向这些方法传递参数 在Java中较为重要的就是反射机制,那么什么是反射机制呢?举个简单的例子来说,正常情况下如果已经有一个类,则肯定可以通过类创建对象;那么如果现在要求通过一个对象找到一个类找到一个类原创 2017-09-30 13:10:44 · 398 阅读 · 0 评论 -
Java集合系列(五)
前言 之前所讲解的Collection,Set,List接口都属于单值的操作,即每次只能操作一个对象,而Map接口与它们不同的是,每次操作的是一对对象,即二元偶对象,Map接口中的每一个元素都使用“key->value”的形式存储在集合中。原创 2017-09-29 08:45:30 · 370 阅读 · 0 评论 -
Java IO核心操作(三)
整个IO包实际上分为字节流和字符流,但是除了这两个流之外,还有一组字节流-字符流的转换流。 OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象。 InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。如果以文件操作为例,则内存中的字符数原创 2017-09-23 15:49:49 · 344 阅读 · 0 评论 -
Java IO核心操作(四)
BufferrdReader类 BufferReader类用于从缓冲区中读取内容,所有的输入字节数据都将放在缓冲区中,常用的方法如表所示: 范例 将System.in变为字符流放入到BufferedReader后,可以通过readLine()方法等待用户输入信息。具体操作的代码如下:import java.io.* ;public class BufferedReader原创 2017-09-24 17:36:33 · 268 阅读 · 0 评论 -
Java集合系列(一)
基本概念 在讲解集合概念之前,先来思考这样一个问题,如果现在要保存一组对象,按照之前的做法则只能使用对象数组,但是使用对象数组操作本身有一个限制,就是数组有长度的限制;而通过一些数据结构的操作,如链表,则可以完成动态对象数组的操作,但是这些如果全部由开发人员来做,则肯定也是比较麻烦的。集合框架的特性高性能,对基本集合(动态数组,链接表,树和散列表)的实现是高效率的。所以一般很少需要人工对这些原创 2017-09-26 14:24:54 · 250 阅读 · 0 评论 -
Java多线程知识要点
线程(Thread)是指程序的运行流程。多线程机制可以同时运行多个程序块,使程序运行的效率更高,也解决了传统程序设计语言无法解决的问题。如果要在类中激活线程,必须先做好下面两项准备: (1)此类必须是扩展自Thread类或实现Runnable接口,使自己成为它的子类。 (2)线程的处理必须编写在run()方法内。run()方法是定义在Thread类中的一种方法,因此把线程的的程序代码编写在r原创 2017-09-18 18:12:26 · 527 阅读 · 0 评论 -
Java集合系列(二)
前言 通过上一篇Java集合系列(一)的介绍,想必读者们应该已经掌握好集合的基本概念了吧,接下来这篇文章笔者将会着重介绍一下集合各个接口及其常用子类的作用。Collecton接口的定义Collection接口的定义如下所示:public inteface Collection<E> extends Iterable从接口的定义中可以发现,此接口使用了泛型的定义,在操作时必须指定具体的操作类型。原创 2017-09-26 20:48:04 · 280 阅读 · 0 评论 -
Java常用类库知识要点总结
在一个字符串内容需要频繁修改时,使用StringBuffer可以提升操作性能,因为StringBuffer内容可以改变,而String内容不可以改变。StringBuffer类中提供了大量的字符串操作方法,如增加,替换,插入等。Runtime表示运行时,在一个JVM中只存在一个Runtime,所以如果想要得到Runtime类的对象,直接使用Runtime类中提供的静态方法getRuntime()原创 2017-09-18 20:18:04 · 754 阅读 · 0 评论 -
Java泛型知识要点
*泛型可以使程序的操作更加安全,可以避免发生类型转换异常。*在程序中如果使用类时没有指定泛型,则泛型将被擦除掉,将使用Object接收参数。*可以使用通配符“?”接收全部泛型对象。*通过可以设置泛型的上限,通过可以设置泛型的下限。*泛型方法可以定义在泛型类中,也可以定义在普通类中。*泛型可以在接口中定义,实现泛型接原创 2017-09-18 19:36:01 · 495 阅读 · 0 评论 -
Java集合系列(三)
前言 上一节介绍了Collecton接口,List接口,以及其子类leiArrayList与vector的相关概念及其基本应用,本节将继续学习Collection接口的另一个子接口及其子类的基本概念以及应用Set接口 Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素。Set接口的定义如下原创 2017-09-27 21:59:14 · 347 阅读 · 0 评论 -
Java泛型编程
为什么要使用泛型 这是因为通过泛型可以定义类型安全的数据结构(类型安全),而无须使用实际的数据类型(可扩展)。这能够显著提高性能并得到更高质量的代码(高性能),因为您可以重用数据处理算法,而无须复制类型特定的代码(可重用)。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。 泛型的基本应用泛型可以解决数据类型的安全性问题,其主要原理是在类声明时通过一个标识表示类中某个属性的原创 2017-09-20 12:36:38 · 268 阅读 · 0 评论 -
Java IO核心操作(一)
通过这篇的学习可以掌握以下目标掌握Java.io包中类的继承关系可以使用File类进行文件的操作可以使用字节流或字符流操作文件内容并区分出字节流与字符流的区别掌握内存操作输入、输出流的使用了解线程通讯流——管道流的作用掌握System类对IO的三个支持System.out,System.err,System.in可以使用打印流方便地打印输出的内容,并可以使用Java新特性格式化输出.原创 2017-09-20 21:24:30 · 360 阅读 · 0 评论 -
Java集合系列(四)
前言 上一篇介绍了Set接口及其常用子类的的基本概念及使用方法,本篇将重点介绍集合的输出(迭代输出(Iterator)和双向迭代输出(ListIterator)),foreach等等集合的输出 从之前讲解的集合操作中读者应该可以发现,如果要输出Collection,Set集合中的内容,可以将其转换为对象数组,而使用List则可以直接通过get()方法输出,但是这些都不是集合的的标准输出方式原创 2017-09-28 18:32:21 · 219 阅读 · 0 评论 -
Java基础知识巩固
第一个java程序public class HelloWorld{public static void main(String[] args){ System.out.println("Hello world"); }}Java 基础语法1.对象对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。2.类原创 2018-10-05 08:15:21 · 1979 阅读 · 0 评论