<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhangbinren的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhangbinren</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangbinren]]></copyright><item><title><![CDATA[操作系统（二）——启动、中断、异常和系统调用]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/114195420</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/114195420</guid><author>zhangbinren</author><pubDate>Sat, 27 Feb 2021 22:11:43 +0800</pubDate><description><![CDATA[2.1 操作系统的启动

CPU， I/O ，  内存通过总线连接
DISK中有Bootloader（512字节）和OS，Bootloader的作用是将OS加载到内存。
启动过程：BIOS( basic I/O system)加电自检，检查基本设备有无问题；若无问题，从引导扇区加载Bootloader至0x7c00，CS:IP跳转到0x7c00；Bootloader将OS的代码和数据从磁盘加载到内存，OS开始管理。

2.2 操作系统的中断、异常和系统调用(1)—基本概念


操作系统与外设和程序交互：OS]]></description><category></category></item><item><title><![CDATA[操作系统（三）——连续内存分配]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/114195357</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/114195357</guid><author>zhangbinren</author><pubDate>Sat, 27 Feb 2021 22:10:13 +0800</pubDate><description><![CDATA[第三章 连续内存分配

]]></description><category></category></item><item><title><![CDATA[this关键字、static静态、继承、引用类型]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/109726896</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/109726896</guid><author>zhangbinren</author><pubDate>Mon, 16 Nov 2020 18:37:24 +0800</pubDate><description><![CDATA[文章目录一、this关键字1.1 this关键字的作用1.1.1 this关键字的作用1.1.2 this关键字的应用1.1.2.1 用于普通的gettter与setter方法1.1.2.2 用于构造器中二、static关键字2.1 概述2.2 定义格式和使用2.2.1 静态变量及其访问2.2.2 实例变量及其访问2.2.3 静态方法及其访问2.2.4 实例方法及其访问2.3 小结三、继承3.1 概述3.1.1 引入3.1.2 继承的含义3.1.3 继承的好处3.2 继承的格式3.3 继承案例3.3.1 案]]></description><category></category></item><item><title><![CDATA[抽象类，接口、代码块、final、单例、枚举]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/109726866</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/109726866</guid><author>zhangbinren</author><pubDate>Mon, 16 Nov 2020 18:30:16 +0800</pubDate><description><![CDATA[文章目录第一章 抽象类1.1 概述1.1.1 抽象类引入1.2 abstract使用格式1.2.1 抽象方法1.2.2 抽象类1.2.3 抽象类的使用1.3 抽象类的特征1.4 抽象类的注意事项1.5 抽象类存在的意义1.6 第一个设计模式：模板模式第二章 接口2.1 概述2.2 定义格式2.3 接口成分的特点2.3.1.抽象方法2.3.2 常量2.3.3 案例演示2.4 基本的实现2.4.1 实现接口的概述2.4.2 实现接口的格式2.4.3 类实现接口的要求和意义2.4.4  类与接口基本实现案例1.4]]></description><category></category></item><item><title><![CDATA[Java基础——Lambda表达式]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106894262</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106894262</guid><author>zhangbinren</author><pubDate>Mon, 22 Jun 2020 00:37:30 +0800</pubDate><description><![CDATA[文章目录Lambda表达式1.简介2.作用3.格式4.使用前提5.代码示例16.代码示例27.Lambda表达式的省略写法
Lambda表达式
1.简介
Lambda表达式是JDK1.8开始之后的新技术，是一种代码的新语法。
是一种特殊写法
2.作用
简化匿名内部类的代码写法
3.格式
(匿名内部类被重写方法的形参列表) -&gt; {
被重写方法的方法体代码。
}
-&gt; 就是一个新语法，没有实际含义，但是不能省略！
4.使用前提
Lambda表达式只能简化函数式接口的匿名内部类写法：
函数式接口（F]]></description><category></category></item><item><title><![CDATA[Java基础——多线程总结]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106890599</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106890599</guid><author>zhangbinren</author><pubDate>Sun, 21 Jun 2020 20:29:39 +0800</pubDate><description><![CDATA[文章目录1. 多线程的概述（并发编程）1.1 进程1.2 线程1.3 线程的作用2. 线程的创建2.1 方式一：继承Thread类2.1.1 具体实现2.1.2 优缺点2.1.3 注意事项2.1.4 Thread类的常用API2.1.5 线程休眠的方法2.1.6 通过带参构造器为线程取名字2.2 方式二：实现Runnable接口2.2.1 具体实现2.2.2 Thread构造器2.2.3 代码示例2.2.4 优缺点2.2.5 匿名内部类的代码示例2.3 方式三：实现Callable接口2.3.1 具体实现2]]></description><category></category></item><item><title><![CDATA[Java的异常机制详解]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106368162</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106368162</guid><author>zhangbinren</author><pubDate>Tue, 26 May 2020 23:48:54 +0800</pubDate><description><![CDATA[文章目录1.Exception异常的分类2.运行时异常2.1 ArrayIndexOutOfBoundsException2.2 NullPointerException2.3 ClassCastException2.4  ArithmeticException2.5 NoSuchElementException2.6 NumberFormatException3.编译时异常4.异常的处理4.1 异常的默认处理机制4.2 编译时异常的处理方式4.2.1： Throws(抛出异常)4.2.2： try-cat]]></description><category></category></item><item><title><![CDATA[用集合模拟斗地主洗牌发牌的过程，并将发的牌排序]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106288381</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106288381</guid><author>zhangbinren</author><pubDate>Fri, 22 May 2020 17:59:28 +0800</pubDate><description><![CDATA[package zbr;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

class Card {

    //定义变量
    private String color;
    private String number;
    private int index;//记录牌的大小，便于发好牌后排序

    public C]]></description><category></category></item><item><title><![CDATA[正则表达式的规则及代码示例]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106258702</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106258702</guid><author>zhangbinren</author><pubDate>Thu, 21 May 2020 15:17:01 +0800</pubDate><description><![CDATA[正则表达式的规则
1.字符

x表示字符x，举例：a表示字符a
\\  反斜线字符
\n 换行
\r 回车

2.字符类

[abc]		   a、b 或 c
[^abc]         任何字符，除了a、b 或 c
[a-zA-Z]      a到z，A到Z，包括两头字母
[0-9]           0到9的字符都包括

3.预定义字符

.      任何字符，\\.   表示  .   本身
\d      数字：[0,9]
\w     单词字符：[a-zA-Z_0-9]

4.边界匹配器

]]></description><category></category></item><item><title><![CDATA[DateFormat类与SimpleDateFormat类的方法及代码示例]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106241827</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106241827</guid><author>zhangbinren</author><pubDate>Wed, 20 May 2020 18:17:22 +0800</pubDate><description><![CDATA[DateFormat
作用

可以把“日期对象”或者“时间毫秒值”格式化成我们喜欢的时间形式。
可以把字符串的时间形式解析成如期对象

注意事项
DateFormat是一个抽象类，不能直接使用，要找它的子类：SimpleDateFormat
SimpleDateFormat简单日期格式化类
构造器public SimpleDateFormat(String pattern)：以字符串形式指定时间的格式，创建简单日期格式化对象
方法：

public String format (Date date)：把日期]]></description><category></category></item><item><title><![CDATA[Calendar类的方法及代码示例]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106241789</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106241789</guid><author>zhangbinren</author><pubDate>Wed, 20 May 2020 18:15:30 +0800</pubDate><description><![CDATA[Calendar类
创建方法
Calendar类是静态类，不能new。
所以，调用方法创建：
Calendar rightNow = Calendar.getInstance()
Calendar的方法

public static Calendar getInstance()：返回一个日历类的对象
public int get(int field)：取日期中的某个字段信息
public void set(int field,int value)：修改日历的某个字段信息
public void add(in]]></description><category></category></item><item><title><![CDATA[Markdown格式以及示例]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106228908</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106228908</guid><author>zhangbinren</author><pubDate>Wed, 20 May 2020 09:48:32 +0800</pubDate><description><![CDATA[Markdown学习
标题格式
n个#+空格+标题名字
例如：
一级标题：1个"#"+空格+标题名
二级标题：2个"#"+空格+标题名
字体格式
加粗：2个“ * ” + 内容 + 2个“ * ”
斜线：1个“ * ” + 内容 + 1个“ * ”
加粗并且斜线：3个“ * ” + 内容 + 3个“ * ”
划体：2个“ ~” + 内容 + 2个“ ~”
例如：
这是加粗
这是斜线
这是加粗并且斜体
这是划线
引用格式
1个“&gt;”+1个空格+内容
例如：

这是引用

分割线格式
3个“ - ”或3个]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架6：集合的嵌套]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106126102</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106126102</guid><author>zhangbinren</author><pubDate>Fri, 15 May 2020 15:46:24 +0800</pubDate><description><![CDATA[一、HashMap集合嵌套 HashMap集合：

]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架5：Map集合]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106093646</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106093646</guid><author>zhangbinren</author><pubDate>Thu, 14 May 2020 18:28:13 +0800</pubDate><description><![CDATA[Map：一次添加一对元素，也称双列集合，其实存储的就是键值对，存储时必须保持键的唯一性。
ps： Collection一次添加一个元素，成为单列集合。
——————————————————————————————————
Map集合常用方法：
1.添加
value put(key,value)：返回前一个和key关联的值，如果没有返回null
2.删除
void clear()：清空Map集合
value remove(key)：根据指定的key删除这个键值对
3.判断
boolean containsKe]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架4：泛型]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106061818</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106061818</guid><author>zhangbinren</author><pubDate>Thu, 14 May 2020 14:09:38 +0800</pubDate><description><![CDATA[泛型：&lt; &gt;，里面放一个用于接收具体引用数据类型的参数范围。
是jdk1.5出现的安全机制，用于编译时期。
好处：
1.将运行期间的问题ClassCastException转到了编译时期。
2.避免了强制转换的麻烦。
泛型的擦除：运行时，会将泛型去除，生成的class文件中是不带泛型的，主要是为了兼容运行的类加载器。ff泛型的补偿：通过获取元素的类型（getClass）自动进行转换，不用使用者强制转换。

...]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架3：Set集合]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106038897</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106038897</guid><author>zhangbinren</author><pubDate>Mon, 11 May 2020 18:11:32 +0800</pubDate><description><![CDATA[Set：元素不可重复，接口中的方法和Collection一致
HashSet：内部数据结构是哈希表，是不同步的。
TreeSet：

]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架2：List集合]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106024148</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106024148</guid><author>zhangbinren</author><pubDate>Sun, 10 May 2020 15:28:21 +0800</pubDate><description><![CDATA[List特点：有序（存入和取出的顺序一致）；元素都有索引（角标）；元素可以重复。
List特有的常见方法：有一个共性特点，就是都可以操纵角标。
List集合可以完成对元素的增删改查：
        List l = new ArrayList();

        //添加元素
        l.add("abc1");
        l.add("abc2");
        l.add("abc3");
        l.add("abc4");
        System.out.pri]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（4）：集合框架1:Collection接口]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/106005383</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/106005383</guid><author>zhangbinren</author><pubDate>Sat, 09 May 2020 17:23:28 +0800</pubDate><description><![CDATA[集合类的由来：
对象多了需要存储，如果对象个数不确定，就用集合容器进行存储。
集合特点：
1.用于存储对象的容器。
2.集合的长度是可变的。
3.集合中不可以存储基本数据类型值。
集合容器因为内部的数据结构不同，有多种类型。
不断向上抽取，就形成了集合框架。
框架的顶层Collection接口：
Collection的常见方法：
1.添加
boolean add(Object obj);
boolean addAll(Collection clect);
2.删除
boolean remove(Object]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（3）：基本数据类型对象包装类]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/105958142</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/105958142</guid><author>zhangbinren</author><pubDate>Fri, 08 May 2020 17:42:22 +0800</pubDate><description><![CDATA[一、概念
为了方便操作基本数据类型值，将其封装成了对象，在对象中定义了属性和行为，丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类。
该包装对象主要用于基本类型和字符串之间的转换
byte					Byte
short				Short
int					Integer
long					Long
float					Float
double				Double
char					...]]></description><category></category></item><item><title><![CDATA[Java基础——常用对象API（2）：StringBuffer类]]></title><link>https://blog.youkuaiyun.com/zhangbinren/article/details/105974816</link><guid>https://blog.youkuaiyun.com/zhangbinren/article/details/105974816</guid><author>zhangbinren</author><pubDate>Thu, 07 May 2020 20:11:32 +0800</pubDate><description><![CDATA[一、概述
每次对字符串进行拼接操作，都会构造一个新的String对象，既耗时又浪费空间，而StringBuffer可解决这问题。
线程安全的可变字符串。
StringBuffer和String的区别：前者长度和内容可变，后者不可变；如果使用前者做字符串的拼接，不会浪费太多资源。
二、构造方法
public StringBuffer()：无参构造方法
public StringBuffer(int ...]]></description><category></category></item></channel></rss>