- 博客(21)
- 收藏
- 关注
原创 MySQL查询总结
基本查询格式:select 查询列表from 表名 别名【连接方式】join 表2on 连接条件where 筛选条件group by 分组列表having 分组后筛选条件order by 排序列表 【desc/asc(默认升序)】limit 起始条目索引,条目数每一次执行都会生成一个虚拟表,然后对这个虚拟表进行操作执行顺序:①from:调用指定的表②join:与另一张表笛卡尔积③on:根据连接条件筛选④where:筛选⑤group by:根据字段名分组⑥having
2020-08-27 23:59:32
280
原创 算法题:为啥暴力遍历比技巧性的查找耗时短
今天做了牛客上剑指offer的第一道算法题:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。作为新手小白,首先想到的当然是直接遍历数组找到一样的就返回true。public class Solution { public boolean Find(int target, int [][] array) { boolean isexit
2020-08-25 23:39:42
352
原创 【MySQL】连接查询
感冒有点严重,最近又有考试要准备,学习状态有点差,只看了一点连接查询的内容。前面学习的都是对一张表中的内容进行查询,当我们查询的内容涉及到多张表时,就要用到连接查询了。首先,如果查询了多张表但是没有设置有效的连接条件,会导致多张表所有行实现完全连接,也就是笛卡尔乘积现象。最后显示的表的行数会是各表行数的乘积,包含了各表的全部内容。对于sql92和sql99,连接查询有所不同。在sql92中,连接查询只有等值连接、非等值连接和自连接,支持一部分外连接(用于oracle、sqlserver,mysql
2020-08-24 23:46:33
176
原创 MySQL数据库基本操作
早上起来发现感冒了,有点难受。今天开始学sql语言,感觉基础部分还是比较简单,就是要记的内容有点多。一、数据库的常见概念1、DB:数据库,存储数据的容器;2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB;3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言;二、DQL语言基础结构:select 查询列表 from 表名;查询列表可以是字段、常量、表达式、函数,也可以是多个;查询结果是一个虚拟表。
2020-08-22 23:54:19
132
原创 java基础学习终篇,jdk8的新特性
java基础学习的最后一天,学习了java8的新特性,主要是Lambda表达式、方法引用与Stream类。Lambda表达式与方法引用实在太简洁,虽然能看出是怎么简化的,但是要真正熟练还是要在以后多加使用吧。Stream类的API确实很强,但是每一行语句都有n个引用看得人真是头大,不自己用还是很迷,等以后用到再回来复习吧,这里把主要的内容记录一下。Lambda表达式Lambda 表达式:在Java 8 语言中引入的一种新的语法元素和操作符。这个操作符为 “->” , 该操作符被称为 Lambd
2020-08-21 23:42:13
211
原创 java学习日记22,反射
久闻反射之名,框架的核心之一,今天真正学习了一下,属实没怎么学懂,这里就简单的记录一下,后面再重新学习吧。反射首先知道了反射的强大能力:反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法,Reflection(反射)是被视为动态语言的关键。然后是反射的基础:Class类类的加载过程:程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾)。接着我们使用java.exe命令对某个字节码文件进行解释运行。相当于
2020-08-20 23:37:06
148
原创 java学习日记21,IO流
周二跑沙河开例会,晚上回来也在打王者,没怎么学习,就没记录了,今天继续坚持。File类file,文件,java.IO.File类:文件和文件目录路径的抽象表示形式。File类可以对文件、文件夹进行获取、新建、删除、重命名等操作,但是并不能操作文件内容本身。File类的对象可以作为参数传递给流的构造器。常用构造器File(String filePath)File(String parentPath,String childPath)File(File parentFile,String ch
2020-08-19 23:57:54
139
原创 java学习日记20,泛型
还没有学习反射的内容,所以只能记录一下泛型在集合上的应用。泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。Collection<E>,List<E>,ArrayList<E>这个<E>就是类型参数,即泛型。简单来说,就像是一个可变的类型变量,通过这个变量在使用类、
2020-08-17 23:52:12
93
原创 java学习日记19,集合之Map接口
Map接口与Collection存储单列数据不同,Map存储的是key-value形式的双列数据。其中,key值不可重复,value值可重复,也就是多个key可能有相同的value值,但一个key只有一个value值。Map接口框架如下:HashMap是Map接口的主要实现类,线程不安全,效率高。LinkedHashMap是HashMap的子类,与HashMap相比多了before和after两个属性,在遍历元素时,可以按照元素的添加顺序进行遍历,对频繁的遍历操作效率比HashMap更高。Tre
2020-08-17 00:46:10
162
原创 java学习日记18,集合之Collection接口
集合与数组集合、数组都是对多个数据进行存储操作的结构,简称Java容器。数组存储数据的不足:①数组一旦初始化,其长度就不可更改了;②数组提供的方法非常有限,不便于对数据进行增加、删除、插入等操作,效率较低;③数组只能确定其长度,对实际元素的个数的获取没有现成的方法或属性可用;④数组存储数据的特点:有序,可重复,无法满足无序、不可重复的数据的需求。为了弥补这些弊端,就有了集合。集合可分为Collection与Map两大类:Collection接口:单列数据,定义了存取一组对象的方法的集合,包
2020-08-16 00:01:02
89
原创 java学习日记17,比较器、枚举类
比较器Java比较器的使用背景Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的;但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现?使用两个接口中的任何一个:Comparable 或 Comparator自然排序:使用Comparable接口1.像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。2.像String、包装类重写com
2020-08-14 23:31:49
150
原创 java学习日记16,String类
在之前的学习中已经经常使用过String类,总觉得很特殊,既可以像基本数据类型一样直接赋值,又可以像类一样通过new的方式创建一个对象,今天就系统的学习一下String类。概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.通过字面
2020-08-13 23:46:32
210
原创 java学习日记15,线程的同步机制
线程安全例如,有一百张票要通过三个窗口卖出,由于CPU的执行权的分配是随机的,也就是三个窗口哪个窗口处于卖票执行流程是不确定的,假如一号窗口发现还有票,正要出票但还未出时,轮到了二号窗口执行,也要出票,就会发现两个窗口卖了同一个号码的票,也就是重票,或者还有一张票时,在一号窗口执行完正要出票时,轮到了二号三号窗口执行,就会发现卖出了已经不存在的票,也就是错票。当多个线程执行过程中存在共享数据,也就是多个线程会对同一个数据进行操作时,就产生了线程安全问题。这三个窗口就是三个线程,而这100张票就是共享数据
2020-08-12 20:56:03
100
原创 java学习日记14,多线程基础
程序、进程与线程程序:为完成特定任务,用某种语言编写的一组指令的集合。即指一段静态的代码。进程:程序的一次执行过程,或是正在运行的一个程序。进程作为资源分配的单位,系统在运行时会为每个进程分配不同的区域。线程:进程可进一步细化为线程,是每个程序内部的一条执行路径。线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器,线程切换的开销小。内存结构并行与并发并行:多个CPU共同执行多个任务,即:多个人做不同的事。并发:一个CPU(用时间片的方式)同时执行多个任务,即:多个人做同一件事,
2020-08-11 14:01:21
92
原创 java学习日记13,java语言基础小结
java基础基本数据类型(及其包装类)引用数据类型:数组(特别的类,同样继承了根父类object())类接口(特别的抽象类)可以感觉到,java语言基础就是由各种类及类的变形以及一些关键字组成的,作为一门面向对象的语言,掌握了类的使用就掌握了它的基础。面向对象的核心类的组成部分:属性,方法,构造器,代码块,内部类;类的三大特性:封装性,继承性,多态性关键字:public、private、protected、static、final、super、this、abstract、interfac
2020-08-10 00:27:14
78
原创 java学习日记12,抽象(abstract)与接口(interface)
abstractabstract关键字,只能修饰类与方法。抽象类1、顾名思义,抽象的,没有具体的实例,无法实例化。2、抽象类不能实例化也就意味着无法通过其对象调用其属性与方法,而必须通过其子类的对象进行调用。3、抽象类中可以有普通方法和抽象方法,也可以没有,但通常有抽象方法的类才会用abstract修饰。抽象方法1、抽象方法没有方法体,相当于只给定了这个方法的格式规范,包括权限,返回值类型,方法名,形参列表等。2、这也就意味着抽象方法无法直接调用,若一个抽象方法声明在一个非抽象类中,那么这个
2020-08-09 00:02:54
92
原创 java学习日记11,object类的常见方法与static关键字
object类object类是所有java类的根父类,如果在一个类的声明中未使用extends关键字指明其直接父类,则默认父类为java.lang.Object类。故object类中的方法具有通用性,常见方法有:equals() :判断是否相等(默认比较的是引用对象是否一致,可通过重写来比较对象的内容是否一致)toString() :返回该对象的字符串表示。getClass() :返回此 Object 的运行时类。hashCode() :返回该对象的哈希码值。clone() :创建并返回此对象
2020-08-07 23:57:57
789
原创 Java学习日记day10,继承与多态
继承:继承性的说明1.一个类可以被多个子类继承。(一个爹可以有多个儿子)2.Java中类的单继承性:一个类只能有一个父类。(一个儿子只能用一个爹)3.子父类是相对的概念。4.子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类。5.子类继承父类以后,就获取了直接父类以及所间接父类中声明的所有属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只是因为封装性的影响,使得子类不能直接调用父类的结构而已。继承的好处:① 减少了
2020-08-05 23:39:21
180
原创 java学习日记day03
变量的运算:自动类型提升与强制类型转换byte,short,char < int < long < float < double整数默认类型为int, 浮点型默认类型为doublestring类型运算后为string类型二进制(0b,0B),八进制(0),十六进制(0x,0X)底层数据存储均以二进制的补码形式存储二进制的第一位为符号位,0为正,1为负正数的原码,反码,补码均相同负数的补码为源码取反后加1算术运算符a++ 运算后加1++a 加1后运
2020-07-28 21:40:46
99
原创 java学习日记day02
熟悉的 ‘Hello,World!’ ,陌生的 void main。注释:单行注释: //多行注释: /* /文件注释: /* */ (‘生成网页,可通过javadoc执行’)
2020-07-28 13:36:58
67
原创 新人java学习日记day01
自学一个月Python基础后转向Java的第一天欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将
2020-07-27 14:14:47
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人