<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JTZP007的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/JTZP007</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; JTZP007]]></copyright><item><title><![CDATA[设计模式----工厂模式（工厂方法）]]></title><link>https://blog.csdn.net/JTZP007/article/details/81367513</link><guid>https://blog.csdn.net/JTZP007/article/details/81367513</guid><author>JTZP007</author><pubDate>Mon, 29 Jun 2020 19:20:18 +0800</pubDate><description><![CDATA[定义：工厂方法模式 是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分，提取其中个性化善变的部分为独立类，通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。


特点：工厂方法模式是定义一个创建产品对象的工厂接口，将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建，这样核心类成为一个抽象工厂角色，仅负责具体工厂子类必须实现的接口，这样进一步抽象化的好处是使得工厂方法模...]]></description><category></category></item><item><title><![CDATA[java基础十二 -- 反射]]></title><link>https://blog.csdn.net/JTZP007/article/details/90613696</link><guid>https://blog.csdn.net/JTZP007/article/details/90613696</guid><author>JTZP007</author><pubDate>Mon, 27 May 2019 22:56:43 +0800</pubDate><description><![CDATA[Java 反射应用
一、通过反射获取对象的方式
二、获取默认的构造函数，实例化对象
三、获取其他构造函数，实例化对象
四、获取、设置 字段
五、调用方法

1.通过反射获取对象的方式


public void  getObjectTest() throws ClassNotFoundException {
    //反射获取对象的方法：
    Class cls=null;
    //方式...]]></description><category></category></item><item><title><![CDATA[java基础十一---Socket]]></title><link>https://blog.csdn.net/JTZP007/article/details/90574120</link><guid>https://blog.csdn.net/JTZP007/article/details/90574120</guid><author>JTZP007</author><pubDate>Sun, 26 May 2019 11:32:47 +0800</pubDate><description><![CDATA[一、UDP：无连接通信。

特点：1.传输效率高

     2.安全性低，不保证可到的数据传输。

开发流程:



发送端(客户端)：
1.建立udp服务 
 DatagramSocket ds=new DatagramSocket()
2.封装数据包（DatagramPacket ）
 byte[] buff="udp test" .getBytes();
 Da...]]></description><category></category></item><item><title><![CDATA[Androidx和Android support库共存问题解决]]></title><link>https://blog.csdn.net/JTZP007/article/details/90548767</link><guid>https://blog.csdn.net/JTZP007/article/details/90548767</guid><author>JTZP007</author><pubDate>Sat, 25 May 2019 16:51:42 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/f7a7a8765294
]]></description><category></category></item><item><title><![CDATA[java基础十---IO字节流OutputStream]]></title><link>https://blog.csdn.net/JTZP007/article/details/90348734</link><guid>https://blog.csdn.net/JTZP007/article/details/90348734</guid><author>JTZP007</author><pubDate>Sun, 19 May 2019 22:01:08 +0800</pubDate><description><![CDATA[outputStream 这个抽象类是表示字节输出流的所有类的超类
   常用函数：
    close() 关闭此输出流并释放与此流相关联的任何系统资源。
    flush() 刷新此输出流并强制任何缓冲的输出字节被写出。
    write(byte[] b) 将 b.length字节从指定的字节数组写入此输出流。

子类：1.FileOutp...]]></description><category></category></item><item><title><![CDATA[java基础十---IO字节流InputStream]]></title><link>https://blog.csdn.net/JTZP007/article/details/90348676</link><guid>https://blog.csdn.net/JTZP007/article/details/90348676</guid><author>JTZP007</author><pubDate>Sun, 19 May 2019 21:58:27 +0800</pubDate><description><![CDATA[InputStream  这个抽象类是表示输入字节流的所有类的超类。
       需要定义InputStream子类的应用InputStream必须始终提供一种返回输入的下一个字节的方法。
常用函数：
  1.read(byte[] b, int off, int len) 从输入流读取最多 len字节的数据到一个字节数组。
  2.close() 关闭此输...]]></description><category></category></item><item><title><![CDATA[java基础十---IO字符流Writer]]></title><link>https://blog.csdn.net/JTZP007/article/details/90246716</link><guid>https://blog.csdn.net/JTZP007/article/details/90246716</guid><author>JTZP007</author><pubDate>Wed, 15 May 2019 22:33:13 +0800</pubDate><description><![CDATA[一、Writer：用于写入字符流的抽象类。 子类必须实现的唯一方法是write（char []，int，int），flush（）和close（）。 然而，大多数子类将覆盖这里定义的一些方法，以便提供更高的效率，附加的功能或两者。常用函数：  
 1.append(CharSequence csq) 将指定的字符序列附加到此作者。  
 2.write(String str) ...]]></description><category></category></item><item><title><![CDATA[java基础十---IO字符流Reader]]></title><link>https://blog.csdn.net/JTZP007/article/details/90183068</link><guid>https://blog.csdn.net/JTZP007/article/details/90183068</guid><author>JTZP007</author><pubDate>Mon, 13 May 2019 22:54:42 +0800</pubDate><description><![CDATA[一、Reader ：用于读取字符流的抽象类。 子类必须实现的唯一方法是read（char []，int，int）和close（）。 然而，大多数子类将覆盖这里定义的一些方法，以便提供更高的效率，附加的功能或两者。

常用函数：

close() 关闭流并释放与之相关联的任何系统资源。
	read(char[] cbuf, int off, int len) 将字符读入数组的一部分。
已知...]]></description><category></category></item><item><title><![CDATA[java基础十---IO流]]></title><link>https://blog.csdn.net/JTZP007/article/details/90182848</link><guid>https://blog.csdn.net/JTZP007/article/details/90182848</guid><author>JTZP007</author><pubDate>Mon, 13 May 2019 22:36:42 +0800</pubDate><description><![CDATA[简介： IO流主要分为两大类：字符流、字节流。

一、字符流：实现了Reader 和 Writer 抽象类，只能用于处理字符数据。

二、字节流：实现了InputStream 和 OutputStream 抽象类，可以处理任意的数据，包括图片数据、视频、文本等。



备注： 图片来自于网络












...]]></description><category></category></item><item><title><![CDATA[java基础八---集合Map]]></title><link>https://blog.csdn.net/JTZP007/article/details/89790651</link><guid>https://blog.csdn.net/JTZP007/article/details/89790651</guid><author>JTZP007</author><pubDate>Fri, 03 May 2019 21:40:04 +0800</pubDate><description><![CDATA[Map集合



 HashMap、TreeMap遍历集合:

 方式一：hashMap.keySet()

 方式二：hashMap.entrySet() ，可以在遍历的过程中，修改集合内容

 方式三：foreach // for(Map.Entry&lt;String,String&gt; map:hashMap.entrySet())


        HashMa...]]></description><category></category></item><item><title><![CDATA[java基础---比较器 Comparator和Comparable]]></title><link>https://blog.csdn.net/JTZP007/article/details/89785670</link><guid>https://blog.csdn.net/JTZP007/article/details/89785670</guid><author>JTZP007</author><pubDate>Fri, 03 May 2019 11:15:21 +0800</pubDate><description><![CDATA[共同点：

       都是接口，都可以用来比较大小。

不同点：

      1.包名不同： Comparator在 java.lang 包。 Comparable在 java.util 包

      2.实现的接口名称不一样：

          Comparator 需要实现 public int compar...]]></description><category></category></item><item><title><![CDATA[设计模式-抽象工厂]]></title><link>https://blog.csdn.net/JTZP007/article/details/81412644</link><guid>https://blog.csdn.net/JTZP007/article/details/81412644</guid><author>JTZP007</author><pubDate>Sat, 27 Apr 2019 14:48:35 +0800</pubDate><description><![CDATA[定义：为创建一组相关或相互依赖的对象提供一个接口，而且无需指定他们的具体类。

特点：一个抽象工厂类，多个产品抽象类。一个工厂类可以产生一系列产品族的产品。抽象工厂支持多个产品，这也是和简单工厂、工厂方法的最大区别。

优点：解耦。

缺点：代码结构复杂，不一样维护

第一步：定义产品接口：抽象工厂支持多个产品，所以我们定义两个产品接口。


//扫描头产品接口
public interface...]]></description><category></category></item><item><title><![CDATA[java基础九---泛型]]></title><link>https://blog.csdn.net/JTZP007/article/details/89527589</link><guid>https://blog.csdn.net/JTZP007/article/details/89527589</guid><author>JTZP007</author><pubDate>Thu, 25 Apr 2019 22:20:29 +0800</pubDate><description><![CDATA[1.自定义泛型类，如果需要使用泛型变量的情况就可以定义泛型类。

泛型类的局限性：类实例化之后就已经确定了类型，无法再使用其他类型。使用泛型方法就可以解决这个局限性。


/**
 * 泛型类的定义
 */
public class GenericClass&lt;T&gt; {
    private T data;
    public T method1(){
       return ...]]></description><category></category></item><item><title><![CDATA[java基础八---集合Collection]]></title><link>https://blog.csdn.net/JTZP007/article/details/89461031</link><guid>https://blog.csdn.net/JTZP007/article/details/89461031</guid><author>JTZP007</author><pubDate>Mon, 22 Apr 2019 21:38:30 +0800</pubDate><description><![CDATA[一.集合的概念

1.什么是集合

集合是一种容器, 长度可变, 可以存储任意类型的对象. 基本数据类型也可以装入集合, 但其实内部是先自动装箱成包装类对象, 然后再存入集合的
二.集合的分类

1.Collection

List: 可重复, 有存储顺序,有索引
	ArrayList 底层数据结构是数组, 增删慢, 查找快,线程不安全，效率高。
		LinkedList 底层数据结构是链表,...]]></description><category></category></item><item><title><![CDATA[java基础七---线程2 生产者和消费者方式二]]></title><link>https://blog.csdn.net/JTZP007/article/details/89261420</link><guid>https://blog.csdn.net/JTZP007/article/details/89261420</guid><author>JTZP007</author><pubDate>Fri, 12 Apr 2019 22:22:16 +0800</pubDate><description><![CDATA[第一步：创建实体对象


/**
 * 商品实体类
 */

public class GoodsEntity {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = n...]]></description><category></category></item><item><title><![CDATA[java基础七---线程2 生产者和消费者方式一]]></title><link>https://blog.csdn.net/JTZP007/article/details/89259570</link><guid>https://blog.csdn.net/JTZP007/article/details/89259570</guid><author>JTZP007</author><pubDate>Fri, 12 Apr 2019 21:56:59 +0800</pubDate><description><![CDATA[第一步：先创建商品GoodsEntity实体对象


/**
 * 商品实体类
 */

public class GoodsEntity {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
      ...]]></description><category></category></item><item><title><![CDATA[VirtualBox主机与虚拟机文件夹共享]]></title><link>https://blog.csdn.net/JTZP007/article/details/88980381</link><guid>https://blog.csdn.net/JTZP007/article/details/88980381</guid><author>JTZP007</author><pubDate>Tue, 02 Apr 2019 20:26:51 +0800</pubDate><description><![CDATA[https://zycao.com/virtualbox-ubuntu-vboxsguestadditions.html

自由草»Virtualbox中的Ubuntu虚拟机，安装增强功能时

Could not mount the media/drive '...virtualBox5.2/VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED).

今...]]></description><category></category></item><item><title><![CDATA[java 基础七---线程1]]></title><link>https://blog.csdn.net/JTZP007/article/details/88853972</link><guid>https://blog.csdn.net/JTZP007/article/details/88853972</guid><author>JTZP007</author><pubDate>Wed, 27 Mar 2019 20:01:08 +0800</pubDate><description><![CDATA[一、开启新线程

   1.继承Thread

定义类继承Thread
	重写run方法
	把新线程要做的事写在run方法中
	创建线程对象
	开启新线程, 内部会自动执行run方法

public class Demo2_Thread {

    /**
     * @param args
     */
    public static void main(String[] ...]]></description><category></category></item><item><title><![CDATA[java 基础六---异常处理]]></title><link>https://blog.csdn.net/JTZP007/article/details/88853900</link><guid>https://blog.csdn.net/JTZP007/article/details/88853900</guid><author>JTZP007</author><pubDate>Wed, 27 Mar 2019 19:58:31 +0800</pubDate><description><![CDATA[一、异常的体系

Throwable 其实应该分三种
	RuntimeException
		RuntimeException 和其所有的子类,都不会在编译的时候报异常,而是在运行时报异常,这时候我们就需要回头看看我们的代码是否有问题,比如角标越界,空指针等
		
		Exception
		除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译的时候必须要处理的,要么t...]]></description><category></category></item><item><title><![CDATA[java 基础五---抽象类和接口]]></title><link>https://blog.csdn.net/JTZP007/article/details/88760846</link><guid>https://blog.csdn.net/JTZP007/article/details/88760846</guid><author>JTZP007</author><pubDate>Sat, 23 Mar 2019 14:37:36 +0800</pubDate><description><![CDATA[1：抽象类(abstract)
(1)只抽取了很多类的方法的声明，为了保证不出问题，方法声明用abstract修饰。
(2)抽象类的特点
     A：一个类如果有了抽象方法，那么这个类必须是抽象类。抽象类里边可以没有抽象方法。
     B：抽象类是不能够被实例化的。不能够创建对象的。
     C：如果一个类继承抽象类，那么，它要么重写抽象类中的所有抽象方法，要么本身也是抽象类。
(3)抽象...]]></description><category></category></item></channel></rss>