自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 Android:简单实现外卖购物车思路分享

思路要实现以下两个重要模块:1.在中间大部分处展示所有食物的列表(需要一个RecyclerView)2.需要一个购物车按钮,点击后从底部弹出购物车,显示选择的餐品列表,和总金额(需要一个实现从底部出现窗口的BottomSheetDiaLog和一个展示已选餐品列表的RecyclerView)实现1.所有食物列表(1)select_food_layout.xml<?xml version="1.0" encoding="utf-8"?><androidx.cardview.wi

2021-05-03 20:04:27 1616 6

原创 数据库:SQL语句检查无误却还是报语法错误

你的表名、列名中包含了数据库规定的关键字,修改即可。MySQL关键字表

2021-03-16 17:45:19 1139

原创 postman:url,controller层检查无误,却一直404

启动类里有没有加如下的扫描路径注解?@ComponentScan("com.cops.demo.service")如果是的话,改成下面以把所有包都扫上:@ComponentScan({"com.cops.demo.service","com.*"})好家伙,我直接一天半栽这上面了,感谢csdn里一位好心人的博文解救我!...

2021-03-15 17:26:41 601

原创 Redis学习笔记:持久化 RDB与AOF

前言   Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,数据库状态也会消失,所以Redis提供了持久化的功能。   注意:如果同时开启了RDB和AOF,那么Redis会优先使用AOF来载入。RDB(Redis DataBase):默认的持久化方式RDB的持久化文件:dump.rdb   在flushdb, flushall, save,退出Redis时产生dump.rd

2020-10-08 21:34:19 138

原创 Redis学习笔记:支持的数据结构应用命令

StringMapListSetZSetGeospatialHyperloglogBitmaps

2020-10-06 15:34:40 72

原创 Java线程:sleep(),wait(),await(),park(),yield()异同总结

各方法介绍sleep()方法:

2020-08-16 19:11:16 894 3

原创 算法:二叉树相关题型总结

前言    这个博客会列出常见的有关二叉树的面试题目并给出算法思想。总体目录如下:DFS(深度优先遍历)    先序遍历    中序遍历         1.判断是否是二叉搜索树         2.根据二叉搜索

2020-07-29 23:54:12 400

原创 Java:compareTo()方法

首先compareTo()是String的比较方法,int类型不可用,直接用大于小于等于基本符号比较。如果有特殊需要,可以把int用String.valeOf(int num)转换成String类型,比如说leetcode的179题“最大数”。调用compareTo()一般可以分为以下的几种情况:s1.compareTo(s2):1.首字母不同,返回首字母的asc码差值,s1 - s2的值2.首字母相同就继续往下比较,如果比较到了一个不同的asc码值,比如s1 = “abc”,s2 = “abb”,

2020-07-06 22:03:23 3697

原创 软件复用:介绍与主要技术

定义软件复用是指在构造新的软件系统的过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使用的技术。 软件复用就是利用现有的软件成分构造出高质量、高效率的新的软件系统。软件复用不仅仅只是包括程序的复用,而且还包括每个活动所产生的制成品的复用。随着软件复用技术的快速发展,人们发现了软件资产的一些问题。为了能够有效地解决此类问题,必须将软件复用技术能够准确地、合理地运用到软件开发中,将软件复用技术的优势充分发挥出来,其实这也正是软件复用技术的难点所在。软件复用的必要性为了能够更好的解决软

2020-06-18 22:19:59 5158

原创 MIT抽象数据类型笔记

抽象数据类型可以帮助我们将数据结构的使用和数据结构的具体实现分开,它是java编程时重要的工具。抽象数据类型:**抽象数据类型(Abstract Data Type,ADT)**是计算机科学中具有类似行为的特定类别的数据结构的数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。抽象: 忽略底层的细节而在高层思考模块化:将系统分为一个模块,每个模块可以单独的进行设计、实现、测试、推倒,并且在剩下的开发中进行复用。封装:在模块的外部建立起一道“围墙”,使它只对自己内部的行为负责,并且系统

2020-06-18 21:49:25 193

原创 一个小项目:JavaFx实现50道加减法

前言太长时间没写博客了,其实这期间学了很多东西,但都是在记笔记没发过博客,这次借着学校的作业学了个新东西javaFx,比swing界面好看很多也方便很多,所以根据这个小项目准备写一篇博客,记录一下初学的javaFx,因为只学了四天,掌握的只是皮毛,所以如果有什么不妥的地方欢迎指正!项目介绍要求:java编写小程序,完成随机生成50道一百以内的不重复的加减法,可能需要输出混合运算。思路:首先要编写习题类,用于生成简单的两个数运算习题;再编写混合运算类继承习题类,用于生成混合的加减法运算习题;由于需要图

2020-06-05 11:48:41 1400 2

原创 TCP滑动窗口协议

概述   通过TCP协议连接的双方都具有两块缓存:发送缓存和接收缓存。   消息一旦由发送方产生,发送方就会将产生的数据放到发送缓存中,等发送的时候会从发送缓存中去取。等需要时消息会从发送方的用户空间传入内核空间借助网络传输介质完成传输。消息会发送到接收方的内核空间,接收方如果要想读取时需要将消息从内核空间拷贝到用户空间。接收方会将接...

2020-03-06 23:32:18 359

原创 传输控制协议TCP

一、概述概念:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP最主要的特点:(1)TCP是面向连接的运输层协议。(2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。(3)TCP提供的服务是可靠的。(4)TCP提供的是全双工的通信。(5)面向字节流。 &nbs...

2020-03-05 23:47:24 438

原创 Java:保证线程安全的加锁机制之ReentrantLock

前言   在保证线程安全的机制 同步阻塞 中,加锁方式除了synchronized还有一个不同于它的,需要手动加锁解锁的方式:ReentrantLock类的实现。一、Lock...

2020-02-22 23:23:59 447

原创 Java:保证线程安全的加锁机制之synchronized

前言   在解决线程安全的方法里,有一个方法是阻塞同步,这篇文章就来详细说其中的synchronized。一、synchronized关键字作用:提供了一种锁,能够保证共享变量的互斥访问,从而防止数据不一致问题的出现。用法:(1)加在方法声明中: public synchronized void method(){ //给调用该方...

2020-02-21 23:47:34 324

原创 Java:并发编程与线程安全

一、并发编程相关概念定义:并发编程指 为了提高程序的执行速度,在宏观上使得多个线程同时执行。三大特性:(1)原子性:指在一次或多次操作中,要么全部得到执行,要么全部不执行。原子操作不可被中断,所以不用加同步。(ReentrantLock,synchronized可以确保原子性,volatile不能。)(2)可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能...

2020-02-20 16:35:52 101

原创 Java:线程的一些重要方法

一、start()  生成线程对象后,需要调用start方法来使进程执行。但需要注意调用start()后线程只是立即处于Runnable状态,不一定直接运行,也可能正在排队等待cpu资源。  start()底层可以看做是调用了run()方法。首先start()从CPU中申请不同于当前线程的另一个线程空间来执行run()中的代码,也就是说当前线程和star...

2020-02-19 20:55:46 114

原创 Java:线程的基本认识与四种创建方法

前言代码之前必须明确概念,所以这里列出重要概念。首先,线程的定义:一个程序可以同时执行多个任务,每一个任务称为一个线程。   然后要明确一个知识点,也是容易混淆的知识点:线程与进程的具体区别。理解区别,以下重点记忆:1.最小单位:进程是资源分配的最小单位,线程是cpu调度的最小单位。2.地址空间:进程拥有独立的地址空间,线程共享地址空间。( 因为共享所以线...

2020-02-18 20:46:25 121

原创 Java:集合框架的简易整体总结

一、概述:1.什么是Collection?它是集合框架的底层,一般不使用。即:Collection是集合层次结构中的根接口,存储的是一组对象,一般不会使用它去操作集合。2.集合的三个特点:(1)是否允许有重复元素(2)是否元素有序【add的顺序和get的顺序是一样的】(3)是否允许存放null值3.Collection有很多子接口,而其中最重要最常用的就是List/Set/Queue三...

2020-01-14 22:42:12 88

原创 Python:递归与非递归实现斐波那契数列+汉诺塔实现

def fib1(n): #递归方法实现 assert n>= 0 if n <=1: return n else: return fib1(n-1)+fib1(n-2) def fib2(n): #非递归方法实现 pre1 = 1 pre2 = 1 print(1,end = ',') ...

2020-01-06 21:25:18 2695

原创 Java:HashMap的总结

HashMapHashMap综合了数组和链表的优点,是一个查询,插入删除都容易的数据结构。(1)创建步骤:①通过hash算法,找到与key对应的存储位置②访问该位置的value,与当前的value的比较,如果相等就返回,不相等找这个位置对应的链表中的值。(2)哈希冲突的解决:①链地址法:key一样的插入元素就链接到那个结点之后。(数组和链表的结合)②开放地址法:在插入一个元素的时候...

2019-11-23 13:21:53 193

原创 Python:函数

函数1.定义函数:def Function():2.函数文档:(1)和注释类似,但它被定义在函数的默认属性中,可以用Function.__doc__查看ps.默认属性是一种特殊的属性,以双双下横线开始也以双下横线结束。(2)用代码敲一下:有没有觉得调用默认属性__doc__的时候打印的特别乱,回车和缩进都用\n \t来表示了,但是help君就会把它打印的很好看:3.参数:(...

2019-10-27 21:59:58 161

原创 Python:变量

变量1.python与大多数计算机语言的做法稍有不同,他并不是把值存储在变量中,而更像是把名字贴在值的上边。有的程序员会说python没有变量,只有名字。2.直接输入变量的名字回车,会输出这个变量的内容(包含未转义的字符组,如\n等)3.python的数据类型:(1)Number:int , float , complex(复数)(2)String #python的字符串可以用’...

2019-10-27 21:51:57 118

原创 Python:序列

列表,元组,字符串被统称为序列~1.它们的共同点有:(1)都可以通过索引得到每一个元素(2)默认索引值总是从0开始(3)可以通过分片的方法得到一个范围内的元素的集合(4)有很多共同的操作符:重复操作符、 拼接操作符、成员关系操作符2.一些常见的内置方法:(1)list([iterable]):把一个可迭代对象转换为列表(iterable就是可迭代参数)这个方法也很容易实现:li...

2019-10-24 23:25:15 74

原创 Python:字符串

变量1.python与大多数计算机语言的做法稍有不同,他并不是把值存储在变量中,而更像是把名字贴在值的上边。有的程序员会说python没有变量,只有名字。2.直接输入变量的名字回车,会输出这个变量的内容(包含未转义的字符组,如\n等)3.python的数据类型:(1**)Number**:int , float , complex(复数)(2)String #python的字符串...

2019-10-23 17:38:37 102

原创 Java:递归

递归一、概述定义:递归是在函数的定义中使用函数自身的方法递归是一个通过提取重复逻辑来减少代码量的一个很好的方法,很多复杂问题可以通过递归可以轻松实现,这是因为这些问都可以被分解成逻辑相同的若干小问题,大而化之,控制好结束条件,问题就可以迎刃而解。递归的三要素:1)明确递归终止条件2)给出递归终止时的解决办法3)提取重复的逻辑,缩小问题的规模二、实例代码1.二分查找代码: ...

2019-10-16 14:32:52 95

原创 Python:列表,元组

1.创建三种列表的方式:1)普通列表:number = [1,2,3,4,5] , member = [‘sss’,‘www’,dssa’]2)混合列表:mix = [1,‘ss’ , 3.14 , [1,2,3]]3)空列表:empty = []2.向列表中添加元素:1)member.append(‘烤山药’) #一次只能添加一个元素2)member.extend([‘妈妈...

2019-10-14 10:37:19 179

原创 Java:数据结构-链表

1.单链表(1)带头结点单链表(2)不带头结点单链表(3)循环单链表(带头结点)2.双向链表(1)带头结点双向链表(2)不带头结点双向链表(3)循环双向链表(带头结点)

2019-10-13 17:16:14 168

原创 Python:简单语句

if else 选择语句: if guess == 8: #要加冒号,不用括号,依然是==赋值 print("你他妈真是我儿子。") #不用加大括号,Python使用缩进区分代码块 print("牛逼。")elif guess==7 or guess== 9: #多个条件分支用的是elif p...

2019-10-07 01:48:01 1160

原创 Python:入门小笔记

声明:纯属自己翻着回顾用,没有整理体系,碎片化的萌新知识点(巨萌新,大佬勿看,想看也行,帮忙指正就好哈哈哈哈)…~1.>>>提示符:含义是python已经准备好了,等待接收指令。3.#是python的注释符4.启动shell:idle5.计算直接输入算式即可,就算是156165156165165*1561515616185156156,python也能正确算对。6.\n...

2019-10-04 20:42:57 81

原创 JavaScript:基础类型,引用类型变量

基础类型1.基础类型包括String,Number,Boolean,undefined,null,symbol这六种类型。2.定义基础类型:let name = 'Chris';3.JS中不分整型和浮点型,也就是说int 和double统一归化成了number!4.JS是一个动态的语言,也就是说数据的类型定义之后也可以改变:let name = 'Chris'; name = 1;...

2019-10-03 19:34:41 196 1

原创 Java:多态的总结

多态的综述首先,我们要先清楚多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式,这个消息也就是方法的调用。多态是java的四大特性之一,它的实现原理(一般是指动多态)是地址覆盖,它遵循【当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定调用谁的成员方法(前提是这个方法是在父类中定义过的,也就是已经被子类重写过的方法...

2019-09-30 18:20:35 142

原创 Java:class9反射机制,class对象

一.反射机制程序再运行时候能够获得自身类的信息。只要有类名就能使用反射机制。java程序运行的过程:(1).java-----------javac编译,生成.class文件(字节码文件)---------运行时字节码文件转换为一个class对象。(2)反射机制可以获取到的信息:①属性(Fields) ②成员方法(Methods) ③构造方法(Constructor)二.Clas...

2019-09-27 17:55:39 252

原创 Java:class8 类加载,链接,初始化三大阶段

一、加载1.java文件被编译成class字节码文件,字节码文件被类加载器从磁盘加载到内存上。2.魔数标志着文件的类型3.系统提供的类加载器:①Boostrap ClassLoader:启动类加载器,主要加载jre/lib/re.jar,该目录下的所有jar包都是运行JVM时所必需的jar包。p.s.类加载器其实自身也是一个JAVA类,因此,自身类加载器需要被其他类加载器进行加载后方可使用...

2019-07-12 11:16:27 694

原创 Java:class7 异常处理,接口

异常处理一、异常分为ERROR(不可处理异常)和Exception(可处理异常):Throwable->ERROR,Exception而Exception分有编译期异常和运行期异常。1.运行期异常1).NullPointerException 空值异常2).ArithmeticException 除以0的异常3).InputMismatchException 输入的异常4...

2019-07-12 11:05:31 223

原创 Java:class6 继承

1.extends: 继承,避免了代码的重复。 //默认:继承Object其中Student是子类;People是父类或基类。2.若父类的属性方法定义成了private,子类虽然继承了,但却没有访问权限。3.super()用于调用父类的构造函数,让父亲去初始化。4.this与super:this.成员变量:this指向当前对象this.成员方法:this() 调用当前类中其他的无...

2019-07-12 11:03:59 116

原创 Java:class5 类的重载,final,static

一、函数的重载(同一个类中):条件:1.函数名相同2.参数列表不同(个数,类型)二、this():调用当前类中的构造方法注意:1.this()必须位于当前构造方法有效代码的第一行2. 构造方法不可以相互调用3.一个构造方法内不可以调用多个构造方法(与第一条冲突)二、static1.静态变量和实例变量的区别:1.实例变量和对象有关,一个对象(一次new)对应一份成员变量 thi...

2019-07-12 11:02:18 186

原创 Java:class4 类和对象

1.类:定义一个学生类,学生类主要由两部分组成 属性:(是什么) class People{ 姓名 String name; 年龄 int age; ...

2019-07-12 11:01:25 377

原创 Java:【快速排序优化】与线性时间选择结合

快排在最坏情况下复杂度会达到O(n^2),需要进行优化。:可以使每次的基准前后序列长度都大致相同,避免最坏情况的发生,所以需要使用一个线性级别的算法来找出序列的中位数:select线性时间选择算法。实现源码:package Keshe;import java.util.Arrays;public class Test { private static Comparable[]...

2019-07-03 00:12:22 354

原创 Java:class3 一维、二维数组

一维数组的定义,遍历,拷贝,扩容与缩容1.一维数组:是相同数据类型的集合,一块连续内存数组的定义:定义方式一:int []arr=new int[]{1,2,3};定义方式二:int []arr=new int[5]; //默认值:0定义方式三:int []arr={1,2,3}2.new:在堆上开辟内存...

2019-06-21 19:46:36 194

空空如也

空空如也

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

TA关注的人

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