自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux最基础知识整理

一:Linux简介 1.定位:服务器操作系统 2.历史: 目前为止,Linux不是一个具体的操作系统,而是一类操作系统的统称。 Red Hat(收费):目前被IBM收购了,目前全球最大的Linux供应商。 Cent OS:Red Hat推出的免费版。 Ubuntu:界面比较友好。 Linux基于Unix,Unix底层是由C语言编写。 3.具有的特性:免费,开源,安全。 二: 关于VMWare 1.简介:虚拟机软件,使用VMWare就是使用软件来模拟一台真实的计算机。由于虚拟机安装在当前计算机中,所以虚

2022-01-30 12:19:47 5527 1

原创 DQL:相关子查询与不相关子查询

1.不相关子查询 引入:查询薪资比"clark"高的所有员工信息 select sal from emp where ename="clark";-- 查询薪资为2450 select * from emp where sal>2450 也可以这样写 select * from emp where sal>(select sal from emp where ename="clark") 特点:含有多个select,先执行子查询再执行外查询,其中子查询可以独立运行,即:不相干子查询 (1)单

2021-08-29 15:16:16 349

原创 DQL:多表查询与自连接查询

1.多表查询 eg: 查询员工的编号,姓名,薪水,部门编号,部门名称,薪水等级信息(涉及dept表,emp表,salgrade表) select e.empno,e.ename,e.sal,d.deptno,d.dname,sg.* from emp e left join dept d on (e.deptno=d.deptno) join salgrade sg on(sal between losal and hisal) 2.自连接查询 查询员工的姓名,编号,上级编号,上级姓名(包括没有上级的

2021-08-29 11:27:45 137

原创 DQL:内连接查询与外连接查询

1.内连接查询:实际开发中往往需要针对两张甚至更多张数据表进行操作,而这多张表之间需要使用主键和外键关联在一起,然后使用连接查询来查询多张表中满足要求的数据记录。在SQL99中,连接查询需要使用join关键字实现。内连接查询的类型: cross natural using on (1)交叉连接(0CROSS JOIN):对两个或多个表进行笛卡尔积操作, 笛卡尔积不管是否匹配,都连接。没有实际意义,有理论意义。笛卡尔积便于理解连接查询的原理 select * from dept cross j

2021-08-29 10:31:02 511

原创 DQL:group by和having子句

练习一:统计各个部门的平均工资,且只显示2000以上的 方法一:使用group by select avg(sal),deptno,max(sal) from emp group by deptno having avg(sal)>2000 order by max(sal) desc; 方法二:使用where子句(不可取,错误的方法,因为where中不能使用多行函数) select deptno,avg(sal) ,count(1),max(sal) from emp where avg

2021-08-27 15:43:49 193

原创 DQL:单行函数与多行函数

1.单行函数:每一条记录输入值进行计算,并得到相应的计算结果,并返回给用户,即每条记录作为一个输入参数,经过函数计算得到每 条记录的计算结果。 常用的单行函数主要包括字符串函数、数值函数、日期与时间函数、流程函数以及其他函数。 (1)字符串函数(部分):lower(str) upper(str) substring(str,index1,index2) select ename,job,lower(ename),upper(ename),lower(job) from emp;-- 大小写转换

2021-08-27 14:28:01 453

原创 DQL:简单的select语句书写(含where子句)

省略了展示向表中插入数据的语句 create table DEPT(-- 部门表 DEPTNO INT(2) NOT NULL, -- 部门编号 DNAME VARCHAR(14),-- 部门名称 LOC VARCHAR(13)-- 部门地址 ); ALTER TABLE DEPT ADD CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO); CREATE TABLE EMP(-- 员工表 EMPNO INT(4) PRIMARY KEY,-- 编号 ENAME VARC

2021-08-26 17:06:38 132

原创 表的约束2与外键策略

首先,创建一张学生表和一张班级表,使它们通过班级编号产生关联(班级编号作为学生表的外码) 1.外键的两种创建方式 CREATE TABLE t_class( cno int(4) primary key auto_increment, -- 班级编号(主码) cname varchar(10) not null,-- 班级名称 room char(4) -- 教室 ); create table t_student( sno int(6) primary key auto_increment, sname

2021-08-26 16:22:31 122

原创 表的约束1

1.列级约束 create table student(-- 列级约束 sno int(6) primary key auto_increment, -- 主键 自增 name varchar(10) not null,-- 非空 sex char(1) default"男" check(sex="男"||sex="女"),-- 默认值 check约束 age int(2) check(age>18&&age<50), enterdate date, classname v

2021-08-26 15:09:23 83

原创 DML与DDL

首先,创建一张学生表student create table student( sno int(6),-- 学号 name varchar(10), sex char(1), age int(2), enterdate date, classname varchar(10), -- 课程名称 email varchar(16) ); desc student;-- 查看表的结构 show create table student; --查看建表语言 表结构如下: 1.DML(针对表中的记录,数据):i

2021-08-26 13:42:53 58

原创 MySQL常识

1.数据库系统由数据库(DB),数据库管理系统(DBMS),数据库应用程序(DBAS),数据库管理员(DBA),最终用户组成。其中DBMS是基础及核心,这里指的DBMS指的是MySQL. 2.MySQL使用SQL语言,属于关系型DBMS,具有跨平台,轻量级,低成本,开放源代码的特点。 3.MySQL的默认端口3306 4. ...

2021-08-26 10:13:19 150

原创 手写单链表代码部分解析

1.关于单链表 特点: 数据元素的存储对应的是不连续的存储空间。 每个结点是由数据域和指针域组成。 逻辑上相邻的节点物理上不必相邻。 缺点: 比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。 按照索引查找效率低下。 优点: 插入、删除灵活 有元素才会分配结点空间,不会有闲置的结点。 2. 单链表的源码解析 (1) ...

2021-08-19 23:30:15 109

原创 ArrayList手写源码部分解读

1.ArrayList的底层实现:长度可动态增长的数组,即顺序表 优点:按索引查询效率高 缺点:插入,删除效率低; 按内容查询效率低; 必须提前分配固定数量的空间,如果存储元素少,可能导致空闲浪费。 特点:在内存中分配连续的空间,只存储数据,不存储地址信息。位置就隐含着地址。 有序,不唯一 注意;ArrayList通过无参的构造方法创建对象时,jdk1.7初始长度为10;jdk1.8初始长度为0,在第一次添加元素时就需要进行扩容;当以后容量不足时,每次扩容50%;· **2.手写ArrayList源码:**

2021-08-19 20:35:49 140

原创 线程池:ThreadPoolExecutor

1.线程池ThreadPoolExecutor引入 思路:创建好多个线程,放入线程池中,使用时直接获取引用,不使用时放回池中。可以避免频繁创建销毁、实现重复利用 2.JDK1.5起,提供了内置线程池 3.线程池的好处: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创建) 提高线程的可管理性:避免线程无限制创建、从而销耗系统资源,降低系统稳定性,甚至内存溢出或者CPU耗尽 4.线程池的应用场合: 需要大量线程,并且完成任务的时间短 对性能要求苛刻 接受突发性的大

2021-08-15 20:48:24 94

原创 同步方法及Lock锁情况下的线程通信

涉及线程的同步和通信 假设仓库中只存放一件产品,如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止,如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。 使用 同步方法或Lock锁进行线程通信时,两者唯一不同的是商品类,其他的(消费者线程,生产者线程,测试类都是相同的) 1.同步方法下的商品类 package com.yue2.commu4; //同步方法下的线程通信 public class Product {

2021-08-15 20:03:08 109

原创 同步代码块情况下的线程通信

涉及线程的同步和通信 假设仓库中只存放一件产品,如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止,如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。 //商品类 public class Product { private String name;//名称 馒头 玉米饼 private String color;//颜色 白色 黄色 boolean flag = false;//默认没

2021-08-15 18:33:45 56

原创 线程同步

实现线程同步的三种方法:同步代码块,同步方法,Lock锁 首先以银行取款为例:张三与其妻子同时对一个银行账户进行取款操作,此过程涉及三个类即银行账户类Account,取款线程AccountRunnable 及测试类TestAccount 线程同步的三种方法只是AccountRunnable的不同,因此可将Account,TestAccount提出来 银行账户类 package com.yue.synch0; public class Account { private int balance=60

2021-08-15 16:21:53 138

原创 线程的定义和创建

线程的定义和创建有三种方式:继承Thread类,实现Runnable接口,实现Callable接口 第一种:继承Thread类 //创建一个乌龟类线程:方法一:继承Thread类 /*步骤: * 1.定义一个线程:public class TortoiseThread extends Thread { * public void run() {} }//重写run方法 *2.创建线程对象: Thread thread = new TortoiseThread

2021-08-15 15:15:29 65

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除