![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端
文章平均质量分 52
Java
starcpdk微信~
这个作者很懒,什么都没留下…
展开
-
Java异步任务编排
Async的是可以指定线程池,使用一个新的线程。不带Async的是使用串行前面那个线程继续执行。原创 2023-03-04 17:09:28 · 2052 阅读 · 1 评论 -
缓存原理的学习
在如今这个微服务分布式的大环境下,集群分布式部署 几乎 已经是我们每个人都熟知的了。缓存也一样,对我们来说 ,如果只是一个单体应用 , 那只要 有本地缓存就足以了,但是倘若分布式部署了很多台机器上,那我们该如何缓存呢,如果依然用本地缓存,那我们不同机器之间的缓存数据该如何同步呢。这样就需要我们的分布式缓存出场了。下面我将分别介绍 本地缓存 和 分布式缓存。原创 2022-12-31 18:25:16 · 601 阅读 · 0 评论 -
Java23种设计模式之第三弹-工厂模式
简单工厂也称为静态工厂。是一种创建型模式。在简单工厂中,可以根据传入参数的不同返回不同类的对象实例。简单工厂是一个专门的工厂类,用来创建不同其他类的实例对象。这些实例对象通常他们的父类是同一个抽象类或者接口。相当于加了一层。在一个工厂类中生产各种产品,对单一产品的修改又或者增加产品都可能会影响到之前创建其他产品的逻辑。所以我们要加一层将创建产品的过程移至子类生产,每个工厂子类对应一个产品的生产。产品的增加和删除不会影响到其他产品的产出单个产品逻辑修改只需要在对应的工厂类修改即可,不需要动其他的工厂。原创 2022-11-26 15:15:53 · 1880 阅读 · 0 评论 -
jdk8新特性
1.使用情景:当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用。2.方法引用本质上就是Lambda表达式,而我们的Lambda表达式作为函数式接口的实例。所以方法引用,也是函数式接口的实例。3.使用格式: 类(或者对象):: 方法名4.具体分为如下三种情况。对象::非静态方法。类::静态方法。类::非静态方法。5.方法引用使用要求:要求接口中的抽象方法的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型要相同。针对情况1、和情况2。原创 2022-11-08 14:40:07 · 459 阅读 · 0 评论 -
Java反射、注解、枚举
values(): 返回一个数组,即枚举类中的所有对象valueOf(String str) 找指定名的对象 , 如果提供的str,在枚举类对象中没有,则抛异常。toString() 默认返回枚举类对象名称。原创 2022-10-30 23:26:42 · 275 阅读 · 0 评论 -
JVM探究
什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。.原创 2022-08-07 17:07:37 · 137 阅读 · 0 评论 -
ZooKeeper深入探究
zookeeper是什么Zookeeper 是一个开源的分布式协调服务框架 ,主要用来解决分布式集群中应用系统的一致性问题和数据管理问题Zookeeper特点Zookeeper 本质上是一个分布式文件系统, 适合存放小文件,也可以理解为一个数据库Zookeeper是一个集群Zookeeper 中存储的其实是一个又一个 Znode, Znode 是 Zookeeper 中的节点Znode 是有路径的, 例如 /data/host1 , /data/host2 , 这个路径也可以理解为是Znod原创 2022-08-07 17:07:17 · 191 阅读 · 0 评论 -
多线程知识点总结之温故而知新
1、程序:一段编程语言指令的集合 组成的静态代码即为程序。2、进程:运行着的程序即为进程,进程是一个动态的概念。3、线程:是进程中的一条执行路径。通过上述我们一定了解到这三者的概念区别了吧~了解后我们就需要知道为什么要有多线程?多线程能用来做什么呢?多个线程并行执行,也就引出了我们的并行的概念~那与并行相关的我们不由得会想到并发~那么并发与并行有什么关系或区别呢?1、并行:多个CPU同时执行多个任务。是同一时刻的2、并发:一个CPU采用时间片的方式同时执行多个任务。是宏观上的同时。了解了并行原创 2022-08-07 17:04:38 · 296 阅读 · 0 评论 -
ElasticSearch浅谈
下载安装下载elasticsearch-7.6.1下载elasticsearch-head-master启动elasticsearch.bat启动可能会报错 , 报错需要在elasticsearch-7.6.1\config\elasticsearch.yml这个文件中配置xpack.ml.enabled: false然后在原创 2022-07-31 19:53:35 · 710 阅读 · 0 评论 -
Java23种设计模式之第二弹-策略模式
设计模式原创 2022-06-18 18:35:12 · 745 阅读 · 0 评论 -
Java的23种设计模式之第一弹-单例模式
Java的23种设计模式原创 2022-06-16 21:04:22 · 203 阅读 · 0 评论 -
mybatisPlus常用注解
@TableName(value = “正真得表名”)这个注解加到实体类上 , 用于指定他与那个表做映射@TabelId(type = “IdType.ASSIGN_ID”)这个注解是加在实体类中主键字段上的 , ASSIGN_ID就是雪花算法。@TableId这个注解是 标识一个字段为主键的注解 , 用于实体类中的主键字段上 , 在主键字段上添加这个注解 , mybatisplus就会将这个字段识别为主键 , 并且在执行sql时就会为这个主键采用自动生成策略生成主键值添加到数据库中@Tab原创 2022-01-23 18:18:10 · 5269 阅读 · 0 评论 -
parameterType的传参值的分析:
parameterType的传入参数方式可以是两种形式1.#{}传参: 传参数为单个参数时#{任意值} 传参数为多个参数时#{属性名}(大括号中必须是和实体类相一致的属性名) 自动为传入的参数添加引号: <select id="queryStudentBystuNameOrstuAge" parameterType="Student" resultMap="studentM......原创 2020-03-01 19:09:00 · 511 阅读 · 0 评论 -
MyBatis使用基础及对各文件中的属性标签的分析
1.环境准备:创建conf.xml文件和Mapper.xml文件 创建一个实体类与数据库中的表对应 创建Converter类继承BaseTypeHandler类分析conf.xml文件:1.设置别名:2.配置一个数据库信息文件db.properties 关联此文件 在conf.xml文件中的标签下设置这一行3.设置数据库环境:通过environments......原创 2020-02-29 10:53:48 · 256 阅读 · 0 评论 -
idea开发小技巧之数据库
配置database原创 2020-05-23 17:08:23 · 246 阅读 · 0 评论 -
idea编译器新建springMVC项目后项目无法启动
无法启动原因idea自动创建的springMVC包缺少部分jar包解决方法原创 2020-05-22 16:55:01 · 617 阅读 · 0 评论 -
springMVC配置过滤器put,delete请求转发失败
代码如下:web.xml文件 <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping>原创 2020-05-22 16:31:19 · 489 阅读 · 0 评论 -
修改本机localhost映射dns解析
去C:\Windows\System32\drivers\etc目录下找到hosts文件 , 进入修改最后一行添加127.0.0.1 空格 写自己的域名映射增加后进入cmd命令行窗口输入ipconfig /flushdns刷新dns解析此后就可以通过自己写的域名访问自己本机上的域名了...原创 2020-05-23 15:01:38 · 4840 阅读 · 0 评论 -
将项目映射到nginx中配置以80端口进行访问
在nginx安装目录中找到conf目录在该目录下的nginx.conf配置文件中进行以下配置upstream user.mall.starcpdk.com{ server 127.0.0.1:8080; } server { listen 80; server_name user.mall.starcpdk.com; location / { proxy_pass http://user.mall.st原创 2020-05-23 16:00:49 · 1568 阅读 · 0 评论 -
不带框架的java后端实现微信小程序登录(三层)
前端参考[PHP做后端实现微信小程序登录](https://blog.csdn.net/weixin_44735933/article/details/106453785)LoginServletimport com.starcpdk.entity.User;import com.starcpdk.service.LoginService;import com.starcpdk.service.impl.LoginServiceImpl;import net.sf.json.JSONObj.原创 2020-06-06 13:20:20 · 437 阅读 · 0 评论 -
宝塔面板部署java项目和php项目AND设置https协议
一.通过宝塔面板部署php项目软件商店搜索宝塔一键部署搜索think部署thinkphp5.0部署填写域名或者ip设置数据库点击提交部署后点击网站找到刚建立的站点点击设置在伪静态中设置为thinkphp进入站点根目录将其中三个文件替换为自己写的代码部署java项目到tomcat服务器的方法软件商店-》搜索java-》部署打开java-》点击添加...原创 2020-05-08 15:16:39 · 2136 阅读 · 0 评论 -
spring aop报错
解决方法在 <aop:config >这个标签中添加proxy-target-class="true"<aop:config proxy-target-class="true"> </aop:config>"C:\Program Files (x86)\Java\jdk1.8.0_144\bin\java.exe" "-javaag...原创 2020-04-10 19:04:38 · 237 阅读 · 0 评论 -
idea误报
使用@Autowired注解报错的解决方式按照下图配置原创 2020-05-23 09:41:37 · 384 阅读 · 0 评论 -
mybatis-plus自动填充
mybatis-plus官方文档链接https://mp.baomidou.com/guide/使用自动填充的第一步在实体类中需要自动填充的字段上边加注解注解内容如下@TableField(fill = FieldFill.INSERT)UPDATE:修改时执行自动填充INSERT:插入时执行自动填充UPDATE_UPDATE:修改和插入时都执行自动填充第二步创建类并且实现接口MetaObjectHandler...原创 2020-06-08 14:36:33 · 169 阅读 · 0 评论 -
使用mybatis-plus操作数据库基本环境搭建
首先我们先添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.spr原创 2020-06-07 11:22:24 · 462 阅读 · 1 评论 -
mybatis-plus的逻辑删除
使用方法1. 实体类中删除标志位加注解@TableLogic2. 配置插件@Bean public ISqlInjector sqlInjector() { return new LogicSqlInjector(); }在application.properties中配置两句话(设置删除与被删除的值分别是多少 , 默认未删除是0 , 删除是1)mybatis-plus.global-config.db-config.logic-delete-value=1m原创 2020-06-09 19:11:31 · 168 阅读 · 0 评论 -
logback输出日志到文件
使用此工具前提将application.properties中的所欲日志配置删除1. 安装idea彩色日志插件:grep-console2. resources 中创建 logback-spring.xml<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="10 seconds"> <!-- 日志级别从低到高分为TRACE < DEBUG < IN原创 2020-06-21 09:26:51 · 4767 阅读 · 0 评论 -
mybatis-plus条件查询
条件查询首先使用QueryWrapper创建一个wrapper对象存放条件ge:>=gt:>le:<=lt:< //创建一个QueryWrapper的对象 QueryWrapper<User> wrapper = new QueryWrapper<>(); //通过QueryWrapper设置条件 //ge gt le lt //查询age>=30的记录 //第原创 2020-06-09 22:09:36 · 42304 阅读 · 2 评论 -
lombok依赖插件的使用
lombok的使用能够带来什么方便呢?先让我们看看如何使用吧首先我们要引入一个依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>然后我们需要安装一个插件问题来了 , 插件怎么安装呢?在idea编辑器原创 2020-06-07 10:50:05 · 2028 阅读 · 0 评论 -
mybatis-plus查询以及分页查询
查询所有信息userMapper.selectList(null);根据id查询userMapper.selectById(1269963192646320129L);根据id批量查询userMapper.selectBatchIds(Arrays.asList(1, 2, 3));条件查询 map.put("name", "Jone"); map.put("age", 18);userMapper.selectByMap(map);分页查询的实现添加分页插件原创 2020-06-08 21:58:37 · 2074 阅读 · 1 评论 -
mybatis-plus代码生成器
引入依赖 <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> </dependency>使用方法:将以原创 2020-06-10 15:15:40 · 210 阅读 · 0 评论 -
通用mapper
1.pom文件中配置<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>1.2.3</version> <exclusions> <exclusion> <group原创 2020-06-07 11:09:13 · 132 阅读 · 0 评论 -
主键策略学习
AUTO_INCREMENT数字ID天然排序UUID每次生成随机的唯一值Redis原子操作Mpsnowflake算法原创 2020-06-07 19:27:29 · 222 阅读 · 0 评论 -
mybatis-plus中的性能分析配置
配置性能分析插件@Bean @Profile({"dev","test"})// 设置 dev test 环境开启 public PerformanceInterceptor performanceInterceptor() { PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor(); performanceInterceptor.setMaxTime(100)原创 2020-06-09 19:29:08 · 433 阅读 · 0 评论 -
使用代码生成器生成后使用方法
直接在controller层new对象注入service层调用方法就可查询全部数据使用rest风格返回数据@RestController@RequestMapping("/eduservice/teacher")public class EduTeacherController { //注入service @Autowired private EduTeacherServiceImpl eduTeacherService; //查询讲师表中的所有数据 //r原创 2020-06-10 16:10:13 · 413 阅读 · 0 评论 -
swagger的使用
引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>provided </scope> </dependency> <!原创 2020-06-10 23:40:54 · 537 阅读 · 0 评论 -
统一返回数据格式
统一返回数据格式新建一个接口package com.starcpdk.edu.commonutils;public interface ResultCode { public static Integer SUCCESS = 20000;//成功 public static Integer ERROR = 20001;//失败}新建一个类package com.starcpdk.edu.commonutils;import io.swagger.annotations原创 2020-06-17 23:41:17 · 257 阅读 · 0 评论 -
乐观锁笔记
首先我们先来说说乐观锁是为了解决什么问题的乐关锁主要解决的问题是丢失更新那么什么是丢失更新呢?问题描述:多人同时对某条数据进行操作 , 最后那个人呢的提交会把之前的提交覆盖掉解决方案:悲观锁:(一般不使用)广义上的解释就是 , 当前一个人对数据操作时 , 其他人无法操作数据乐观锁:实现上是通过一个版本号的字段进行适配只有版本号一致时才能进行操作 , 每次操作完版本号+1mp中使用乐观锁的步骤在实体类中version字段对应的属性上加注解@Version配置乐观锁插件@原创 2020-06-08 20:15:03 · 231 阅读 · 0 评论 -
使用通用mapper操作数据库
这里只举例说一个查询1.调用通用mapper中的select方法通过封装参数对象 , 将查询条件分装到对象中 , 将对象传入select方法中//通过select查询//封装参数对象UmsMemberReceiveAddress umsMemberReceiveAddress = new UmsMemberReceiveAddress();umsMemberReceiveAddress.setMemberId(memberId);List<UmsMemberReceiveAddress原创 2020-06-07 11:10:50 · 1064 阅读 · 0 评论 -
阿里云的视频点播
首先在阿里云官网中找到视频点播控制台 , 开通视频点播服务参考阿里云官方使用说明文档使用服务端sdk进行操作, 本文使用的事java SDK安装配置依赖到项目中4.1 添加仓库配置(可省略此步骤) <repositories> <repository> <id>sonatype-nexus-staging</id> <name>Sonatype Nexus Staging</na.原创 2020-07-14 00:29:42 · 1424 阅读 · 0 评论