后端开发
文章平均质量分 72
Diamond778
这个作者很懒,什么都没留下…
展开
-
数据结构-天勤
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-08-17 09:42:24 · 584 阅读 · 0 评论 -
springboot+cas单点登录
一、 CAS介绍简介:CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。特点:1、开源的企业级单点登录解决方案。2、CAS Server 为需要独立部署的 Web 应用。3、CAS Client 支持非常多的客户端(这里指单点登录系统中转载 2021-08-17 09:40:27 · 3422 阅读 · 0 评论 -
公共Controller、Service、Dao、Entity封装及EasyCode代码生成模板
自己开发独立项目的时候,像对单表的增删改查是必不可少的,每个都去写未免过于重复,下面对controller、service、dao以及entity都会有的字段,例如修改人、修改时间、删除标识等进行抽取封装,结合EasyCode代码生成工具,达到对单表的增删改查的代码自动生成的效果。此外,对像全局异常处理、操作日志管理、统一返回值等进行实现和封装,并作为一个独立的项目common,再次创建创建新项目的时候,只需要将此common引入即可。下面将封装的公共部分罗列出来。git地址:1、公共实体类packag原创 2021-08-17 09:36:26 · 1049 阅读 · 0 评论 -
springboot+通用mapper使用
一、 什么是通用Mapper通用mapper 可以极大的方便开发人员进行ORM,提供极其方便的单表增删改查。什么是通用mapper,一句话简单说,它就是个辅助mybatis极简单表开发的组件。它不是为了替代mybatis,而是让mybatis的开发更方便。可以按照自己的需要选择通用方法,还能很方便的开发自己的通用方法。二、为什么要用通用Mapper?原来Mybatis的痛点1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改2、需要自己实现sql分页,select原创 2021-05-13 14:52:22 · 877 阅读 · 0 评论 -
商城项目-基础
一、项目简介二、分布式基础概念三、环境搭建1、准备linux操作系统的主机准备一台linux系统的主机,可以是云主机,也可以用虚拟机创建。2、安装配置docker及mysql、redis点击查看具体操作3、开发环境统一mavengit4、创建项目微服务1)从gitee初始化一个项目2)创建各个微服务项目商品服务(product)、仓储服务(ware)、订单服务(order)、优惠券服务(coupon)、用户服务(member)共同:group名:com.atguigu.guli原创 2021-01-27 07:59:53 · 173 阅读 · 0 评论 -
学习之旅-Docker
一、 简介docker官方文档docker镜像站为什么会有Docker的出现?一款产品从开发到上线,从操作系统到运行环境,再到应用配置。作为开发和运维之间的协作我们需要关心很多东西,特别是各种版本迭代之后,不同版本环境的兼容,对运维人员都是考验。环境安装如此麻烦,换一台机器就要重来一次,费时费力。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样的复制过来。开发人员利用Docker可以消除协作编码时”在我的机器上可以正常工作”的问题。Docker镜像的原创 2021-01-15 16:02:36 · 125 阅读 · 0 评论 -
java8 新特性
函数式接口java.util.function函数式接口都在这个包里,且都有@FunctionalInterface标注。java内置核心四大函数式接口Stream流是什么?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。“集合讲的是数据,流讲的是计算!”特点自己不会存储元素不会改变源对象,相反他们会返回一个持有结果的新的StreamStream操作是延迟执行的,这意味着他们会等到需要结果的时候才去执行。如何用源头->中间流水线->结果...原创 2021-01-14 15:52:00 · 81 阅读 · 0 评论 -
java juc 线程池
线程池的优势:线程池做的工作只要是控制运行的线程数量,处理过程中将任务放入队列,然后再线程创建后启动这些任务,如果线程数量超过最大数量,超过数量的线程排队等待,等其他线程执行完毕,再从队列中取出任务来执行。它的主要特点是:线程复用;控制最大并发数;管理线程。第一:降低资源消耗。通过重复利用已经创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的原创 2021-01-14 15:22:59 · 131 阅读 · 0 评论 -
java juc 读写锁(ReentrantReadWriteLock)
学习这个,首先了解下乐观锁和悲观锁的概念,这里参考了下面的博文https://blog.csdn.net/qq_34337272/article/details/81072874乐观锁与悲观锁乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,其实都是提供的乐观锁。在Java中原创 2021-01-14 09:56:02 · 256 阅读 · 0 评论 -
JUC强大辅助类
CountDownLatch(减少计数)例子题目: 现在教室里一共七个人,六位同学,一位班长,要求六位同学走之后班长才能锁门离开。写程序模拟:public class CountDownLatchDemo { public static void main(String[] args) { for(int i=1;i<=6;i++){ new Thread(()->{ System.out.println(Th原创 2021-01-14 08:34:51 · 164 阅读 · 0 评论 -
Java JUC
一、 volatile关键字作用:当多个线程操作共享数据时,可以保证内存中的数据是可见的。相较于synchronized是一种比较轻量级的同步策略。注意:1、volatile不具备“互斥性”2、valatile不能保证变量的“原子性”问题引入:看下面这段代码public class TestVolatile { public static void main(String[] args) { ThreadDemo td = new ThreadDemo();原创 2021-01-13 11:49:31 · 242 阅读 · 3 评论 -
java多线程进阶
理解synchronized的实现想理解这个东西,我们要做一些知识预备,先明确下面这些问题CAS问题全称compare and swap解决的问题:在无锁的状态下,保证线程一致性(线程安全)的去改共享数据。1、获取当前共享数据的值,放到E2、对共享数据进行计算结果,放到V3、重新获取当前共享数据的值N,与刚才的E比较;相等则将共享数据更新为V,否则继续步骤1ABA问题:过程中存在ABA问题,什么是ABA问题呢?就是其他线程修改数次最后值和原值E相同,也就是原来是A,中间被别人修改了数次,可原创 2021-01-11 11:35:41 · 202 阅读 · 1 评论 -
java多线程基础
基本概念:程序、进程、线程程序:为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程:是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有他自身的产生、存在、消亡的过程。即生命周期程序是静态的,进程是动态的线程:线程创建和使用线程的生命周期线程的同步线程的通信jdk5.0新增线程创建方式...原创 2021-01-08 15:22:40 · 142 阅读 · 0 评论 -
短信服务-企业用户
一、企业认证企业实名原创 2020-12-24 14:57:51 · 358 阅读 · 0 评论 -
Cookie、Session、Token、JWT
想清楚的知道这几个东西的区别与联系,首先要区分认证(Authentication)和授权(Authorization)。什么是认证(Authentication)通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)互联网中的认证:用户名密码登录邮箱发送登录链接手机号接收验证码只要你能收到邮箱/验证码,就默认你是账号的主人什么是授权(Authorization)用户授予第三方应用访问该原创 2020-12-11 10:19:44 · 85 阅读 · 0 评论 -
阿里云短信服务-个人账户测试短信服务
AccessKeyIdAccessKeySecretLTAI4Fz4BbkbkQUbP3ej2FHmBD2OeEtxhs7LTNwq6dcVBcVAqO3HGq原创 2020-12-10 11:57:45 · 4483 阅读 · 2 评论