<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_45477141的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_45477141</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_45477141]]></copyright><item><title><![CDATA[线程安全]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103978517</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103978517</guid><author>qq_45477141</author><pubDate>Tue, 14 Jan 2020 20:16:35 +0800</pubDate><description><![CDATA[线程安全
多线程的n++和n–之后
public class ThreadDemo {
    private static class Counter{
        private long n=0;
        public void increment(){
            n++;
        }
        public void decrement(){
   ...]]></description><category></category></item><item><title><![CDATA[线程的操作]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103970427</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103970427</guid><author>qq_45477141</author><pubDate>Tue, 14 Jan 2020 19:12:24 +0800</pubDate><description><![CDATA[线程的操作
1.启动一个线程
覆写run方法创建一个线程对象，对象被创建出来并不意味着线程就开始运行了
run（）方法相当于提供给线程要做的事情的清单。
线程对象可以认为是让线程准备好，调用过来。
这时候调用start（）方法，就可以使线程执行起来了。

中断一个线程
线程一旦进入到工作状态，就会按照run（）方法中的程序去执行，不完成不会结束。
但是有时候要增加一些机制，让正在运行的线程停止下来...]]></description><category></category></item><item><title><![CDATA[创建线程的方法]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103969410</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103969410</guid><author>qq_45477141</author><pubDate>Tue, 14 Jan 2020 11:33:22 +0800</pubDate><description><![CDATA[创建线程的方法
1.继承Thread类来创建线程，这个方法的好处是this代表的就是当前线程，不需要通过Thread.currentThread()来获取当前线程的引用。
public class main {
    public  static class myThread extends Thread{
        @Override
        public void run() ...]]></description><category></category></item><item><title><![CDATA[线程（Thread）-1]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103482234</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103482234</guid><author>qq_45477141</author><pubDate>Tue, 14 Jan 2020 10:48:47 +0800</pubDate><description><![CDATA[线程（Thread）
概念：进程是系统分配资源的最小单位，线程是系统调度的最小单位，一个进程之内的线程是可以共享资源的。
每个进程至少有一个线程存在，即主线程。
多线程和普通线程的区别
代码实现：
package package1210;
//多线程计算1-1000000000的和
public class Scene {
    public static final int count=100...]]></description><category></category></item><item><title><![CDATA[String复习总结]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103496257</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103496257</guid><author>qq_45477141</author><pubDate>Wed, 11 Dec 2019 17:24:16 +0800</pubDate><description><![CDATA[package package1;

public class Test {
    public static void main(String[] args) {
        String str1="hello";
        String str2="hello";
        //判断两个字符串是否相等
        System.out.println(str1==str...]]></description><category></category></item><item><title><![CDATA[进程]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103478295</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103478295</guid><author>qq_45477141</author><pubDate>Tue, 10 Dec 2019 17:00:34 +0800</pubDate><description><![CDATA[进程
1、进程
对于操作系统来说，一个任务就是一个进程。
程序的一个执行实例，正在执行的程序等等。
担当分配系统资源（CPU 内存）的实体。
2、时间片
现在的操作系统都是支持多任务的操作系统。可以同时执行多个任务。
操作系统的任务调度是采用时间片转轮的抢占式方式，也就是说一个任务执行一小短时间之后强行停止去执行下一个任务。
每个任务轮流执行。
任务执行的一小段时间就称为时间片。
3、并发与并行
...]]></description><category></category></item><item><title><![CDATA[操作系统]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103463000</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103463000</guid><author>qq_45477141</author><pubDate>Mon, 09 Dec 2019 20:24:25 +0800</pubDate><description><![CDATA[操作系统（Opreator System）
概念
任何计算机系统都包含一个基本的程序集合，称为操作系统（OS）
操作系统包括：
1、内核（进程管理，内存管理，文件管理，驱动管理）
2、其他程序（函数库，shell程序等）
OS定位
在整个计算机软硬件架构中，操作系统的定位**：一款纯正的“搞管理”的软件**
1、管理者的任务有两种：硬型基础设备管理和软型业务管理
2、按照目标对象分两种：一种是对内...]]></description><category></category></item><item><title><![CDATA[数据库练习—图书管理系统]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103437237</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103437237</guid><author>qq_45477141</author><pubDate>Sun, 08 Dec 2019 19:24:43 +0800</pubDate><description><![CDATA[图书管理系统
设计图书管理系统，包含学生和图书信息，且图书可以进行分类，学生可以在一个时间范围内借阅 图书，并在这个时间范围内归还图书。
1. 涉及以上场景的数据库表，并建立表关系
DROP DATABASE IF EXISTS ebook;
CREATE DATABASE ebook CHARACTER SET 'utf8mb4';
USE ebook;


– Table structure ...]]></description><category></category></item><item><title><![CDATA[数据库基本操作]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103100149</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103100149</guid><author>qq_45477141</author><pubDate>Sun, 08 Dec 2019 19:24:06 +0800</pubDate><description><![CDATA[数据库基本操作
1、进入数据库
win+R快捷键进入cmd命令中，输入 mysql -u root -p   回车
系统会提示输入passsward ,输入你的密码进入即可
创建数据库：
这里有三种命令
create database test;
create database if not exists test2;
create database if not exists test3 cha...]]></description><category></category></item><item><title><![CDATA[优先级队列（堆）]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103247728</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103247728</guid><author>qq_45477141</author><pubDate>Tue, 26 Nov 2019 16:37:05 +0800</pubDate><description><![CDATA[优先级队列（堆）
二叉树顺序存储
使用数组保存二叉树结构，方式即将二叉树用层序遍历方式放入数组中。
一般只适合表示完全二叉树，因为非完全二叉树会有空间的浪费。
这种方式的主要用法就是堆的表示】
下标关系
已知双亲(parent)的下标，则：
左孩子(left)下标 = 2 * parent + 1;
右孩子(right)下标 = 2 * parent + 2;
已知孩子（不区分左右）(child)...]]></description><category></category></item><item><title><![CDATA[数据库基本类型]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103099354</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103099354</guid><author>qq_45477141</author><pubDate>Sat, 16 Nov 2019 16:38:38 +0800</pubDate><description><![CDATA[常用数据类型
1.整型和浮点型

注意：
数值类型可以指定为无符号（unsigned），表示不取负数。
1字节（bytes）= 8bit。
对于整型类型的范围：
有符号范围：-2（类型字节数*8-1）到2（类型字节数*8-1）-1，如int是4字节，就 是-231到231-1
无符号范围：0到2（类型字节数*8）-1，如int就是232-1
尽量不使用unsigned，对于int类型可能存放不下的...]]></description><category></category></item><item><title><![CDATA[数据库基础]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103098674</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103098674</guid><author>qq_45477141</author><pubDate>Sat, 16 Nov 2019 15:34:15 +0800</pubDate><description><![CDATA[数据库基础
什么是数据库：
存储数据用文件就可以了，为什么还要弄个数据库?
文件保存数据有以下几个缺点：
文件的安全性问题 、文件不利于数据查询和管理 、文件不利于存储海量数据 、文件在程序中控制不方便
数据库存储介质：
磁盘 内存
为了解决上述问题，专家们设计出更加利于管理数据的软件——数据库，它能更有效的管理数据。数据 库可以提供远程服务，即通过远程连接来使用数据库，因此也称为数据库服务器。
...]]></description><category></category></item><item><title><![CDATA[循环队列]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103056950</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103056950</guid><author>qq_45477141</author><pubDate>Wed, 13 Nov 2019 21:07:21 +0800</pubDate><description><![CDATA[循环队列
队列数组实现就是循环队列
关键：头或者尾达到数组最后一个元素，接下来在进行入队或者出队，就让这样的标记来到数组开头。
队列为空：head和tail相等，队列为空
队列满了：head和tail相等（判断size是否为空，不为空表示队列满了）
数组下标循环技巧

下标最后再往后(oﬀset 小于 array.length): index = (index + oﬀset) % array.l...]]></description><category></category></item><item><title><![CDATA[队列]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103056056</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103056056</guid><author>qq_45477141</author><pubDate>Wed, 13 Nov 2019 20:37:04 +0800</pubDate><description><![CDATA[队列
只允许在一端进行插入数据操作，在另一端进行删除数据操作的特殊线性表，队列具有先进先出FIFO(First In First Out)的特点。
入队列：进行插入操作的一端称为队尾（Tail/Rear）
出队列：进行删除操作的一端称为队头
队列也是一种特殊的线性表
只支持三个核心操作，入队列、出队列、取队首元素
对线性表这样的灵活操作做出限制，没那么容易出错。
队列的进化版本：
1、优先队列。
...]]></description><category></category></item><item><title><![CDATA[栈]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103055620</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103055620</guid><author>qq_45477141</author><pubDate>Wed, 13 Nov 2019 19:51:15 +0800</pubDate><description><![CDATA[栈
栈：一种特殊的线性表，只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶，另一端称为栈底。栈中的数据元素遵守后进先出的原则。
压栈：栈的插入操作叫做进栈/压栈/入栈，入数据在栈顶。
出栈：栈的删除操作叫出栈，出数据在栈顶。
栈实现
1、利用顺序表实现，即使用尾插+尾删的方式实现。
2、利用链表实现，则头尾皆可以。
public class MyStack {
   ...]]></description><category></category></item><item><title><![CDATA[包装类基础]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103036934</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103036934</guid><author>qq_45477141</author><pubDate>Tue, 12 Nov 2019 20:12:48 +0800</pubDate><description><![CDATA[包装类基础
Object 引用可以指向任意类型的对象，但有例外出现了，8 种基本数据类型不是对象，那岂不是刚才的泛型机制要失效了？
实际上也确实如此，为了解决这个问题，java 引入了一类特殊的类，即这 8 种基本数据类型的包装类，在使用过程 中，会将类似 int 这样的值包装到一个对象中去。
基本数据类型               包装类
byte                      B...]]></description><category></category></item><item><title><![CDATA[泛型（Generic）基础]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103034485</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103034485</guid><author>qq_45477141</author><pubDate>Tue, 12 Nov 2019 17:26:37 +0800</pubDate><description><![CDATA[泛型(generic)基础
泛型的引入
问题：我们之前实现过的顺序表，只能保存 int 类型的元素，如果现在需要保存 指向 Person 类型对象的引用的顺 序表，请问应该如何解决？如果又需要保存指向 Book 对象类型的引用呢？
回答：

首先，我们在学习多态过程中已知一个前提，基类的引用可以指向子类的对象。


其次，我们也已知 Object 是 java 中所有类的祖先类。
那么，要解决上述...]]></description><category></category></item><item><title><![CDATA[接口 interfaces]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103031663</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103031663</guid><author>qq_45477141</author><pubDate>Tue, 12 Nov 2019 16:22:50 +0800</pubDate><description><![CDATA[接口 interfaces
基本关系
一、Colleation：用来存储管理一组对象objects，这些对象一般被称为元素elements;
1、Set:元素不能重复，背后隐含查找/搜索的意义
SortedSet:一组有序的不能重复的元素
2、List:线性结构
3、queue队列
4、deque:双端队列
二、Map：键值对Key-value-Pair,背后隐含查找/搜索的意义
1、Sorted...]]></description><category></category></item><item><title><![CDATA[集合框架与数据结构]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/103031309</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/103031309</guid><author>qq_45477141</author><pubDate>Tue, 12 Nov 2019 15:55:57 +0800</pubDate><description><![CDATA[集合框架与数据结构

学习的意义
使用成熟的集合框架，有助于我们便捷、快速的写出高效、稳定的代码 。
学习背后的数据结构知识，有助于我们理解各个集合的优缺点及使用场景。

...]]></description><category></category></item><item><title><![CDATA[java异常体系]]></title><link>https://blog.youkuaiyun.com/qq_45477141/article/details/102978521</link><guid>https://blog.youkuaiyun.com/qq_45477141/article/details/102978521</guid><author>qq_45477141</author><pubDate>Fri, 08 Nov 2019 19:24:25 +0800</pubDate><description><![CDATA[java异常体系

java 语言规范将派生出Error类或RuntimeRxpection类的所有异常称为非受查异常，所有其他的异常称为受查异常（编译时异常）。
如果一段代码可能抛出受查异常，那么必须下那是进行处理。
 public static void main(String[] args) {
         System.out.println(readFile());
    }
 ...]]></description><category></category></item></channel></rss>