- 博客(34)
- 收藏
- 关注
原创 如何自定义注解?
第一步:通过开发工具创建一个注解@AgeBetween。其中,@Target是元注解,就是用在注解上的注解。第三步:在需要限制的属性上加上注解。第二步:设置注解的判断方式。
2024-01-28 20:29:25 419
原创 项目中如何集成Swagger?
ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面。@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息。@ApiImplicitParams:用在请求的方法上,表示一组参数说明。@ApiOperation:用在请求的方法上,说明方法的用途、作用。@ApiModel:用于响应类上,表示一个返回响应数据的信息。@ApiResponses:用在请求的方法上,表示一组响应。@Api:用在请求的类上,表示对类的说明。
2024-01-28 20:28:51 430
原创 抽象工厂模式深度理解,以及举例说明
项目中某个接口是一个异步流程,合作方调用该接口,处理完任务之后,再将结果返回至合作方(回调时请求的地址不一样),当只有一家合作方时,不需要考虑任何问题,响应结果直接发送该合作方即可,但是当合作方数量逐渐增加到2、3、4等更多时,每次都使用if-else进行处理,就要修改代码,然后全部回归测试,增加工作量不说,还会引入bug。将回调的方法,改造成具体工厂,每次新增合作方,都是新增一个具体的工厂类,来处理个性化的操作。mybatis中的sqlSessionFactory使用了抽象工厂模式,
2024-01-28 20:28:11 595
原创 联表查询举例
2、右连接:右连接的关键字是right join,语法公式为select *from dave a right join bl b on a .id=b .id。1、左连接:左连接的结果集为left join左侧数据表中的数据,再加上left join左侧与右侧数据表之间匹配的数据。2、右连接:右连接的结果集为rightjoin右侧数据表中的数据,再加上rightjoin左侧与右侧数据表之间匹配的数据。2、右连接:右连接的基础表为right join右侧数据表。右连接和左连接有什么区别?
2024-01-28 20:27:36 370
原创 springboot整合redis入门教程
第一步:创建一下springboot项目第二步:导入如下依赖:test其中,前者是redis的依赖,后者是单元测试依赖第三步:添加配置。
2024-01-28 20:26:42 365
原创 递归算法和递归思维是什么?
A爬楼梯到顶楼,每走一层楼都是一个函数,然后重复调用这个函数,直到走完所有楼层到达顶楼,这就是循环,此时站在楼下的B不知道楼层有多高。我吃妈妈在张阿姨开的店里买的水果-此时使用在张阿姨店里来修饰买的动作,但是这个并不算是主谓宾的嵌套,完全不合理。如果A到达顶楼之后,继续下楼梯,再次调用函数,直到到达楼下,告诉B楼层有多高,此时就是递归。在语法中,存在主谓宾,然后宾语还可以嵌套主谓宾,并且是无限嵌套,这样的语句就存在递归的思维。面试中也经常会考察程序员的递归思维,通常使用冒泡排序等算法实操案例进行考察。
2024-01-28 20:25:48 555
原创 URI、URL和URN分别是什么
本来设想的的使用两种方法定位:1,URL,用地址定位;2,URN 用名称定位。举个例子:去村子找个具体的人(URI),某村多少号房子第几间房的主人就是URL, 如果用身份证号+名字 去找就是URN了。
2024-01-22 12:24:29 414
原创 RestFul详解
移动端能够显示其中一些字段,它们其实不需要一个资源的所有字段,给API消费者一个选择字段的能力,这会降低网络流量,提高API可用性。一些代理只支持POST 和 GET方法, 为了使用这些有限方法支持RESTful API,需要一种办法覆盖http原来的方法。使得API版本变得强制性,不要发布无版本的API,使用简单数字,避免小数点如2.5.GET /cars/711/drivers/4 返回 car 711的4号司机。GET /cars/711/drivers/ 返回 car 711的所有司机。
2024-01-22 11:38:35 798
原创 FeignClient注解的简单了解
feignclient注解就是springcloud中的注解,用于微服务之间的调用,其中name属性就是主要用来指定服务名。feign是netflix开源的rest客户端,作用是方便微服务之间进行RPC调用。springcloud中的feign,是对netflix中feign的增强与包装。
2024-01-22 11:35:46 421
原创 RabbitMQ自学笔记
就是系统一年停机的总时长,百度就是行业典范要做到到可用,就要在系统架构中的每一层做到适当冗余,保证宕机后,不影响继续交易。
2024-01-18 23:12:54 385
原创 深拷贝与浅拷贝的详细讲解
在中级、初级程序员面试时,通常会被问到深拷贝与浅拷贝,这很显然是基础中的基础,如果没有回答好,的确是会影响面试结果。一、什么是拷贝?基本数据类型、引用数据类型在赋值的时候,就是在拷贝。通俗理解就是“复制”,浅拷贝就是复制了一份地址值,深拷贝就是复制了一份内容。二、什么是拷贝的深与浅?基本数据类型在赋值时,因为赋值的是数据,所以没有深浅问题。引用数据类型在赋值时,赋值的是地址,所以存在深浅问题。三、什么是浅拷贝?只拷贝了地址,没有拷贝数据,也就是没有开辟新的内存空间。四、什么是深拷贝?既拷贝
2024-01-18 23:06:30 435 1
原创 多线程知识点梳理
线程池就是提前创建若干个线程,如果有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。由于创建和销毁线程都是消耗系统资源的,所以当你想要频繁的创建和销毁线程的时候就可以考虑使用线程池来提升系统的性能。做个类比:当你需要看一本书的时候,你会去书店买(创建线程),然后看完之后可能就扔了(销毁线程),这个过程太浪费资源(比如你买书的钱、地球森林资源等)。
2024-01-18 23:01:37 825 1
原创 React中的组件与模块
模块:不同的js文件可以理解为不同的模块组件:组成页面效果的所有资源的集合,例如将一个web页面划分成header、nemu、body三个div盒子,其中header的组成部分包含html、css等,这些都是模块,当然body也可以由不同的组件组成,例如title组件和help组件我认为,模块和组件有相同点,也有不同点,并不是绝对对立的两个概念。
2023-08-12 18:56:18 124 1
原创 用比喻法来彻底理解cookie、session、token的区别
因为http是无状态的,但是用户每次将商品加入购物车时,就不知道这个客户是谁,继而不知道将商品加入到谁的购物车中首先用通俗的语言来解释:一、cookie就类似于纸质笔记本,服务器就像老师,浏览器就像学生,每次学生请教老师问题,老师就告诉学生答案,学生自己将问题和答案记在自己的笔记本上。下次学生再请教老师问题的时候,也要带着自己的笔记本去,这样老师就知道这个学生之前问过哪些问题,以便更好地知道学生的掌握情况。当浏览器第一次请求服务器,服务器就是生成一个key=value的数据,放在http响应头的set
2021-10-02 17:52:25 211
原创 策略模式什么?实际开发中如何运用?
策略模式通常用来解决实际开发中if-else过多的场景,强调解耦合,而不是每次新增一个策略,就改动原有的代码,这样容易引入新的问题在我遇到的实际开发中,有一个场景比较适合使用策略模式:一个业务产品上线之后,需要接入很多合作方(调用者),每一个合作方的逻辑处理不太相同,所以需要使用if-else来做判断,由于这种写法不符合开闭原则,所以采用策略模式进行改造具体的编写流程:1、编写一个策略接口2、编写实际的策略类,实现策略接口3、编写控制器类,通过传参(策略类对象)决定访问哪一个策略4、编写测试类,
2021-10-02 15:29:54 279
原创 synchronized代码块括号中写什么?
1、synchronized锁住的是括号里的对象,而不是代码2、当synchronized锁住一个对象后,别的线程如果也想拿到这个对象的锁,就必须等待这个线程执行完成释放锁,才能再次给对象加锁,这样才达到线程同步的目的3、可以锁什么?3.1、this:也就是当前对象,由于多线程下,创建的某各类的对象在堆中不是同一个,所以锁失效3.2、类名.class:也就是某一类对象,例如Person类,那么当Person类被锁,只要是该类创建的所有对象,就都是互斥的4、使用代码讲解这两种方式的区别```pa
2021-09-19 10:27:12 2804 2
原创 windows环境如何杀掉Java进程?
一、方法步骤:1、cmd2、输入:jvisualvm3、查看Java进程的pid4、然后使用: taskkill /p 【pid号】/f 强制杀掉pid二、问题:1、什么是pid?PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是进程终止后PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。2、jvisualvm是什么?jvisualvm.exe是一个进程文件。在JDK
2021-05-31 11:53:43 5614
原创 建表时,修改数据库编码格式的语句,解决中文乱码
– 创建数据库CREATE DATABASE studentSystem;– 修改数据库编码格式为utf-8,解决中文乱码问题ALTER DATABASE studentSystem CHARACTER SET utf8;mysql数据库的默认编码方式是latin1
2021-05-29 18:08:50 239
原创 order by函数的用法
– 查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列SELECT c_id, AVG(s_score) FROM score GROUP BY c_id ORDER BY AVG(s_score) ASC , c_id DESC注意:可以使用逗号分隔,进行两个字段的排序...
2021-05-29 18:05:29 879
原创 mysql数据库:sum和count的区别?
sum:用于数值累加。类比记忆:summary(总和、总结)count:用于行数统计。含义:总数例如:按照姓名分组以后,判断姓名人数大于等于2这里的人数,就是人数统计,并没有要求进行求和计算SELECT s_name, COUNT(s_name) FROM student GROUP BY s_name HAVING COUNT(s_name) >= 2;...
2021-05-29 18:03:55 561
原创 存储金额:number类型和decimal类型有什么区别?
一、number类型和decimal类型有什么区别?decimal是number的子类型,功能是一样的,没有什么区别oracle中的decimal在底层还是number二、number类型,在mysql和oracle数据库中都有吗?两个数据库中都有deciaml类型三、两个数据库中都有number类型吗?number是oracle的数据类型,decimal是对应ANSI SQL标准的数据类型所以在oracle数据库中,通常使用number存储金额在mysql数据库中,通常使用decimal存
2021-05-29 17:59:35 6924
原创 截取字符串:mysql的函数subString,oracle的函数substr
对于date类型的数据,做substr之前,需要先to_char转化成字符串,再去截取例如(以oracle数据库为例):select * from 表 where substr(to_char(字段, ‘YYYY-MM-DD HH24:MI:SS’), 1, 10) between ‘2021-03-12’ and ‘2021-03-13’;其中,字段是datetime类型...
2021-05-29 17:55:26 521
原创 oracle数据库中有哪些时间类型?
1、date类型:用于存储“年月日时分秒”。在数据库中,固定存储为7个字节2、timestamp类型:除了保存“年月日时分秒”,还有小数秒,小数秒默认6位例如:timestamp(6),表示秒的小数点后面,可以存储6位数字3、区别:通常在数据库中使用11个字节存储timestamp类型,如果设置为7,则相当于date...
2021-05-29 17:48:47 4028
原创 sql.date和util.date,有什么区别?
1、util.date是sql.date的父类2、sql.date的时间格式,只有“年-月-日”部分,没有时间部分3、sql.date没有无参构造方法例如:System.out.println(new Date(System.currentTimeMillis()));//返回2021-05-254、sql.date可用于数据库,util.date其实也可以用于数据库,但是通常用语其他地方。但是通常使用util.date来生成入库的时间,比如使用无参构造方法,获取当前时间。表示当前时间,可以精确到毫
2021-05-29 17:41:48 4054
原创 mysql中的日期时间类型有哪些?
1、DATE类型:存储年月日2、TIME类型:存储时分秒3、DATETIME类型:存储YYYY-MM-DD HH:MM:SS4、TIMESTAMP类型:存储YYYYMMDDHHMMSS使用mysql数据库,常用的类型就是date和datetime5、datetime和timestamp有什么区别?5.1、相同点:都可以用来存储:年月日时分秒两者都可以精确到毫秒,比如:datetime(3)、timestamp(3),就是精确到三位毫秒值5.2、不同点:timestamp更适合跨时区的业务
2021-05-29 17:01:29 4458
原创 升序ASC,降序DESC怎么记住?
desc是descend 降序意思 ,de前缀表示向下。asc 是ascend 升序的意思,a前缀表示加强,scend词根表示爬。
2021-05-29 16:55:31 3033
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人