自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot项目系列-论坛系统05全局异常处理+日志处理+MD5加密

springboot项目系列-博客系统05全局异常处理+日志处理使用了spring的AOP配置日志logging: level: root: info com.cyw: debug file: log/blog-dev.log编写异常处理类package com.cyw.hander;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.annot

2020-12-27 00:22:21 153

原创 springboot项目系列-论坛系统04登录注册实现

springboot项目系列-博客系统04登录注册实现注册(使用AJAX,邮件任务,异步任务)首先跳转到注册页面,进行注册,跳转到后台,判断数据库里是否有该用户,如果有,注册失败,如果没有,注册成功,使用邮件任务给用户发邮件,因为此时用户注册字段里面有邮件输入,假如用户使用的是真实邮件,则可以收到,考虑到发邮件会有时间间隔导致用户体验不好,所以加了异步任务,多线程来实现,这样的好处就是,另外一个线程发邮件,完全不影响用户的体验,注册完即跳转…是不是很nice前台代码<!DOCTYPE html

2020-12-27 00:12:20 1123

原创 springboot项目系列-论坛系统03前台设计

博客系统03前台设计

2020-12-26 23:34:28 402

原创 springboot项目系列-论坛系统02数据库设计

博客系统02数据库设计数据表博客数据表:t_blog分类数据表:t_type用户数据表:t_user评论数据表:t_comment留言数据表:t_message相册数据表:t_picture表之间关系博客和分类是多对一的关系:一个博客对应一个分类,一个分类可以对应多个博客博客和用户是多对一的关系:一个博客对应一个用户,一个用户可以对应多个博客博客和评论是一对多的关系:一个博客可以对应多个评论,一个评论对应一个博客评论和回复是一对多的关系:一个评论可以对应多个回复,一个回复对应一

2020-12-26 16:26:55 1098 1

原创 在linux下下载rabbitmq

下面我们讲一下在linux下如何下载rabbitmq,因为我的项目用得到,所以搞一下喽.我用的是docker,来吧首先打开我们的云服务器输入docker images看看都有哪些镜像,如果没有rabbitmq就开始下载,如果有,那就不用下载了.首先输入docker pull rabbitmq:3-management开始下载下载完毕后使用docker’命令查看docker images看看我们的mq下载成功没1.使用docker images获取查看rabbitMQ镜像ID2.执行do

2020-12-25 01:43:37 846 1

原创 面试框架-Spring

1.什么是Spring2.Spring的优点3.Spring的应用场景4.Spring由哪些模块组成5.Spring中用到了哪些设计模式6.解释一下Spring context(核心容器)7.Spring中有哪些事件8.什么是Spring ioc容器,有什么作用9.Spring ioc的实现机制10.Spring ioc支持哪些功能11.BeanFactory和ApplicationContext有什么区别12.ApplicationContext的实现类13.什么是依赖注入,依赖注

2020-12-24 15:06:29 68

原创 项目中遇到的bug

1.查询当前用户的博客时,用户的id总是为null,因为数据库里面博客表里有用户的id作为外键,总是查不出来,最后发现resultMap里面没配置userId最后配置好就能查出了,然后在前端页面中用thymleaf的内置语句判断当前用户id等于查询出来的userId时才显示当前用户发布的博客。2.当我用redis➕shiro实现输错密码三次锁定一分钟,也就是禁止登录一分钟,首先定义两个变量,一个是当前登录的次数,一个是锁名,然后判断登录成功或者失败,输入一次就给登录次数加一,存到redis中,当这个次数大

2020-12-24 02:58:45 346

原创 springboot项目系列-论坛系统01介绍技术栈

Cyw博客+论坛系统前言:2020年经历了好多,失去一些东西的同时也获得了很多以前不曾拥有的…具体情感生活抛开不讲,IT界啥都不配,就配暴富!! !!!半年前接触ssm框架,弄得我死去活来,自己捣鼓了一个购车项目,不过电脑坏了就丢了,就再来个初恋项目吧…近来无聊,想做一个小型类似于csdn功能的博客新系统,说干就干,卡忙北鼻…大体介绍1.前端技术栈JS框架:JQuery,AJAXCSS框架:Semantic UI官网Markdown编辑器:编辑器 Markdown照片墙:lightbo

2020-12-23 22:35:41 2068 7

原创 Java全套面试

一、Java 基础JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以

2020-12-17 23:19:10 434

原创 token是什么

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。一、我们先解释一下他的含义:1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一

2020-12-14 16:52:42 440 1

原创 springboot实现异步任务_定时任务_邮件任务

异步、定时、邮件任务在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!那我们来看看吧~1、创建一个servic

2020-12-13 22:10:25 137

原创 HTTP协议解析(get,post方式)

HTTP 超文本传输协议(HTTP-Hypertext transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。客户端与服务端通信时传输的内容我们称之为报文。HTTP协议就是规定报文的格式。HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务

2020-12-08 18:31:11 1559 3

原创 mybatisplus-为偷懒而生

首先我们要说一下为什么要使用mybatisplus主要来说就是为了偷懒,哈哈,这个mybatisplus牛b的一b.吃水不忘挖井人,在此附上官网链接: mybatisplusmybatisplus特点:1.无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑2.损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作3.强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满

2020-12-07 01:39:16 482 1

原创 CAS--ABA问题,乐观锁与悲观锁

CAS的ABA问题,首先说一下乐观锁与悲观锁乐观锁:乐观锁乐观的认为,当自己执行一个操作的时候,不会线程会插进来修改自己操作的值,所以不采用加锁的机制,知识操作完之后如果发现产生冲突,则就会重新执行操作,循环执行,直到成功为止,CAS算法其实就是一个乐观锁的实现.悲观锁:悲观锁悲观的认为,当自己执行操作时,一定会有其他的线程来阻碍捣乱,修改自己的值,所以操作的时候就会加上一把锁,比如synchronized的机制就是悲观锁的实现.CAS(compareAndSet):比较并交换二、AtomicIn

2020-12-01 19:54:59 527 1

JVM原理与调优实战下载即用

在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。 初始堆值和最大堆内存内存越大,吞吐量就越高, 但是也要根据自己电脑(服务器)的实际内存来比较。 最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。 当然,服务器一定要是多线程的 设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。 默认的就是1:2 减少GC对老年代的回收。设置生代带垃圾对象最大年龄,进量不要有大量连续内存空间的java对象,因为会直接到老年代,内存不够就会执行GC 开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。

2023-02-27

JVM相关知识完整版下载吧

JVM全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM你是看不到的,它存在内存中。我们知道计算机的基本构成是:运算器、控制器、存储器、输入和输出设备,那这个JVM也是有这成套的元素,运算器是当然是交给硬件CPU还处理了,只是为了适应“一次编译,随处运行”的情况,需要做一个翻译动作,于是就用了JVM自己的命令集,这与汇编的命令集有点类似,每一种汇编命令集针对一个系列的CPU,比如8086系列的汇编也是可以用在8088上的,但是就不能跑在8051上,而JVM的命令集则是可以到处运行的,因为JVM做了翻译,根据不同的CPU,翻译成不同的机器语言。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在

2023-02-27

空空如也

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

TA关注的人

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