自定义博客皮肤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.具有的特性:免费,开源,安全。二: 关于VMWare1.简介:虚拟机软件,使用VMWare就是使用软件来模拟一台真实的计算机。由于虚拟机安装在当前计算机中,所以虚

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

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

1.不相关子查询引入:查询薪资比"clark"高的所有员工信息select sal from emp where ename="clark";-- 查询薪资为2450select * 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 365

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

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

2021-08-29 11:27:45 144

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

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

2021-08-29 10:31:02 544

原创 DQL:group by和having子句

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

2021-08-27 15:43:49 202

原创 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 463

原创 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 145

原创 表的约束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 125

原创 表的约束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 91

原创 DML与DDL

首先,创建一张学生表studentcreate 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 63

原创 MySQL常识

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

2021-08-26 10:13:19 195

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

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

2021-08-19 23:30:15 113

原创 ArrayList手写源码部分解读

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

2021-08-19 20:35:49 154

原创 线程池:ThreadPoolExecutor

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

2021-08-15 20:48:24 104

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

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

2021-08-15 20:03:08 114

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

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

2021-08-15 18:33:45 58

原创 线程同步

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

2021-08-15 16:21:53 142

原创 线程的定义和创建

线程的定义和创建有三种方式:继承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 70

空空如也

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

TA关注的人

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