![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高级特性
梦世
这个作者很懒,什么都没留下…
展开
-
设计模式:单例设计、工厂模式、代理设计模式
目录OPP七大原则创建型模式单例设计模式工厂模式结构型模式代理设计模式行为型模式OPP七大原则创建型模式单例设计模式控制对象实例化产生个数的设计操作。核心:构造方法私有化。Single类只允许产生一个实例化对象。过程:1、Single的构造方法私有化。2、在Single中定义该类的实例化对象,并封装,并使用final确保只能实例化一次。sychronized和volatile多线程中保证安全。3、定义一个static方法用于外部获取该实例.原创 2020-07-26 11:41:54 · 164 阅读 · 0 评论 -
Eclipse安装、JDT开发、代码调试与junit测试
目录Eclipse安装Eclipse使用使用JDT开发Java程序6、Eclipse之中有很多快捷键代码调试junit测试工具Eclipse是现在比较大型的开源组织,其主要是以推广Java标准和IDE为主。Eclipse安装Eclipse翻译为中文是”日蚀“(遮盖一切的太阳光芒),而面对于SUN公司而言这就是赤裸裸的挑衅,这个挑衅是由IBM发出的(在整个Java领域上,使用Java赚到钱的只有IBM,而SUN虽然创造了Java,但是没有获取啥收益)....Eclips原创 2020-05-13 14:57:30 · 594 阅读 · 0 评论 -
多线程一:多线程编程、多线程操作方法、线程同步与死锁 - Java高级特性1
多线程编程在Java语言之中支持多线程开发,也是为数不多支持多线程的编程语言。在Java学习中,如果不能够对多线程的概念具有全面并且细致的了解,则在日后进行一些项目的设计过程之中,尤其是并发访问的设计之中就会出现严重的技术缺陷。进程与线程如果要想理解线程,那么必须需要了解进程的概念,在传统的DOS的时代,具有一个特征:如果你的电脑上出现了病毒那么所有的程序将无法进行,因为传统的DOS采用的是单进程的处理,而单进程处理的最大特点是:在同一个时间内,只允许一个进程的执行。那么后来到了Windo...原创 2020-05-14 20:18:18 · 244 阅读 · 0 评论 -
多线程二:生产者与消费者、深入分析多线程、多线程案例 - Java高级特性2
生产者与消费者模型在多线程开发过程中最为著名的是生产者与消费者操作,该操作的主要流程如下: 生产者负责信息内容的生产; 每当生产者生产完成一项完整的信息之后,消费者要从这里面取走信息; 如果生产者没有生产完,消费者要等待它生产完成; 如果消费者还没有对信息进行消费,则生产者应该等消费者消费信息完成之后,在继续进行生产。 程序的基本实现可以将生产者与消费者定义为两个独立的线程类对象,但是对于现在生产的数据,可以使用如下的组成: 数据一:titl...原创 2020-05-15 19:12:39 · 244 阅读 · 0 评论 -
常用类库:StringBuffer类 、CharSequence接口 、AutoCloseable接口 、Runtime类 、System类 、Cleaner类 、对象克隆 - Java高级特性 3
目录StringBuffer类CharSequence接口AutoCloseable接口Runtime类System类Cleaner类对象克隆学习笔记StringBuffer类String是在开发之中,一定会使用的功能类,并且这个类拥有如下特点: 每一个字符串的常量都属于一个String类的匿名对象,并且不可更改; String有两个常量池:静态常量池、运行时常量池; String类对象实例化建议使用直接赋值的形式完成,这样可以将对象保存在对原创 2020-05-16 01:02:51 · 286 阅读 · 0 评论 -
数字与日期操作类 - Java高级特性 4
目录数字操作类Math类Random类大数字处理类日期操作类SimpleDateFormat日期处理类学习笔记数字操作类程序就是一个数学的处理过程,所以在Java本身也提供有数字处理的支持。Math类Math类的主要功能是进行数学计算的操作类,提供有基础的数学计算公式,这个类的构造方法被私有化了,但不是单例,而且该类中提供所有方法都是static型的方法,即:这些方法都可以通过类名称直接调用。package cn.ren.demo;public clas原创 2020-05-16 15:20:01 · 122 阅读 · 0 评论 -
正则表达式 - Java高级特性 5
目录认识正则表达式常用的正则标记String类对正则的支持java.util.regex包学习笔记通过之前一系列的分析,发现String是一个非常万能得类型,因为String不仅可以支持各种字符串操作处理,也支持向各个数据类型转换得功能,所以在项目开发之中,只要是用户输入的信息基本上都用String表示。于是在向其它类型转换的时候,为了保证转换的正确性,往往需要对其进行一些复杂的验证处理,那么在这种情况下如果之只是单纯的依靠String类中的方法是非常麻烦的。认识正则表达式现原创 2020-05-16 21:41:16 · 265 阅读 · 0 评论 -
国际化程序实现 - Java高级特性 6
所谓的国际化的程序是指同一个程序代码可以根据不同的国家实现不同的语言描述,但是程序处理的核心业务是相同的。国际化问题简介现在假设有一款世界都认可的企业管理平台,那么 这个企业的老板将这个产品推广到全世界各个大型的上市公司,于是这些公司可能来自于世界各地。通过分析之后发现,如果要想实现国际化的程序开发,那么要解决的问题如下: 如何可以定义保存文字的文件信息; 如何可以根据不同的区域或语言的编码读取指定的资源信息 Local类如果要想实现国际化,那么首先需要解决的就是不同原创 2020-05-17 11:53:51 · 165 阅读 · 0 评论 -
开发支持类库:UUID类、Optional类、ThreadLocal类、定时器、Base64 - Java高级特性 7
目录UUID类Optional类ThreadLocal类定时器Base64加密与解密学习笔记UUID类UUID是一种生成无重复字符串的一种程序类,这种程序类的主要功能是根据时间戳实现一个自动的无重复字符串(概率极低)的定义。一般在获取UUID的时候往往都是随机生成的一个内容,所以可以通过以下方式获取: 获取UUID对象:public staticUUIDrandomUUID() 根据字符串获取UUID内容 :public staticUUIDfro...原创 2020-05-17 16:48:48 · 154 阅读 · 0 评论 -
比较器、二叉树、红黑树 - Java高级特性 8
比较器指的就是就是进行大小关系的确定判断,下面分析一下比较器存在的意义。比较器问题的引出如果要进行数组操作,最好是使用java.util.Arrays的操作类完成,这个类里面提供有绝大部分的数组的操作支持,同时在这个类还提供有一种对象数组的排序支持:public staticvoidsort(Object[]a)范例:实现对象数组的排序package cn.ren.demo;import java.util.Arrays;public class JavaAPIDemo {...原创 2020-05-18 14:45:42 · 195 阅读 · 0 评论 -
类库使用案例 - Java高级特性 9
目录StringBuffer的使用随机数组Email验证扔硬币IP验证HTML拆分国家代码学生信息比较学习笔记StringBuffer的使用定义一个StringBuffer类对象,然后通过append()方法向对象中添加26小写字母,然后按照逆序的方式输出,并且可以删除前五个字母。package cn.ren.demo;public class JavaAPIDemo { public static void main(String[] args) t原创 2020-05-18 21:15:39 · 280 阅读 · 0 评论 -
IO操作一: 文件操作、字节流与字符流 - Java高级特性 10
在Java语言里面提供有对于文件操作系统的支持,而这个支持就在java.io.File类中进行了定义,也就是说在java.io.File包里面。File类是唯一一个与文件本身操作(创建、删除、重命名等)有关的类,而如果要进行File类的操作,必须要提供有完整的路径才可以调用相应的方法进行处理。File类的使用打开JDK文档可以发现,File类是Comparable接口的子类,所以来讲File类的对象可以进行排序处理的。而在进行File类处理的时候需要为其设置访问路径,那么对于路径的配置主要通过Fil原创 2020-05-19 21:04:09 · 191 阅读 · 0 评论 -
IO操作二 : IO操作深入、输入与输出支持 - Java高级特性 11
IO操作深入字符编码在计算机的世界只认0、1的数据,如果要想描述一些文字的编码就需要对这些二进制的数据进行组合,所以才有现在可以看见的中文,但是进行编码的时候如果要想正确显示出内容则一定需要有解码,所以编码和解码肯定要采用统一的标准,那么如果统一的时候就会出现乱码。那么在实际开发之中对于常用的编码有如下几种: GBK/GB2312:国标编码,可以描述中文信息,其中GB2312只描述简体中文,而GBK包含有简体中文与繁体中文; ISO8859-1:国际通用编码,可以用其描述所有字母原创 2020-05-20 14:33:41 · 169 阅读 · 0 评论 -
IO操作三:对象序列化、IO编程案例 - Java高级特性12
对象序列化几乎只要是Java开发就一定会存在有序列化的概念,因为有了序列化的概念逐步发展,慢慢的也有了更多的序列化的标准。序列化概念所谓的对象序列化指的是将内存中的对象以二进制数据流的形式进行处理,可以实现对象的保存或者是网络传输。然并不是所有的对象都可以序列化,在Java里面有一个强制性的要求:如果要序列化的对象,那么对象序列化所在的类一定要事项java.io.serializable父接口,作为序列化的标记,这个接口并没有任何的方法,因为它描述的是一种类的能力(Java中还有一个接口原创 2020-05-21 22:31:28 · 279 阅读 · 0 评论 -
反射一 :反射应用、反射与类操作、反射与简单Java类 - Java高级特性 13
反射机制简介认识反射机制在Java语言里面之所以会有如此众多的开源技术支撑,很大的一部分是来自于Java最大的一个特征,这个特征就是:反射机制。如果不能够灵活的去使用反射机制进行项目的开发与设计,那么可以说你并未接触到Java的精髓所在。所有的技术实现的目标只有一点:重用性。对于反射技术首先来考虑“反”与“正”的操作,所谓的“正”操作指的是当我们要使用一个类的时候,一定能够要先导入程序所在的包,而后根据类进行对象实例化,并且依靠对象调用类中的方法。但是如果说“反”,根据实例化对象...原创 2020-05-23 14:52:27 · 208 阅读 · 0 评论 -
反射二:ClassLoader类加载器、反射与代理设计、反射与Annotation与工厂设计模式 - Java高级特性14
ClassLoader类加载器在Java语言里面提供有一个系统的环境变量:CLASSPATH,这个环境的属性的主要作用是在JVM进程启动的时候进行类的加载路径的定义,在JVM里面可以通过类加载器而后进行指定路径中类的加载,也就是说找到类加载器,就意味着找到类的来源。系统类的加载器如果说现在要想获得类的加载器,那么一定要通过ClassLoade来获得,而要想获得ClassLoader类的对象则必须利用Class类(反射的根源)实现,方法:publicClassLoaderget...原创 2020-05-24 17:47:15 · 233 阅读 · 0 评论 -
类集框架 一 :Collection接口:List集合、Set集合, 集合输出 - Java高级特性 15
目录Collection接口List集合接口ArrayList子类ArrayList保存自定义类LinkedList子类Vector子类Set集合接口HashSet子类TreeSet子类分析TreeSet类排序操作分析重复元素删除集合输出Iterator输出ListIterator输出Enumeration枚举输出foreach()方法学习笔记从JDK1.2开始Java引入了类集开发框架,所谓的类集指的就是一套动态对象数组的实现方案,在原创 2020-05-25 17:37:40 · 183 阅读 · 0 评论 -
类集框架 二 :Map集合接口、栈、队列、属性、Collections - Java高级特性 16
Map集合接口在之前已经学习了Collection接口以及其子接口,可以发现在Collection之中所保存的数据都只是单个对象,而在数据结构里面除了可以进行单个对象的保存之外,也可以进行二元偶对象的一个保存(key=value)的形式保存,而存储二元偶对象的核心意义在于需要通过key获取value。在开发里面:Collection集合保存数据的目的是为了输出,Map集合保存数据的目的是为了进行key的查找。Map接口简介Map接口是进行二元偶对象保存的最大父接口,该接口定义如下:pu原创 2020-05-26 19:14:00 · 244 阅读 · 0 评论 -
Stream数据流、网络编程 - Java高级特性 17
Stream数据流从JDK1.8开始,由于已经进入到了大数据的时代,所以在类集里面也支持数据的流式分析处理操作,为此专门提供了一个Stream的接口,同时在Collection接口也提供有为此实例化的方法:获取Stream的接口对象:publicdefaultStream<E>stream()Stream基础操作Stream主要功能式进行数据的分析处理,同时主要是针对于集合中的数据进行分析操作。范例:Stream的基本操作package cn.ren.demo;...原创 2020-05-27 11:39:58 · 264 阅读 · 0 评论 -
DAO设计模式 及案例分析
程序分层每一层程序程序都是完全独立的,并且和和其它层进行交互。对于程序的划分最常见的划分方式如下:整个业务的核心在于后台业务层,业务层是整个程序提供的操作功能,而一个业务要想完成需要多个数据层的操作一起共同完成,而数据层的操作只是一个个原子性的数据库开发。而在实际开发之中,每个操作的业务往往需要牵扯到多个原子性的操作,也就是所有的原子性操作业务最终都在业务层中完成。在实际开发中,业务的设计是非常复杂的,往往需要一个总业务层,而后牵扯到若干个子业务层。数据层(数据访问层(Data Ac原创 2020-06-07 21:37:40 · 596 阅读 · 0 评论