<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[B_Sheep的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/B_Sheep</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; B_Sheep]]></copyright><item><title><![CDATA[Java——锁]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/107896478</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/107896478</guid><author>B_Sheep</author><pubDate>Sun, 09 Aug 2020 17:14:54 +0800</pubDate><description><![CDATA[Java——锁Java中的锁什么是锁锁的三个概念锁的分类乐观锁与悲观锁自旋锁与适应性自旋锁公平锁与非公平锁重入锁与非重入锁共享锁与排他锁读写锁死锁死锁的定义死锁产生的原因死锁产生的4个必要条件死锁的处理方法预防避免检测解除
Java中的锁
什么是锁
在计算机科学中，锁(lock)与互斥(mutex)是一种同步机制，用于在许多线程执行时对资源的限制。
​锁通常需要硬件支持才可以有效实施。这种支持通常采用一个或多个原子指令，测试单个线程是否空闲。
锁的三个概念

锁开销：就是完成一个锁可能额外耗费的资源，比如一]]></description><category></category></item><item><title><![CDATA[Java——HashMap底层实现原理]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/107891958</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/107891958</guid><author>B_Sheep</author><pubDate>Sun, 09 Aug 2020 16:11:55 +0800</pubDate><description><![CDATA[Java——HashMap底层实现原理HashMap的实现原理一、JDK1.8中的涉及到的数据结构1、位桶数组2、数组元素NodeHashMap的实现原理
首先有一个每个元素都是链表（可能表述不准确）的数组，当添加一个元素（key-value）时，就首先计算元素key的hash值，以此确定插入数组中的位置，但是可能存在同一hash值的元素已经被放在数组同一位置了，这时就添加到同一hash值的元素的后面，他们在数组的同一位置，但是形成了链表，同一各链表上的Hash值是相同的，所以说数组存放的是链表。而当链表长]]></description><category></category></item><item><title><![CDATA[Java——this和super用法总结]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/106170769</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/106170769</guid><author>B_Sheep</author><pubDate>Sun, 17 May 2020 11:13:33 +0800</pubDate><description><![CDATA[Java——this关键字用法总结this一、普通的直接引用二、区分成员变量和局部变量3.引用构造函数super1、普通的直接引用2、子类中的成员变量或方法与父类中的成员变量或方法同名3、引用构造函数super 和 this的异同
this
this 是自身的一个对象，代表对象本身，可以理解为：指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种：

普通的直接引用
区分成员变量和局部变量
引用构造函数

一、普通的直接引用
this 关键字用来表示当前对象本身，或当前类的一个实例，通]]></description><category></category></item><item><title><![CDATA[Java多线程——Thread和Runnable的区别]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/106142301</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/106142301</guid><author>B_Sheep</author><pubDate>Fri, 15 May 2020 15:05:28 +0800</pubDate><description><![CDATA[Java多线程——Thread和Runnable的区别进程和线程的区别一、扩展java.lang.Thread类二、实现java.lang.Runnable接口
进程和线程的区别
首先讲一下进程和线程的区别：

进程：每个进程都有独立的代码和数据空间（进程上下文），进程间的切换会有较大的开销，一个进程包含1–n个线程。
线程：同一类线程共享代码和数据空间，每个线程有独立的运行栈和程序计数器(PC)，线程切换开销小。
线程和进程一样分为五个阶段：创建、就绪、运行、阻塞、终止。
多进程是指操作系统能同时运行多个]]></description><category></category></item><item><title><![CDATA[Java学习（16）——设计模式]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105795943</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105795943</guid><author>B_Sheep</author><pubDate>Mon, 27 Apr 2020 21:54:22 +0800</pubDate><description><![CDATA[设计模式简介中介模式代理模式责任链模式总结
简介
设计模式（Design pattern）代表了最佳的实践，通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
本节主要介绍中介模式、代理模式、责任模式。
知识点

中介模式
代理模式
责任链模式

中介模式
简介
定义...]]></description><category></category></item><item><title><![CDATA[Java学习（14）——正则表达式]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105795027</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105795027</guid><author>B_Sheep</author><pubDate>Mon, 27 Apr 2020 17:22:27 +0800</pubDate><description><![CDATA[正则表达式简介匹配总结
简介
正则表达式，又称规则表达式。（英语：Regular Expression，在代码中常简写为 regex、regexp 或 RE ），计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式（规则）的文本。
Java 通过 java.util.regex 包支持正则表达式的的功能。
知识点

java.util.regex

匹配
Java 使用正则表达式匹...]]></description><category></category></item><item><title><![CDATA[Java学习（13）——反射]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105794076</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105794076</guid><author>B_Sheep</author><pubDate>Mon, 27 Apr 2020 17:07:30 +0800</pubDate><description><![CDATA[反射简介什么是反射反射能做什么反射常用类编程实战总结
简介
Java 反射说的是在运行状态中，对于任何一个类，我们都能够知道这个类有哪些方法和属性。对于任何一个对象，我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。本节主要讲解 Java 反射机制中的常用类。
知识点

反射常用类

什么是反射
反射是 Java 编程语言的一个特性，它提供了在运行时...]]></description><category></category></item><item><title><![CDATA[Java学习（12）——JDBC]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105777139</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105777139</guid><author>B_Sheep</author><pubDate>Mon, 27 Apr 2020 16:27:07 +0800</pubDate><description><![CDATA[JDBC简介数据库简介关系数据库非关系型数据库（NoSql）SQL 简介SQL 语法JDBCJDBC 连接数据库
简介
JDBC 是连接数据库和 Java 程序的桥梁，通过 JDBC API 可以方便地实现对各种主流数据库的操作。本节将重点讲解 JDBC 的内容。
知识点

SQL 简介
JDBC
创建数据库
数据库操作
JDBC 结果集
插入数据

数据库简介
数据库，简而言之可视为电子化的文件...]]></description><category></category></item><item><title><![CDATA[Java学习（11）——多线程]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105753051</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105753051</guid><author>B_Sheep</author><pubDate>Sun, 26 Apr 2020 21:04:45 +0800</pubDate><description><![CDATA[多线程简介什么是线程多线程实现线程变量线程同步死锁饥饿线程生命周期
简介
Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流，一个进程中可以并发多个线程，每条线程并行执行不同的任务。多线程是多任务的一种特别的形式，但多线程使用了更小的资源开销。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。本节主要讲解 Java 多线程的一些概念以及其实现。
知识...]]></description><category></category></item><item><title><![CDATA[Java学习（10）——网络编程]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105750652</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105750652</guid><author>B_Sheep</author><pubDate>Sat, 25 Apr 2020 17:18:22 +0800</pubDate><description><![CDATA[IO简介Socket 简介TCPUDPHttpURLConnectionInetAddress 类SocketServerSocket网络编程实例总结
简介
网络编程是指编写运行在多个设备（计算机）的程序，这些设备都通过网络连接起来。java.net 包中 J2SE 的 API 包含有类和接口，它们提供低层次的通信细节。你可以直接使用这些类和接口，来专注于解决问题，而不用关注通信细节。本节重点讲解...]]></description><category></category></item><item><title><![CDATA[Java学习（9）——IO]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105735017</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105735017</guid><author>B_Sheep</author><pubDate>Sat, 25 Apr 2020 15:31:18 +0800</pubDate><description><![CDATA[IO简介文件文件流FileReader随机读写文件操作拷贝移动和重命名删除文件属性目录读取IO流字节流
简介
整个 Java.io 包中最重要的就是 5 个类。指的是 File、OutputStream、InputStream、Writer、Reader；本节将重点讲解 Java.io 的相关内容。
知识点

文件
随机读写
文件操作
文件拷贝
文件属性
目录读取
IO 流
字节流
字符流

文件...]]></description><category></category></item><item><title><![CDATA[Java学习（8）——Lambda]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105731733</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105731733</guid><author>B_Sheep</author><pubDate>Fri, 24 Apr 2020 16:48:56 +0800</pubDate><description><![CDATA[Lambda简介什么是函数式编程Lambda 表达式作用域方法引用函数式接口java.util.function相关的接口及描述编程实例PredicateStream 流相关的方法介绍编程实例FlatMap总结
简介
Lambda 表达式是 Java SE 8 中一个重要的新特性。Lambda 表达式允许你通过表达式来代替功能接口。本节将重点讲解 Lambda 相关知识内容。
知识点

Lambd...]]></description><category></category></item><item><title><![CDATA[Java学习（7）——异常]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105729967</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105729967</guid><author>B_Sheep</author><pubDate>Fri, 24 Apr 2020 15:15:51 +0800</pubDate><description><![CDATA[异常简介异常概述异常分类声明及抛出捕获异常捕获多个异常自定义异常异常堆栈总结
简介
任何一个程序都有可能发生异常，本节将主要讲解关于 Java 的异常处理。主要内容包含异常的基础理论以及如何捕获异常。
知识点

异常分类
声明及抛出
捕获异常
自定义异常
异常堆栈

异常概述
异常指不期而至的各种状况，它在程序运行的过程中发生。作为开发者，我们都希望自己写的代码永远都不会出现 bug，然而现实告诉...]]></description><category></category></item><item><title><![CDATA[Java学习（6）——排序与查找]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105687981</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105687981</guid><author>B_Sheep</author><pubDate>Wed, 22 Apr 2020 17:43:45 +0800</pubDate><description><![CDATA[排序与查找算法排序算法插入排序冒泡排序归并排序快速排序搜索算法线性搜索二分查找
算法
算法（Algorithm）是指解题方案的准确而完整的描述，是一系列解决问题的清晰指令。算法代表着用系统的方法描述解决问题的策略机制。也就是说，能够对一定规范的输入，在有限时间内获得所要求的输出。如果一个算法有缺陷，或不适合于某个问题，则执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同...]]></description><category></category></item><item><title><![CDATA[Java学习（5）——泛型和集合]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105679729</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105679729</guid><author>B_Sheep</author><pubDate>Wed, 22 Apr 2020 17:21:12 +0800</pubDate><description><![CDATA[常用类简介泛型定义泛型类使用泛型方法CollectionListArrayListMapHashMapSet 和 HashSetCollections常用方法
简介
Java 使用集合来组织和管理对象，本节我们重点讲解泛型和集合。主要介绍 Collection、List、ArrayList、Map、HashMap、Set 和 HashSet、Collections、算法等内容。
知识点

泛型
C...]]></description><category></category></item><item><title><![CDATA[Java学习（4）——常用类]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105661900</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105661900</guid><author>B_Sheep</author><pubDate>Tue, 21 Apr 2020 21:05:19 +0800</pubDate><description><![CDATA[常用类简介ArraysArrays 常用方法Arrays 编程实例StringBuilderCalendarCalendar 编程实例DateDate 编程实例MathMath 编程实例SystemSystem 使用示例RandomRandom 编程实例
简介
Java 类库提供了不少常用类，可以在编程中直接调用使用。本节讲重点讲解 Arrays、StringBuilder、Calendar、Da...]]></description><category></category></item><item><title><![CDATA[Java学习（3）——面向对象]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105644474</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105644474</guid><author>B_Sheep</author><pubDate>Tue, 21 Apr 2020 16:06:31 +0800</pubDate><description><![CDATA[面向对象简介面向对象基本概念类对象构造方法引用与对象实例staticfinal权限修饰符
简介
Java 是面向对象的高级编程语言，类和对象是 Java 程序的构成核心。本节讲重点讲解面向对象的相关内容，主要围绕 Java 类和对象展开。
知识点

类
对象
构造方法
引用与对象实例
static
final
封装
继承
方法重载与重写
多态
抽象类
接口
内部类

面向对象基本概念
对象，从字面...]]></description><category></category></item><item><title><![CDATA[Java学习（2）——基础语法（下）]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105644020</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105644020</guid><author>B_Sheep</author><pubDate>Mon, 20 Apr 2020 20:57:53 +0800</pubDate><description><![CDATA[基础语法（上）简介流程控制if语句switch语句while 和 do-while 语句跳转语句数组二维数组用户输入操作
简介
本节内容接上节内容，继续讲解 Java 基础语法的剩余内容。主要包括流程控制中的条件语句、循环语句以及跳转语句、数组的相关操作以及用户输入的操作。
知识点
1、流程控制
2、数组
3、用户输入操作
流程控制
流程控制对任何一门编程语言都是至关重要的，它为我们提供了控制程序...]]></description><category></category></item><item><title><![CDATA[Java学习（1）——基础语法（上）]]></title><link>https://blog.youkuaiyun.com/B_Sheep/article/details/105639086</link><guid>https://blog.youkuaiyun.com/B_Sheep/article/details/105639086</guid><author>B_Sheep</author><pubDate>Mon, 20 Apr 2020 18:04:21 +0800</pubDate><description><![CDATA[基础语法（上）简介Java 概述及版本HelloWorld变量常量数据类型String运算符算术运算符位运算符逻辑运算符关系运算符关键字和语句方法IDE
简介
Java 概述及版本
HelloWorld
变量
常量
数据类型
String
运算符
算术运算符
位运算符
逻辑运算符
关系运算符
关键字和语句
方法
IDE
#简介
本节内容讲解 Java 基础语法内容。主要包含变量、常量、数据类型、S...]]></description><category></category></item></channel></rss>