- 博客(63)
- 收藏
- 关注
原创 sql执行顺序
1、from <left_table><join_type>2、on <join_condition>3、<join_type> join <right_table>4、where <where_condition>5、group by <group_by_list>6、having <having_condition>7、select8、distinct <select_list>9
2021-01-15 08:52:33 86
原创 事务的一致性(包括ACID其他特性)
事务的ACID特性事务主要有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)下面我们分别来介绍着几种性质。原子性原子性是指事务中的一系列操作,要么全做,要么全部不做。隔离性一个事务的执行不被另一个事务的执行干扰。持续性持续性也称为永久性,指一个事务一旦提交,它对数据库中数据的改变是永久性的。一致性上面的三个特性都非常好理解,而“一致性”就相对难以理解了。我在很多教材、博客、知乎和一些论坛上看过对“一致性
2020-12-23 11:06:57 201
原创 可扩展性解释
“性能的可扩展性:一般的有横向可扩展和纵向可扩展两个方向:横向可扩展指允许通过增加服务器提高系统性能。纵向可扩展指允许通过增加服务器的内存或者CPU提高系统性能。良好的系统设计应该允许两个方向的性能可扩展性。...
2020-12-23 10:38:50 749
原创 元数据
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。一般是结构化数据(如存储在数据库里的数据,规定了字段的长度、类型等)。元数据是指从信息资源中抽取出来的用于说明其特征、内容的结构化的数据(如题名,版本、出版数据、相关说明,包括检索点等)
2020-12-23 09:23:34 102
原创 将关系模式转为3NF且保持函数依赖;将关系模式转为3NF且无损分解且保持函数依赖;将关系模式转为BCNF且保持函数依赖
步骤1.假如给出的依赖集F存在左右项均出现一项以上属性,那么先要将依赖集F转为最小函数依赖集(最小函数依赖集可看另一篇博客)2.在保证F是最小函数依赖集的前提下,将关系模式转为3NF且保持函数依赖:①按左部相同原则分组;②将具有包含关系的依赖集进行合并;③判断最后的依赖集是否包含候选键,不包含的话为3NF且保持函数依赖3.不包含的话为3NF且保持函数依赖,假如要转为3NF且无损分解且保持函数依赖,只要加上一个候选键即可(原先就有候选键的不用加,因为已经是3NF且无损分解且保持函数依赖)4.将关系模式
2020-12-08 21:14:50 1595 1
原创 最小函数依赖集的求解过程
流程①先拆右边,假如依赖集F中的右边项包含不止一个属性,那么将这些项都拆为单个项。例如A->BC,拆分为A->B和A->C②去除冗余依赖项,例如A->C和AB->C,那么就要去除AB->C这个冗余项③拆左边,假如依赖集F中的左边项包含不止一个属性,那么将这些项中的第一个属性先遮住,看剩下的属性能否推出结果,不行的话就换第二属性遮住,看剩余的属性能否推出结果,以此类推例题已知G={A->BC,CD->E,B->D,BE->F,EF->
2020-12-08 18:54:29 9835 11
原创 范式求解流程
流程①首先先求候选键(候选键中的属性都为主属性,不在候选键中的属性都为非主属性,主键是候选键中挑一个),候选键的简易求法:在依赖集中右边的属性全部删除,然后从依赖集第一项开始,一个个加入左边的属性,假如可以全部推出,那么它就是一个候选键②判断非主属性是否部分依赖(部份依赖即是有AB->C,B->C且AB为候选键;那么C就是部分依赖于候选键)于候选键,是的话不是2NF,否的话就是指完全依赖于候选键,最低是2NF③判断非主属性是否传递依赖(传递依赖即是有A->B,B->C且A为候选
2020-12-08 17:08:52 1383
原创 JAVA--网络编程
1.网络编程1.1 网络编程介绍小结:网络编程中有两个主要的问题如何准确定位到网络上的一台或者多台主机找到主机之后如何进行通信网络编程中的要素ip和端口号----通过ip类网络通信协议----通过udp和tcp类万物皆对象1.2 IPip地址:InetAddress1. 唯一定位一台网络上的计算机2. 127.0.0.1 : 本机localhost3. IP地址的分类 ipv4/ipv6 ipv4:127.0.0.1,4个字节组成,0-255 ipv6:1
2020-06-28 15:21:39 81
原创 JAVA--GUI--总结(贪吃蛇游戏)
贪吃蛇游戏note1.定义数据2.画到面板上3.监听事件:键盘,事件游戏启动类package snake;import javax.swing.*;//游戏的启动类public class StartDemo extends JFrame { public static void main(String[] args) { StartDemo startDemo = new StartDemo(); startDemo.setBounds(1.
2020-06-23 15:23:29 224
原创 JAVA--GUI--简介
1.简介Gui的核心技术: Swing,AWT为什么用的不多:1.因为界面不美观2.需要jre环境为什么要学习:1.可以写一些自己想要的小工具2.工作的时候可能要维护Swing界面(概率极小)3.可以通过这个了解MVC架构和监听2.AWT2.1Awt介绍1.包含了很多类和接口!GUI2.元素:窗口,按钮,文本框3.java.awt2.2组件和容器1. framepackage lesson01;import java.awt.*;//GUI的第一个界面publi
2020-06-16 21:13:48 365
原创 JAVA--对象--自定义异常
自定义一个异常类package com.guo.operator.exception;//自定义的异常类public class Demo04 extends Exception{ //继承Exception类 private int detail; //传递数字》10则抛出异常 public Demo04(int detail) { this.detail = detail; } //tostring:异常的打印信息 ..
2020-06-16 09:21:11 150
原创 JAVA--对象--异常
利用try监控,catch来捕获异常,假设要捕获多个异常,顺序必须从小到大package com.guo.operator.exception;public class Demo01 { public static void main(String[] args) { int a = 1; int b = 0; //假设要捕获多个异常:顺序得从小到大 try {//try监控区域 System.ou.
2020-06-15 21:09:52 119
原创 JAVA--对象--接口
=========================================首先定义TimeService和UserService两个接口package com.guo.operator.oo.Demo05;public interface TimeService { void time();}package com.guo.operator.oo.Demo05;//interface 定义的关键字 就是接口public interface UserService {.
2020-06-15 16:31:35 94
原创 JAVA--对象--抽象类
定义一个抽象类Action抽象方法只有名字,没有方法体,交给子类去完成package com.guo.operator.oo.Demo04;//abstract 抽象类:类 extends:单继承 (接口可以多继承)public abstract class Action { //约束 可以让子类来进行方法的实现 //abstract,抽象方法,只有方法名字,没有方法的实现! public abstract void doSomething();
2020-06-15 15:47:33 84
原创 JAVA--对象--static的使用
静态属性,非静态属性,静态方法,非静态方法的使用注意package com.guo.operator.oo.Demo03;//staticpublic class Student { public double score;//非静态的属性 public static int age;//静态的属性 多线程 public void run(){ Student s1 = new Student(); System.out.println(
2020-06-15 15:19:20 88
原创 JAVA--对象--多态(instanceof和类型转换)
首先分别创建父类Person,子类Student和Teacherpackage com.guo.operator.oo.Demo02;public class Person { public void run(){ System.out.println("run"); }}package com.guo.operator.oo.Demo02;public class Student extends Person{ public void go(){
2020-06-15 14:28:09 111
原创 JAVA--对象--多态
多态注意事项:1. 多态是方法的多态,属性没有多态2. 多态只存在与继承中,即父类和子类,或者有联系的(Object),如果没有就会出现类型转换异常!ClassCastError3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象 即Father f1 = new Son();有些方法不能被重写: 1. static方法,它是属于类的,不属于实例,类刚创立就存在了 2. final常量,无法修改 3, private方法,私有的也不能被重写=========.
2020-06-14 21:02:17 95
原创 JAVA--对象--继承(重写)
重写:需要有继承关系,子类重写父类的方法 1.方法名必须相同 2.参数列表必须相同 3.修饰符:范围可以扩大但不能缩小重写:子类的方法和父类必须要一致,但是方法体(里面的内容)不同为什么需要重写: 1.父类的功能,子类不一定需要,或者不一定满足 alt+insert :override=====================================================创建个父类B,子类A,静态创建方法say(),用Main()来输出他
2020-06-14 19:26:23 114
原创 JAVA--对象--继承(super)
super注意点: 1.super调用父类的构造方法,必须在子类构造方法的第一个 2.super必须只能出现在子类的方法或者构造方法中 3.super和this不能同时调用构造方法和this的区别: 代表的对象不同: this:本身调用者这个对象 super:代表父类对象的引用 前提: this:没有继承也可以使用 super:只能在继承条件下才可以使用 构造方法: this(
2020-06-14 17:02:15 103
原创 JAVA--对象--什么是继承
创建一个父类Personpackage oop.Demo02;//在java中,所有的类,都默认直接或间接继承Object//父类public class Person { //public //protected //default //private //private修饰的属性,子类无法调用 private int money = 10_0000_0000; public void say(){ System.out.
2020-06-14 16:08:49 91
原创 JAVA--对象--封装
创建Student这个封装类package oop.Demo01;//封装public class Student { //属性私有 //一般封装都是对属性而言,在属性前加private private String name; private int id; private char sex; private int age; //提供一些可以操作这个属性的方法 //提供一些public的get、set方法 //get
2020-06-14 15:08:26 73
原创 JAVA--对象--回顾3(静态和非静态)
创建student这个类,静态和非静态分别创建say()方法package com.guo.operator.oop;//学生类public class Student { public static void main(String[] args) { } //非静态方法, public void say(){ System.out.println("..."); } //静态方法// public static void s
2020-06-14 14:23:09 47
原创 JAVA--对象--回顾2
方法的定义package com.guo.operator.oop;//回顾方法定义//Demo01类public class Demo01 { //main方法 public static void main(String[] args) { } /* 修饰符 返回值类型 方法名(。。。){ //方法体 return 返回值; } */ //return 结束方法,返回一个结果 p
2020-06-14 14:08:13 66
原创 JAVA--对象--回顾1
1.类与对象类是一个模板:抽象,对象是一个具体的实例2.方法定义,调用3.对应的引用引用类型:基本类型(8种)byte short char int long float double boolean对象都是通过引用来操作的:栈----》堆4.属性:字段Field 成员变量默认初始化数字:0,0.0char:u0000boolean:false引用:null修饰符 属性类型 属性名 = 属性值5.对象的创建和使用- 必须使用new 关键字创造对象,构造器 Person pers
2020-06-10 20:56:22 72
原创 JAVA--对象--构造器
/* public static void main(String[] args) { Person person = new Person("ggggg"); System.out.println(person.name); } 构造器: 1.和类名相同 2.没有返回值 作用: 1.new本质就是在调用构造器 2.初始化对象的值 注意点: 1.定义有参构造
2020-06-10 20:25:46 77
原创 JAVA--对象--实例化对象
package com.guo.operator.oo;//学生类public class Student { //属性:字段 String name; int age; //方法 public void study(){ System.out.println(this.name+"在学习"); }}/*//类是抽象的,需要实例化 //类实例化后会返回一个自己的对象 //student对象就是一个
2020-06-10 20:18:27 115
原创 JAVA--Array--稀疏矩阵和原始矩阵的转换
package com.guo.operator.array;import com.sun.java.swing.plaf.windows.WindowsToolBarSeparatorUI;import java.util.Arrays;//稀疏矩阵public class ArrayDemo08 { public static void main(String[] args) { //1.创建一个二维数组11*11 0:没有棋子 1:黑棋 2:白棋
2020-06-10 16:13:57 127
原创 JAVA--Array--冒泡排序
package com.guo.operator.array;import java.util.Arrays;public class ArrayDemo07 { public static void main(String[] args) { int[] a = {1,32,42,3,5,2,65}; int[] b = sort(a); System.out.println(Arrays.toString(b)); } /
2020-06-10 16:06:54 75
原创 JAVA--Array--调用Arrays类
package com.guo.operator.array;import java.util.Arrays;//调用Arrays类public class ArrayDemo06 { public static void main(String[] args) { int[] a= {5,6,3,7,1}; //打印数组元素,Array.toString System.out.println(Arrays.toString(a));
2020-06-10 16:01:12 365
原创 JAVA--Array--多维数组
package com.guo.operator.array;public class ArrayDemo05 { //二维数组 public static void main(String[] args) { int[][] array = {{1,2},{2,3}}; for (int i = 0; i <array.length ; i++) { } System.out.print(array[0][1])
2020-06-10 15:59:31 95
原创 JAVA--Array--foreach循环
foreach循环一般是用来打印出数组的案例package com.guo.operator.array;public class ArrayDemo03 { public static void main(String[] args) { int[] array = {1,2,3,4,5}; //For-each循环(一般是用来打印输出一些结果) jdk1.5 没有下标// for (int i : array) {//
2020-06-10 15:57:02 437
原创 JAVA--Array--创建
1.首先声明数组,此时数组为空,在栈中2.创建数组,此时数组在堆中3.给数组赋值静态和动态创建数组package com.guo.operator.array;public class ArrayDemo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] num = {1,2,3}; System.out.println(num[0]); .
2020-06-09 16:05:15 178
原创 JAVA--method--加减乘除计算器
package com.guo.operator.method;import java.util.Scanner;public class Demo05 { public static void main(String[] args) { double x; double y; String caozuo; Scanner scanner = new Scanner(System.in); while (true
2020-06-09 15:09:40 138
原创 JAVA--method--递归
一般不用递归,避免大量运算时使用递归,容易造成栈满,内存溢出递归阶乘代码实例package com.guo.operator.method;//递归public class Demo04 { //阶乘 public static void main(String[] args) { System.out.println(f(5)); } public static int f(int n ){ if(n==1){
2020-06-09 15:08:56 82
原创 JAVA--method--可变参数
package com.guo.operator.method;import java.util.Scanner;//可变参数//1.一个方法只能有一个可变参数//2。它必须是方法的最后一个参数,任何普通的参数必须在它之前声明public class Demo03 { public static void main(String[] args) { //调用可变参数的方法 printMax(32,1,2,34,5); printMax(n
2020-06-09 15:07:14 215
原创 JAVA--method--方法重载
package com.guo.operator.method;public class Demo02 { public static void main(String[] args) { int t = max(10,10); //double t = max(10.0,20.0); System.out.println(t); } //方法重载,方法名都一样,只换了参数的类型 //方法重载规则:1.方法名称必须相同
2020-06-09 15:06:15 174
原创 JAVA--method--形参实参
package com.guo.operator.method;public class Demo01 { //MAIN方法 public static void main(String[] args) { //实际参数:实际调用传递给函数的参数 int add = add(1,2); //int add = add(1,3,4); System.out.println(add); } //加法 /
2020-06-09 15:00:01 102
原创 JAVA--struct--倒三角
package com.guo.operator.struct;public class TestDemo { public static void main(String[] args) { //打印倒三角形 for(int i = 1;i <= 5;i++){ for(int j = 5;j >= i;j--){ System.out.print(" "); }
2020-06-08 21:29:59 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人