自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 问答 (2)
  • 收藏
  • 关注

原创 java面试题大全-基础部分,吐血推荐~

同步和异步有何异同,在什么情况下分别适用他们请举例说明 如果数据将在线程间共享,例如正在写的数据以后可能被另一个线程读到,或者正在读的数据的可能已经被另一个线程谢过了,那么这些数据就是共享数据,必须惊醒同步存取 当应用的程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率...

2021-03-02 10:14:44 235

原创 理解23种设计模式-目录-持续更新!!!

理解二十三种设计模式创建者模式工厂模式:简单工厂模式(不属于二十三种设计模式)[https://blog.csdn.net/zhhhhhh1213/article/details/112679567]二级目录三级目录

2021-01-15 18:35:31 136

原创 手撸Unsafe类。

最近看CompletableFuture类, 发现了 这个方法final boolean completeValue(T t) { //objectFieldOffset()方法获取偏移量 return UNSAFE.compareAndSwapObject(this, RESULT, null, (t == null) ? NIL : t);}一脸懵逼的我打开了 UNSAFE 类。研究了半天,总结出来了。

2022-01-05 11:06:17 217

原创 Mybatis报错:Invalid bound statement (not found): cn.kgc.author.service.mapper.C

今天突然来个错, 还忘了 ,弄了半天才想起来错误原因 绑定失败为什么失败target中没有,因为xml文件没有部署上去,所以pom依赖加一下 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

2021-05-20 22:13:17 247

原创 spring-data-elasticsearch操作ES7

可以写在实体类中,不要引入其他es的pom 容易出错 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>...

2021-05-19 19:21:32 503

原创 使用消息队列Kafka发送短信验证并通过短信验证代码及思路

1。Controller层用户请求发送验证码调用service层的方法,并直接返回true,其他的交给消息队列处理 @RequestMapping("/send_verify") @ResponseBody public Map<String, Object> sendVerify(String phone) { Map<String, Object> result = new HashMap<>(); Syste

2021-05-19 17:15:01 1352 2

原创 对象实例与对象引用有何不同?详解

没有“对象的实例”这一说法,只有类的实例,而类的实例,只的就是类的对象,简称 对象。而对象引用,则是指该类实例化之后,在内存的地址(用变量名表示)对象引用指向对象实例(对象引用存放在栈内存中)。一个对象引用可以指向0个或1个对象;一个对象可以有n个引用指向它假设我们new一个对象Person person = new Person();对象的引用意思是“定义一个变量,这个变量指向的是一个对象“。这时我们的person就是一个对象的引用,它指向的是一个对象(也就是类的实例,标题中所谓的对象实例

2021-04-21 11:43:24 2530 1

原创 java中异常子类可以捕捉到他的父类的异常吗

肯定是不能捕捉的。但是看下面这个例子class Annoyance extends Exception {}class Sneeze extends Annoyance {}class Human { public static void main(String[] args) throws Exception { try { try { throw new Sneeze(); } catch ( Annoyance a ) { System.out.prin

2021-04-21 10:33:32 855

原创 启动报错Cannot execute request on any known server 解决

添加配置类//开启web安全认证@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); //禁用csrf检测 super.configure

2021-04-20 17:04:36 282

原创 jquery全选按钮事件详解-freemarker

//全选按钮开关 function chickAll(obj){ //obj=this var bool=$(obj).is(":checked"); //获取全选按钮的状态 true或false $("#cart_td").find("input").prop("checked", bool); //td下找到input复选框 设置成 全选按钮的状态 } //多选按钮 //boolean类型使用prop,attr无效 function chick(o.

2021-04-01 10:59:30 241

原创 Mybatis报错:Circular view path [del_cart]: would dispatch back to the current handler URL [/del_cart]

@ResponseBody 没写

2021-03-31 19:18:07 85

原创 Mybatis报错: Error evaluating expression ‘categoryId‘. Return value (1) was not iterable.

解决:resultMap 没绑定id加上id解决

2021-03-30 19:56:15 1115

原创 分享今天面试碰到的真实的公司面试笔试题

class Super{ public Integer getLenght(){return new Integer(4);} public class Sub extends Super{ public Long getLenght(){ return new Long(5); } public void main(String[] args) { Super aSuper = new Super(); Sub sub = new Sub(); System.o

2021-03-19 17:21:10 570

原创 字符串截取substring方法

今天截取字符串截取多一个,研究了一下我们吧电话号为字符串开始截取错误示范 String tel ="159-4322-1515"; int index = tel.indexOf("-"); //3 int lastIndex = tel.lastIndexOf("-"); //8 String s = tel.substring(0, index); //159 String s1 = tel.substring(index

2021-03-09 21:37:54 3957

原创 pom文件project报红,聚合项目

今天写聚合项目由于马虎, 发现pom文件project报红,找来找去 发现xml的引入父级pom文件时出错了修改前 <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.3</version>修改后 <parent> <groupI

2021-03-05 17:23:54 1225

原创 layui如何取消关闭按钮,只保留确定和取消

** 添加closeBtn :0,即可** layer.open({ type: 1, title: "修改文章", area: ['1000px', '470px'], btnAlign: 'c', closeBtn :0, //这里!!!! btn: ['保存', '取消'], yes: function (index, layero

2021-03-05 17:00:17 1334

原创 layui怎么设置select默认选中,修改回显

后端取出的值 <div class="layui-form-item" style="position: relative;z-index: 10;"> <label class="layui-form-label">文章分类</label> <div class="layui-input-block" lay-filter="selFilter"> <selec

2021-03-05 16:10:23 6274 1

原创 springboot-layui实现点击上传图片,上传到nginx

前端页面javaScript代码区域 //JavaScript代码区域 //页码渲染用于分页可以忽略掉 layui.use(['element', 'form', 'laypage', 'layer', 'upload'], function () { var element = layui.element, laypage = layui.laypage, form = layui.form, la

2021-03-04 22:37:51 220 1

原创 如何将部署静态资源到nginx上,超详细解决

首先是下载nginx1、下载nginx源,centos仓库不提供nginx包:wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2、安装nginx源:rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm3、安装nginx:yum install nginx4、启动nginx:systemctl sta

2021-03-04 22:09:24 2427 1

原创 springboot使用wangEditor富文本编辑器将页面提交的图片上传到nginx服务器,如何将图片上传到nginx?富文本编辑器上传图片后如何回显?

提前连接好nginx引入nginx静态资源wangEditor页面加入配置接口 //编辑器 var E = window.wangEditor; var editor = new E('#editor-layer'); //在需要的div里创建编辑器 //开启debug模式 editor.customConfig.debug = true; // 关闭粘贴内容中的样式 editor.customConfig.pasteFilterStyle = fa

2021-03-04 19:44:33 476 1

原创 盘点一下mybatis最基础必会的的东西,不知道其中一个都白学了

配置文件<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency>

2021-03-03 20:48:57 89 2

原创 回顾java基础-jdk,jre,jvm基本概念

JDKjdk(Java Devlopemt Kit):java开发工具包,java的核心,提供了一堆java开发工具(java api)及java运行环境和java基础类库,主要用于开发环境JREjre(Java Runtime Environment):java运行环境,不包含任何的开发工具(编译器,调试器)JVMjvm(Java Virtual Machine):java虚拟机,java运行时的环境,是一种虚拟机的环境,主要用于解释class文件梳理关系jdk包含jre :jdk是用于开

2021-03-01 21:50:57 145 1

原创 Could not resolve placeholder ‘rest.article.url‘ in value “${rest.article.url}“ 主方法报错:解决

springboot项目服务器启动报错org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleController': Unsatisfied dependency expressed through field 'articleService'; nested exception is org.springframework.beans.factory

2021-02-23 18:25:08 1992 1

原创 理解23种设计模式-创建模式-外观模式

外观模式介绍外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。优点迪米特法则的典型降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易。降低了大型软件系统中的编译依赖性,简化了系统在不同平台之间的移植过程

2021-02-20 10:35:28 108

原创 理解23种设计模式-创建模式-装饰模式

装饰模式介绍指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。如果使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在保持真实对象的类结构不变的前提下,为其提供额外的功能,这就是装饰模式的目标。下面来分析其基本结构和实现方法。优点装饰器是继承的有力补充,比继承灵活,在不改变原有对象的情况下,动态的给一个对象扩展功能,

2021-02-19 11:44:11 108

原创 理解23种设计模式-创建模式-桥接模式

桥接模式介绍桥接模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。优点抽象与实现分离,扩展能力强符合开闭原则符合合成复用原则缺点由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度适配器模式的实现结构抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。扩展抽象化(Refined Abstraction

2021-02-06 21:06:16 93 1

原创 理解23种设计模式-创建模式-适配器模式

单例模式介绍适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。优点1.客户端通过适配器可以透明地调用目标接口。2.复用了现存的类,程序员不需要修改原有代码而重用现有的适

2021-01-19 22:07:17 131

原创 理解23种设计模式-创建模式-代理模式

介绍一下代理模式代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。优点1.代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;2.代理对象可以扩展目标对象的功能;3.代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度,增加了程序的可扩展性缺点1.代理模式会造成系统设计中类的数量增加2.在客户端和目标对象之间增加一个代理对象,会造成请求处理速度变慢;单例模式的实现有静态代理

2021-01-18 23:14:59 69

原创 理解23种设计模式-创建模式-单例模式

单例模式介绍指一个类只有一个实例,且该类能自行创建这个实例的一种模式.。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。单例模式在现实生活中的应用也非常广泛,例如公司 CEO、部门经理等都属于单例模型。J2EE 标准中的 ServletContext 和 ServletContextConfig、Spring 框架应用中的 ApplicationContext、数据库中的连接池等也都是单例模式。单例模式有

2021-01-18 11:29:24 89 3

原创 理解23种设计模式-创建模式-建造者模式

首先介绍一下建造者模式指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。相当于你买配台式机箱,需要各种零件,这些零件需要你自己去购买,购买成功以后,把这些零件交给专业的人员来帮你组装,这个机箱就是产品,这个产品也是很复杂的优点1.封装性好,构建和表示分离。2.扩展性好,各个具体的建造者相互独立,有利于系统的

2021-01-18 10:17:38 171 2

原创 理解23种设计模式-创建模式-原型模式

首先介绍一下原型模式用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。优点Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。缺点1.需要为每一个类都配置一个 clone 方法2.clone 方法位于类的内部,当对已有类进行改造的时候,需要修改代码,违背了开闭原则。3.当实现深克隆时,需要编写较为复杂的代码,而且当对象之间存在

2021-01-17 17:22:20 69 2

原创 理解23种设计模式-创建模式-抽象工厂模式详解

上一章讲了工厂方法模式,工厂发发模式是简单工厂模式的升级版,升级了什么呢,它把工厂也抽象化,满足了开闭原则,简单讲解一下开闭原则开闭原则: 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。因为抽象化了工厂,所以增加产品只需要新增一个工厂即可很显然工厂方法模式只考虑共同等级的产品,也就是说工厂只能产出同一个接口的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如农场里既养动物又种植物,电器厂既生产电视机又生产洗衣机或空

2021-01-15 19:48:32 69

原创 理解23种设计模式-创建模式-工厂方法模式

介绍一下工厂方法模式:介绍工厂方法模式是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。简单来说,就是简单工厂模式只抽象化了产品,并没有抽象化工厂,所以工厂方法模式抽象化了工厂,可以在新增产品的时候,不需要修改工厂类的代码的情况下,只需要新增一个工厂实体类就可以优点1.用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程。2.灵活性增强,对于新产品的创建,只需多写一个相应的工厂类。3.典型的解耦框架。高层模块只需要知

2021-01-15 19:20:58 83

转载 理解二十三种设计模式-创建者模式

创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。创建型模式分为以下几种。单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例

2021-01-15 18:40:58 64

原创 理解23种设计模式-创建模式-工厂模式-简单工厂模式详解

首先介绍一下工厂模式定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。简单工厂模式也叫作静态工厂方法模式工厂模式有 3 种不同的实现方式,分别是简单工厂模式、工厂方法模式和抽象工厂模式。在介绍一下简单工厂模式:简单工厂模式字面理解就是最简单的工厂模式它不属于二十三种设

2021-01-15 18:25:47 108

原创 解决高并发-springboot-redis-mysql医院预约系统项目全部代码

自己写的,做一个小总结 也不知道有没有人会看完,把所有代码发出来 有任何问题评论联系这里写目录标题entity包实体类(节约空间getset省略)mapper层(接口省略)dao层实体类省略Service层接口省略controller四级目录entity包实体类(节约空间getset省略)booking挂号实体类public class Booking { private Integer bookingId; private Patient patient; private

2021-01-10 17:30:34 672 3

原创 解决高并发-springboot-redis-mysql医院预约系统项目超详细讲解--半个小时教你如何使用springboot完成预约项目-----第八章:拦截器

interceptro层新建LoginInterceptor实现HandlerInterceptor接口,重写preHandlepreHandle方法前置处理,代码运行前处理public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Obj

2021-01-10 17:15:32 284

原创 解决高并发-springboot-redis-mysql医院预约系统项目超详细讲解--半个小时教你如何使用springboot完成预约项目-----第七章:删除预约

之前我们写过三个set方法,删除也需要删除三个del方法,不然会导致数据不一致set为了去重,hash为了方便查看预约,list为了算方便算长度(预约数)dao层RedisDao 新增三个方法 @Override public Integer hashDel(String key, String hkey) { return redisTemplate.opsForHash().delete(key, hkey).intValue(); } @Ove

2021-01-08 19:58:59 230

原创 解决高并发-springboot-redis-mysql医院预约系统项目超详细讲解--半个小时教你如何使用springboot完成预约项目-----第六章:查看我的预约,预约界面显示

之前说过把患者预约的的时间当作字段,医生当作字段的值放入hash(患者表中)现在我们取出来dao层RedisDaoImpl @Override public Map<Object, Object> hashGetAll(String key) { return redisTemplate.opsForHash().entries(key); }service层BookingServiceImpl新增一个方法由于顺序是按添加顺序,我们需要给l

2021-01-08 17:11:48 434

原创 解决高并发-springboot-redis-mysql医院预约系统项目超详细讲解--半个小时教你如何使用springboot完成预约项目-----第五章:更换日期查看剩余预约数

更换日期只会更换预约数,不会更换医生信息,所以需要使用ajax局部刷新 解决高并发,取出医生信息从缓冲区里取,不要从数据库取 页面id需要显示的时候就把id拼接成字符串,传到页面,在ajax的时候把字符串卸载地址栏上 更换日期只需要通过页面获取id,通过id和日期查看redis里的医生list长度,在算出预约数 在使用ajax修改valuemapper一个方法通过id查询医生信息doctormmaper 新加一个方法 <select id="selectDoctorByI.

2021-01-08 15:47:22 515

空空如也

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

TA关注的人

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