- 博客(99)
- 资源 (2)
- 收藏
- 关注
原创 Java SE 的运算符和控制流语句:深入探索核心编程技巧
我们将按照运算符的类型和控制流语句的类型进行分类,并通过丰富的示例来帮助你更好地理解和应用这些核心概念。取模赋值运算符(%=): 将左侧的变量除以右侧的值取余,并将结果赋给左侧的变量。加法赋值运算符(+=): 将右侧的值与左侧的变量相加,并将结果赋给左侧的变量。减法赋值运算符(-=): 将右侧的值与左侧的变量相减,并将结果赋给左侧的变量。乘法赋值运算符(*=): 将右侧的值与左侧的变量相乘,并将结果赋给左侧的变量。除法赋值运算符(/=): 将左侧的变量除以右侧的值,并将结果赋给左侧的变量。
2023-05-20 11:28:48
1042
原创 Java SE 简介与环境设置:入门指南
Java是一种广泛应用于软件开发的编程语言。它具有简单易学、可移植性强、安全可靠等特点,因此在企业级应用、移动应用、云计算等领域得到了广泛的应用和认可。本篇博客将为你详细介绍Java SE(Standard Edition)的基本概念和特点,并提供具体的安装和配置Java开发环境的步骤。
2023-05-16 13:36:17
1000
原创 深入了解MySQL锁机制及应用场景
深入了解MySQL锁机制及应用场景锁的概述锁的分类锁的应用场景数据库事务管理多线程程序开发数据库的备份和恢复对于在线游戏等高并发应用场景锁的具体使用方法锁的应用实例总结锁的概述MySQL锁是操作MySQL数据库时常用的一种机制。MySQL锁可以保证多个用户在同时执行读写操作时,能够互相协同、避免数据出现不一致或者读写冲突等问题。本篇文章将详细介绍MySQL锁的基本知识和具体应用。MySQL锁是多用户数据库系统中的一种典型的并发控制机制,可让多个同时操作完成相应的操作。当多个用户同时访问同一系列表时,很
2023-03-26 12:11:23
2187
1
原创 ArrayList 和 LinkedList 到底有哪些区别?
接着调用 System 的 arraycopy 方法,这个方法是一个 navite 方法,说明这个方法不是由 Java 实现的,实现的效果是将数组A的复制到数组B,并且指定区间,这里是将要插入的 index 之后的数据(包括index指向的数据),全都往后移动一位。首先是插入,根据我们学过的数据结构的知识,我们知道数组中的元素是存储在一个连续的空间中的,而链表则不是。首先,是先判断插入的位置是否是尾端,如果是尾端,直接插入即可,因为是双链表,我们自然维护着最后一个节点的引用。
2022-11-09 23:17:24
2380
原创 初体验完全托管型图数据库 Amazon Neptune
嗨,大家好呀!最近我跟一个学摄影的高中朋友突然聊起天,发现摄影真的是一门我根本无法达到的艺术,我作为普通人,那只能说叫做拍照,哈哈。但给我更大的启发的是,这位朋友同时对星球星际也特别感兴趣,但正因为人类对宇宙的探索是十分有限的,我们即使通过高端的望远镜也只能领略到浩瀚宇宙的一角。有时候想到,宇宙中数十亿的星球聚集在一起,缩小到一定的比例,不就像一张由各个节点组成的网络吗?现实中我们的互联网、人体中的细胞、交际关系等,不都是这样吗?这个时候我就联想到,那如果我们做开发的时候,对于这种“关系网络”,应该如何更加
2022-06-22 16:53:34
7075
原创 回溯算法-组合
回溯算法实际上就是深度优先算法的一种。也就是说,当我们在使用一个深度优先算法(一般用递归)的时候,有时候操作完一个步骤需要回退到上一步,这就叫回溯。那么,既然回溯就是dfs的一种,我们前面也讲过dfs的步骤,最重要的一步就是一次操作。首先,这道题的是想要求组合。那么假设k=2时,是不是表示我们从数字中选取两次,记录所有的结果,那么其实所谓的一次操作其实就是选取一个数字,并且,我们知道组合【1,2】和组合【2,1】是一样的(...
2022-06-17 18:48:43
1118
原创 idea 中 application.yml 识别不出来导致不提示
问题描述:在使用 idea 的时候,随着模块越来越多,idea 会出现一个小bug,就是当模块越来越多时,我们新建一个模块后,会发现我们创建了一个新的 application.yml文件并没有变成一个小叶子的图标,导致智能提示提示不了,而且看着也不舒服。如下图:显示白色或者红色,而不是绿色小叶子。问题解决:1、选择file,打开project structure2、选择modules3、选择出问题的模块,右键,选择add,选择spring(即小叶子图标)4、这个时候该模块下面会出现sprin
2022-05-20 12:58:31
2758
原创 Docker 常见命令(随笔)
安装 dockerdocker 官网:https://www.docker.com/docker 仓库官网:https://hub.docker.com/安装具体操作:1、安装工具包:yum install -y yum-utils 如果不是root用户,就在前面加上sudo。2、配置阿里云仓库,可以用官方的,但是阿里云速度快yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker
2022-05-17 22:19:29
1182
原创 RabbitMQ 知识点总结
消息队列MQ 的相关概念什么是 MQMQ = Message Queue = 消息队列消息队列:存放内容是消息的 FIFO(先入先出) 队列。是一种跨进程的通信机制,用于上下游传递消息。为什么要用 MQ ?1、流量消峰举个例子,假如一个系统一秒最多可以处理一万次订单,这个处理能力在正常时段是绰绰有余的。但是在高峰的时候(例如双十一),一秒钟能达到两万次请求,这时候系统是处理不了这么多的,传统的方法是限制当请求超过一万之后不允许用户下单。而使用消息队列的话可以做为缓冲,把一秒内处理的订单分成一段
2022-05-13 14:14:32
2083
原创 Redis 6 知识点总结
什么是 NoSQL 数据库?技术发展技术的分类我们学习过很多的技术,但根据技术的功能可以分为以下几种:功能型技术:解决基础的功能,没有它们根本完成不了项目。例如 JavaSE,HTML 等。扩展型技术:没有这些技术依然可以开发项目,但有了它们可以简化开发流程。例如:Spring、MyBatis 等。性能型技术:没有这些技术依然可以开发项目,但为了提高项目的性能,不得不使用这些技术。例如:Redis、MQ 等。Web 开发分类Web 1.0 时代在早期,项目基本是这种架构,那时候上网的人不是
2022-05-10 21:53:05
652
原创 (随笔)Spring IOC
1.什么是Spring IOC?IOC 翻译成中文就是 控制反转,通俗的讲就是将创建对象和管理对象关系的工作由程序员转到Spring。2.目的是什么?降低类之间的耦合度。3.假如现在有一个UserSevice类和一个UserDao类,如果要在UserSevice类中调用UserDao的一个方法,怎么做?3.1.传统方式:在UserSevice类中new一个UserDao对象,然后调用其方法。3.2.工厂模式:设计一个工厂类,在工厂类中new一个对象并返回,UserSecieve只需要调用工厂
2022-04-30 17:42:42
1022
原创 synchronized
synchronized 关键字用法:修饰静态方法修饰实例方法修饰同步代码块(括号指定锁住的对象)作用:1、修饰静态方法时表示:锁住这个类所有实例的该方法2、修饰实例方法时表示:锁住这个实例的该方法3、修饰同步代码块表示:锁住这个实例/类。举个例子:上面几种情况:1、所有这个类的对象都不能访问这个方法2、这个类的当前对象不能访问这个方法3、所有这个类的对象/这个类的当前对象不能访问这个同步代码块...
2022-04-15 13:03:24
579
原创 数据结构与算法
思路分析:1、front:指向队列的第一个元素2、rear:指向队列的最后一个元素的后一个位置3、maxSize:队列的最大容量,可以在初始化时定义;如果没定义,可设置默认值。4、front 和 rear 的初始值为05、判空条件:(rear + 1)% maxSize == front6、判满条件:rear == front7、入队:判满、rear指针后移、赋值8、出队:判空、front指针后移9、获取队首元素:获取 front 指向的元素10、打印队列:从 front指向的元素到r
2022-02-21 17:57:41
1056
2
原创 SpringBoot/Git/Linux/EasyCode
SpringBootSpringBoot整合MyBatisSpringBoot整合Swagger-UI好看的Swagger UISpringBoot整合RedisSpringBoot整合SpringSecurity和JWT的1SpringBoot整合SpringSecurity和JWT的2Java实现JWT的Token认证机制SpringBoot整合SpringTask定时任务SpringBoot整合ElasticSearchSpringBoot整合MongodbSpringBoot整
2022-01-23 18:49:12
2464
原创 在idea中提交&拉取&克隆
1. idea中提交代码到远程仓库需要具备的条件:有一个自己GitHub/gitee的账号idea编译器本地项目1、创建自己的远程仓库( github 或者 gitee ),名字可以随意,但最好是自己的项目名称2、复制远程项目的地址,这里以https为例3、先在idea中打开自己的项目。4、创建本地仓库:打开idea,点击vcs,点击import into version control,点击create git repository。这时候会弹出来一个选择路径的地方,这是给你的项目选择
2022-01-23 18:38:15
2450
原创 Linux命令简版
1. Linux命令简版1.1. Linux简介Linux 是一套免费使用和自由传播的类 Unix 操作系统Linux大致可分为商业公司维护和社区组织维护两种发行版本商业公司维护的发行版本:以Red Hat为代表RHEL(Red Hat Enterprise Linux)(收费)、CentOS(免费)、Fedora Core(桌面版、免费)社区组织维护的发行版本:以Debian为代表Ubuntu等Linux的根目录是/,在它下面有很多目录,其中重点有:(其她目录最好不要随便修改它!!)
2022-01-23 17:46:49
776
原创 IDEA 中使用 EasyCode
1、先连接上数据库;2、接着输入数据库所在的主机,端口,用户名,密码,数据库名,点击测试连接,连接成功则点击应用,ok。3、连接成功的话会显示数据库的表和字段结构,如下:4、选中所有的表,右键,点击EasyCodeMybatisCodeHelper,点击generate code5、在弹出窗口中,配置好信息后,勾选需要生成的代码层,点击ok,即可看到代码已经生成了。...
2022-01-23 17:35:35
2052
原创 6_MySQL_子查询和查询语句书写/执行顺序
1. 子查询MySQL 的子查询比较多,但是一般我们很少会写很复杂的子查询,因为这样会使得 SQL 语句很复杂,因此这里只是简单举个例子:select * from 数据表名1 where 字段1 = (select 字段2 from 数据表名2 where 字段3 = xx);如上在 SQL 语句中嵌套 SQL 语句的情况叫子查询。2. 查询语句的书写与执行顺序前面我们学到查询语句可以通过不同的子句来筛选相应的数据,那么当它们出现在一个 SQL 语句中时,应该遵循什么书写顺序呢?应该遵循下面的
2022-01-21 23:12:13
2192
原创 5_MySQL_别名和多表连接查询
1. 设置别名别名是再查询时对数据表和字段取临时名字的操作,一般作用是为了方便显示时查看以及对比,并没有对数据表的字段名产生影响,只是临时作用结果而已。1、数据表取别名select * from 数据表名 [as] 表的别名 where .... ;2、字段取别名select 字段名1 [as] 别名1 , 字段名2 [as] 别名2 , ... from 数据表名 where ... ;2. 多表连接查询说到关联查询,首先要说表之间的关联关系,主要有三种:多对一、一对一、多对多,通过前
2022-01-21 22:51:18
2214
原创 4_MySQL_聚合函数和条件查询
1. 聚合函数我们在实际开发中,经常需要这样子的需求:给出某个字段中数据的最大值,最小值,平均值,累加值、记录条数等等。如果没有用聚合函数,我们只能通过查询所有数据,然后再通过 Java 代码来做运算,从而得到上面的值。但是这样做本身就是在做冗余操作。那么我们能否在数据库层面就计算出这些值呢?答案是可以的。我们发现这些值都有一个特征,就是把一个字段的所有数据“浓缩”成一个值,因此伴随着这些值被查询出来的字段也必须是一个值。也就是查询出来后只有一条记录。查询某个字段有多少记录select count(
2022-01-21 21:42:52
1600
原创 3_MySQL_增删改查
1. 简介我们在 MySQL 中最常见的操作就是“增删改查”了。那么,如何做好“增删改查”呢?2. 向数据表中插入数据使用insert语句,字段与值的位置要对应,也可以只提供部分字段。INSERT INTO 数据表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);3. 向数据表中更新数据使用update语句,可以通过 where 语句更新部分记录,也可以通过少写字段不全部更新所有字段。UPDATE 数据表名 SET 字段名1=值1[,字段名2 =值2,…] [WHE
2022-01-20 22:53:40
443
原创 2_MySQL_操作数据库和数据表
1. 操作数据库1、创建一个数据库:create database 数据库名;2、删除一个数据库:drop database 数据库名;3、展示已有的数据库show databases;4、使用某个数据库use 数据库名;5、查看当前正在使用的数据库select database();6、将数据库的字符集修改为 gbk / utf8alter database 数据库名 character set gbk;alter database 数据库名 character set
2022-01-20 22:38:30
391
原创 1_MySQL_数据类型
1. MySQL 的整数类型TINYINT、SMALUNT、MEDIUMINT、INT和 BIGINT数据类型字节数无符号数的取值范围有符号数的取值范围TINYINT10~255-128~127SMALLINT20~65535-32768~32768MEDIUMINT30~16777215-8388608~8388608INT40~4294967295-2147483648~ 2147483648BIGINT80~1844674
2022-01-20 17:19:31
410
原创 24_JavaSE_多线程
1. 多线程简介首先,什么是多线程呢?我先举个现实生活中的例子给大家理解一下。假如现在有一个工厂,一开始的时候我只雇佣了一个员工,那么这个工厂的工作只能由这个单一的员工来操作,那么这个员工就只能是一件一件事情依次的做,而不能同时做两件事情(毕竟人也做不到一心二意嘛);而如果我要实现该工厂同一时间有多件事情正在被做,那么我就需要多雇佣一些员工。因此,程序也是如此,单一流程,我们称为单线程;多个流程同时进行,我们称为多线程。那么按照这个标准,我们前面的章节讲到的内容就都属于单线程的范围了。线程和进程的区别?
2022-01-20 14:01:02
544
原创 23_JavaSE_泛型
1. 泛型方法例子:public static <E> void print(E e){}由上可知,泛型方法的作用是可以让参数的类型待定,根据调用者自己的意愿来传入(当然,必须是引用类型)2. 泛型类例子:public class Dog <T> { private T t; public T add(T t){ return t; } public void abb(T t){ return; }}3. 通配符java 中泛型标记符:
2022-01-20 03:36:31
610
原创 22_JavaSE_Iterator接口和Object类
1. Iterator 接口Iterator 一般我们称之为迭代器。它一般用于迭代 ArrayList 等集合。Iterator 中主要的方法有三个,分别是:boolean hasNext() 判断当前迭代器的下一个位置的值是否为空E next() 返回迭代器的下一个元素,并将迭代器移动到下一位void remove() 删除当前迭代器指向的值获取一个迭代器:(以 ArrayList 为例,其余集合类似)public class Test { public static void ma
2022-01-19 21:56:37
341
原创 21_JavaSE_HashSet类和HashMap类
1. 简介在这一节,我将 HashSet 和 HashMap 放在一起讲解。因为实际上 HashSet 和 HashMap 的实现原理是相似的,HashSet 底层是基于 HashMap 来实现的。2. HashSet首先来讲 HashSet 的特点:1、不能存储重复元素2、可以存储 null 值3、无序4、不是线程安全的HashSet 的初始化:HashSet<E> hashSet = new HashSet<E>();主要方法:add() 添加一个元素r
2022-01-19 15:59:16
497
原创 20_JavaSE_LinkedList类
1. LinkedList 的简介上一节我们说到 ArrayList ,这一节我们来讲 LinkedList ,LinkedList 同样是一种很常见的数据结构,但与 ArrayList 不同,LinkedList 内部是用链表实现的,因此它的存储空间是不连续的。因为 LinkedList 存储空间不连续,删除和增加元素只需要改变前后两个结点的指向即可,不需要像 ArrayList 那样由于存储空间的连续性,需要移动大量的元素;但同样的,由于 ArrayList 内部是用数组存储的,可以使用索引直接操作
2022-01-19 15:25:29
716
原创 19_JavaSE_ArrayList类
1. ArrayList 的简介我们前面学到了数组的概念,也知道像数组这种“元素的集合”的概念在程序开发中的重要性,但是我们发现数组有很多自身的弊端。其中,最明显地就是初始化数组时必须指定数组的长度。这个特点有时候很限制我们程序的拓展性能。那么,应该怎么解决呢?最完美的解决方法莫过于将其功能设计成一个类。我们知道,在 Java 中,万物皆可以被设计成类。曾经我们也因为基本数据类型的弊端,将其设计成对应的包装类,那么,我们也可以设计一个类,类的内部维护一个数组,对外提供增删改查等方法。这个思路看起来很不
2022-01-19 12:29:04
776
原创 18_JavaSE_接口和枚举类
1. 接口的定义接口:接口不是类,它是一个抽象类型,是抽象方法的集合,用 interface 声明。接口并不是类,但是有很多与类相同的特征。例如:一个接口中可以有若干个方法;接口文件保存在.java结尾的文件中,文件名为接口名;字节码文件仍保存在 .class文件中。同时接口也有不同于类的特征:1、接口不能被实例化,没有构造方法2、接口会隐式地用abstract修饰,因此不需要自行加abstract关键字。3、所有方法都公共隐式抽象(即隐式用public abstract修饰),因此不能有具体的
2022-01-17 18:47:26
531
原创 17_JavaSE_抽象类和封装
1. 抽象类抽象类:不能用于描绘对象的类(不能用于实例化对象)的类,除了不能实例化对象之外,与普通类的功能相似,有成员变量、成员方法和构造方法等。定义抽象类是用到了 abstract 关键字。public abstract class 抽象类类名{}抽象类的特征:1、抽象类不能被实例化。2、抽象类不一定包含抽象方法,但抽象方法所属的类必定是抽象类。3、抽象类中的抽象方法只负责声明,无方法体。4、构造方法、类方法不能声明为抽象方法。5、抽象类的子类必须给出抽象类的抽象方法的具体实现,
2022-01-17 17:24:37
606
原创 16_JavaSE_继承与多态
1. 继承继承是指子类继承父类的特征和行为,使得子类实例具有父类的实例域和方法,使得子类具有父类相同的行为。这样的定义看起来好像有点不好理解。没事,我们可以从一个例子入手去理解。想象一下,假设我们的业务中需要编写一个“猫”类,这个时候我们会给这个类提供一些属性和方法,例如:学名、品种、吃、叫 等等,这样子看起来非常合适,但如果我们的系统后面又需要添加另一个种动物,例如“狗”类,你会发现我们又同样需要编写类似的属性和方法(只是方法的实现过程可能不同而已),久而久之,你会发现,动物的种类实在是太多了,但是他
2022-01-17 16:43:05
457
原创 15_JavaSE_异常处理
当我们设计的代码符合语法但不符合逻辑(例如访问的数组元素时索引越界等)或外界原因导致代码发生无法预料的情况发生,我们把这种情况称为异常(Exception)。在 Java 中,Throwable 类有两个子类,一个是 Exception 类(定义的是我们上面所指的异常),一个是 Error类(指的是运行时环境发生的错误,例如:JVM 内存溢出等等)。在此基础上,Exception 类也有两个子类。一个是 IOException(输入输出异常),一个是 RuntimeException(运行时异常)。因此,
2022-01-07 22:01:02
612
Python基础入门50课程 学习资料
2023-07-02
项目源码+毕设论文+数据库脚本 基于ssm+spring+springmvc+mybatis的个人博客系统
2023-07-02
基于SSM的电商系统 Java Spring Mybatis Springmvc
2023-07-02
基于SSM的医院预约系统
2023-05-17
计算机课程作业/毕设 基于ssm的简单电商管理系统
2023-05-17
基于 ChatGPT 的企微聊天案例
2023-05-17
基于SSM的图书馆管理系统 含数据库
2023-05-17
使用HTML标记语言实现一颗跳动的爱心
2022-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人