<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[one_2_one的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/one_2_one</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; one_2_one]]></copyright><item><title><![CDATA[第二章--Java泛型  第三节--泛型类型限定]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108463604</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108463604</guid><author>one_2_one</author><pubDate>Tue, 08 Sep 2020 16:05:56 +0800</pubDate><description><![CDATA[泛型类型限定（1）：

泛型：编写的代码可以被很多不同类型的对象所重用

特定场合下，需要对泛型的类型做一定的限制（要有某些特定方法，或者说它必须实现什么接口）

T... 表示一个不定项参数，其本质是一个T类型的数组



泛型类型限定（2）：泛型限定语法（对T的类型做一定的限制）

---- 比如&lt;T extends Comparable&gt; 约定T必须是Comparable（是个接口，这里也用extends）的子类

---- 使用关键字extends固定，后面可以多个接口或类（最多只能一个]]></description><category></category></item><item><title><![CDATA[第二章--Java泛型  第二节--自定义泛型设计]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108435692</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108435692</guid><author>one_2_one</author><pubDate>Sun, 06 Sep 2020 21:02:45 +0800</pubDate><description><![CDATA[泛型

泛型：编写的代码可以被很多不同类型的对象所重用，可以分为三种：

（1）泛型类：ArrayList，HashSet，HashMap等

（2）泛型方法：Collections.binarySearch，Arrays.sort等

（3）泛型接口：List，Iterator等



这些类是JDK提供给我们的，我们能够使用的泛型类。那么如何自己设计出相应的泛型类、泛型方法和泛型接口

自定义泛型（1）：泛型类

泛型类：

---- 具有泛型变量的类（类里面至少有一个成员变量是泛型变量）

---- ]]></description><category></category></item><item><title><![CDATA[第二章--Java泛型  第一节--泛型入门]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108432077</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108432077</guid><author>one_2_one</author><pubDate>Sun, 06 Sep 2020 16:09:35 +0800</pubDate><description><![CDATA[问题：

集合：用于存放多个（不同类型）的对象

---- 容易出现转型错误 ClassCastException



上面的ArrayList对象没有限定放什么类型的数据，所以我们就往里面放东西了（int型和字符串）

解决方法：
集合：存放多个对象（限定为一种类型）

---- 不需要转型，没有转型错误



泛型（1）：

泛型：Generic Programming，JDK1.5推出的特性，带&lt;&gt;的类型限定语句是Java里面的一个新的特性

作用：编写的代码可以被很多不同类型的对象所重]]></description><category></category></item><item><title><![CDATA[第五章--Java多线程和并发编程  第五节--Java多线程管理]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108416751</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108416751</guid><author>one_2_one</author><pubDate>Sat, 05 Sep 2020 15:41:40 +0800</pubDate><description><![CDATA[多线程管理（4）：

----线程被动地暂停和终止（自己wait了，自己不能解脱，非要得到别的线程notify，才可以解脱）

依靠别的线程来拯救自己

没有及时释放资源（比如打开了一个文件，拿着一个锁对象，别的线程是拿不到这些资源的）

----希望线程能够主动暂停和终止

定期监测共享变量（别人需要我做什么，他可以把值放在共享变量上，我去定期监测，我根据共享变量的变化做动作）

如果需要暂停或者终止，先释放资源，再主动做动作

暂停：Thread.sleep()，休眠

终止：run方法结束，线程终止
]]></description><category></category></item><item><title><![CDATA[第五章--Java多线程和并发编程  第四节--Java多线程管理]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108397900</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108397900</guid><author>one_2_one</author><pubDate>Fri, 04 Sep 2020 11:09:13 +0800</pubDate><description><![CDATA[多线程管理（1）：

线程类：

通过继承Thread或实现Runnable

通过start方法，调用run方法，run方法工作

线程run结束后，线程退出

粗粒度：子线程与子线程之间、和main线程之间缺乏同步

细粒度：线程之间有同步协作（让线程等待、线程发通知 / 唤醒线程、终止某个线程）

多线程管理（2）：

线程的全部状态：

---- NEW：刚刚创建（new），当一个线程对象被new出来的时候，只是在内存里占据一定空间，但是没有被运行起来，因为start方法还没有启动

---- RU]]></description><category></category></item><item><title><![CDATA[第五章--Java多线程和并发编程  第三节--Java多线程信息共享]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108221645</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108221645</guid><author>one_2_one</author><pubDate>Tue, 25 Aug 2020 16:32:39 +0800</pubDate><description><![CDATA[多线程信息共享（1）

线程类：

---- 通过继承Thread或实现Runnable

---- 通过start方法，调用run方法，run方法工作

---- 线程run结束之后，线程退出

粗粒度：子线程与子线程之间，子线程和main线程之间缺乏交流（之前的多线程就是一中粗粒度的执行模式）

细粒度：线程之间有信息交流通讯（细粒度的编程模式）

对于细粒度的执行模式，需要注意：

（1）可以通过共享变量达到信息共享

（2）JDK原生库暂时不支持点对点发送消息（类似MPI并行库直接发送消息）

MP]]></description><category></category></item><item><title><![CDATA[第五章--Java多线程和并发编程  第二节--Java多线程实现]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108185455</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108185455</guid><author>one_2_one</author><pubDate>Sun, 23 Aug 2020 23:14:23 +0800</pubDate><description><![CDATA[Java多线程创建的两种方法：

（1）java.lang.Thread：线程继承Thread类，实现run方法



（2）java.lang.Runnable接口：线程实现Runnable接口，实现run方法



注意：Java中有四个主要接口：

Clonable，用于对象克隆

Comparable，用于对象比较

Serializable，用于对象序列化

Runnable，用于对象线程化（让一个类具有线程化的能力）

Java多线程启动：

---- start方法，会自动以新进程调用run方]]></description><category></category></item><item><title><![CDATA[第五章--Java多线程和并发编程  第一节--多进程和多线程简介]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108176160</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108176160</guid><author>one_2_one</author><pubDate>Sat, 22 Aug 2020 23:28:22 +0800</pubDate><description><![CDATA[多进程概念（1）：

----当前的操作系统都是多任务OS（在windows上同时写着文档，听着音乐，聊着QQ，同时打开好几个应用程序）

----每个独立执行的任务就是一个进程

----OS将时间划分为多个时间片（每个时间片很短，可能只有几个纳秒几个微秒）

----每个时间片内将CPU分配给某一个任务，时间片结束，CPU将自动回收，再分配给另外任务。从外部看，所有任务是同时在执行（音乐一直在放，QQ一直在接收消息）。但是在CPU上，任务是按照串行顺序依次运行（假设在单核CPU上运行，CPU一直在工作，]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第六节--工具类]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108036625</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108036625</guid><author>one_2_one</author><pubDate>Sun, 16 Aug 2020 16:23:46 +0800</pubDate><description><![CDATA[（1）JCF的工具类：JCF提供了很多数据结构，除了这些数据结构，还提供了两种工具类

----工具类不存储数据，而是在数据容器上，实现高效操作（主要是排序操作和搜索操作）

---- Arrays类和 Collections类

Arrays：处理对象是数组

----排序：对数组排序，sort / parallelSort

----查找：从数组中查找一个元素，binarySearch

----批量拷贝：从源数组批量复制元素到目标数组，copyOf

----批量赋值：对数组进行批量赋值，fill

]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第五节--映射Map]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108029013</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108029013</guid><author>one_2_one</author><pubDate>Sat, 15 Aug 2020 23:37:11 +0800</pubDate><description><![CDATA[映射（1）

----Map映射

数学定义：两个集合之间的元素对应关系

一个输入对应到一个输出

{ 1，张三}，{2，李四}，{Key，Value}，键值对，K-V对

----Java中的Map

（1）Hashtable：同步，性能比较慢，适合处理数据量小

（2）HashMap：不支持同步，快，数据量大

（3）Properties：同步，文件形式存储的，数据量小

映射（2）：Hashtable

---- K-V对，K和V都不允许为null

----同步，多线程安全

----无序的

-]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第四节--集合Set]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/108014923</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/108014923</guid><author>one_2_one</author><pubDate>Fri, 14 Aug 2020 23:29:38 +0800</pubDate><description><![CDATA[集合（1）：

集合Set的三个性质：

（1）确定性：对任意对象都能判定它是否属于某一个集合

（2）互异性：集合内每个元素都是不相同的，注意是内容互异的（比如说）


]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第三节--列表List]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107946849</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107946849</guid><author>one_2_one</author><pubDate>Tue, 11 Aug 2020 23:16:05 +0800</pubDate><description><![CDATA[List（1）：

----List：列表

有序的Collection

允许有重复的元素，也允许嵌套

举个例子：{ 1, 2, 4, { 5, 2 }, 1, 3 }

----List主要实现有三个类：

（1）ArrayList （非同步的）

（2）LinkedList （非同步的）

（3）Vector（同步的）

List（2）:  ArrayList

----以数组实现的列表，不支持同步

----利用索引位置可以快速定位访问

----不适合指定位置的插入、删除操作（大量的数据后移..]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第二节--JCF]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107923083</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107923083</guid><author>one_2_one</author><pubDate>Mon, 10 Aug 2020 22:59:33 +0800</pubDate><description><![CDATA[JCF（1）：

----容器：能够存放数据的空间结构

（1）数组 / 多维数组，只能线性存放

（2）列表 / 散列集 / 树 / ......

----容器框架：为表示和操作容器而规定的一种标准体系结构（简单说，有一些容器，并且在其之上有算法实现）

（1）对外的接口：容器中所能存放的抽象数据类型

（2）接口的具体实现：可以复用的数据结构

（3）算法：对数据的查找和排序

----容器框架的优点：提高数据存取效率，避免程序员重复劳动

----C++的STL（标准模板库），Java的JCF

J]]></description><category></category></item><item><title><![CDATA[第十章--Java数据结构  第一节--数组]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107901785</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107901785</guid><author>one_2_one</author><pubDate>Sun, 09 Aug 2020 23:19:45 +0800</pubDate><description><![CDATA[数组（1）：

数组是一个存放多个数据的容器

----数据是同一种类型

----所有的数据是线性规则排列

----可通过位置索引来快速定位访问数据

----需要明确容器的长度



数组（2）：

Java数组定义和初始化



数组（3）：

数组索引

----数组的length属性标识数组的长度

----从0开始，到length-1

---- int[] a = new int[5] ; // a[0] ~ a[4] , not a[5]

----数组不能越界访问，否则会报Arr...]]></description><category></category></item><item><title><![CDATA[第九章 --Java异常和异常处理 第三节--自定义异常]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107883219</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107883219</guid><author>one_2_one</author><pubDate>Sat, 08 Aug 2020 23:24:55 +0800</pubDate><description><![CDATA[自定义异常（1）：

----Exception类是所有异常的父类

----Exception继承自java.lang.Throwable，同时它有一个兄弟Error

----Error是更严重的问题，一般是系统层面的，无需程序处理

----程序只需要处理Exception

自定义异常（2）：

----自定义异常，需要继承Exception类或者其子类

（1）继承自Exception，就变成Checked Exception

（2）继承自RuntimeException，就变成Unchecke]]></description><category></category></item><item><title><![CDATA[第九章--Java异常和异常处理  第二节--Java异常处理]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107875921</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107875921</guid><author>one_2_one</author><pubDate>Sat, 08 Aug 2020 15:20:07 +0800</pubDate><description><![CDATA[异常处理（1）：

异常处理（的目的）：

（1）允许用户及时保存结果

（2）抓住异常，分析异常内容

（3）控制程序返回到安全状态

异常处理（2）：

---- try - catch - finally ：一种保护代码正常运行的机制

---- 异常结构：

（1）try ... catch（可以有多个，下同）

（2）try ... catch ... finally

（3）try ... finally

注意：try必须有，catch和finally至少要有一个

异常处理（3）：

--.]]></description><category></category></item><item><title><![CDATA[第九章  Java异常和异常处理  第一节  Java异常分类]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/107871405</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/107871405</guid><author>one_2_one</author><pubDate>Fri, 07 Aug 2020 23:35:33 +0800</pubDate><description><![CDATA[异常概述：

异常：程序不正常的行为或者状态

---- int a = 5 / 0 ;

----数组越界访问

---- 读取文件，结果该文件不存在



异常处理（处理整个异常）：希望可以做到

----程序返回到安全状态

----允许用户保存结果，并以适当方式关闭程序

举个例子：

早期的时候，windows98一旦出现错误，系统直接蓝屏，所有的东西如编辑的文档，编写的代码全都没有（没有来得及保存）



现在的win7 / win10，如果程序出现错误，就会弹出一个错误警告，问你发送不发...]]></description><category></category></item><item><title><![CDATA[第八章  Java常用类  第四节  时间相关类]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/106931421</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/106931421</guid><author>one_2_one</author><pubDate>Tue, 23 Jun 2020 20:27:01 +0800</pubDate><description><![CDATA[时间类（1）：

--java.util.Date（基本废弃，Deprecated）

getTime(),返回自从1970.1.1以来的毫秒数

--java.sql.Date（和数据库对应的时间类）

--Calendar是目前程序中最常用的，但是是抽象类

Calendar gc = Calendar.getInstance();

Calendar gc = new GregorianCalendar();

简单工厂模式



时间类（2）：

Calendar类的相关函数

--...]]></description><category></category></item><item><title><![CDATA[第八章  Java常用类  第三节  字符串相关类]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/106905769</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/106905769</guid><author>one_2_one</author><pubDate>Mon, 22 Jun 2020 17:09:13 +0800</pubDate><description><![CDATA[字符串（1）

String

--Java中使用频率最高的类

--是一个不可变对象，加减操作性能较差

--以下方法需要牢记：charAt, concat, contains, endsWith, equals, equalsIgnoreCase, hashCode, indexOf, length

                 matches, replace, replaceAll, split, startsWith, subString, trim, v...]]></description><category></category></item><item><title><![CDATA[第八章 Java常用类  第二节  数字相关类]]></title><link>https://blog.youkuaiyun.com/one_2_one/article/details/106887621</link><guid>https://blog.youkuaiyun.com/one_2_one/article/details/106887621</guid><author>one_2_one</author><pubDate>Sun, 21 Jun 2020 16:51:31 +0800</pubDate><description><![CDATA[--Java数字类

（1）整数 Short, Int, Long

（2）浮点数 Float, Double

（3）大数类 BigInteger（大数类），BigDecimal（大浮点数）

（4）随机数类 Random

（5）工具类 Math

--java.math包

在Java类库中，整数类和浮点数类所表示的数字都有界限范围，如Int是-2147483648至2147483647。而大数类则没有限制，可以表示无穷大的数字。

整数类型（1）：





整数类型（2）：



整数...]]></description><category></category></item></channel></rss>