- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 JUC学习入门
目录一、什么是JUC二、线程与进程并发和并行三、多线程四、传统Synchronized锁五、Lock锁六、Synchronized和Lock区别七、传统的生产者消费者问题、防止虚假唤醒八、Lock版的生产者消费者问题九、Condition实现精准通知唤醒十、八锁现象彻底理解锁本教程内容来自「遇到狂神说」:视频地址一、什么是JUC业务:普通的线程代码ThreadRunnable没有返回值,效率相比入Callable相对较低!“JUC是java.util.concurrent的简写。在jdk官方手册中
2022-05-28 09:40:33
836
原创 SpringSecurity+Mybatis plus返回json数据并设置密码加密
目录实体类登录方法加密方法官方的加密方法自定义加密方法添加密码的时候使用完整代码实体类/** * <p> * * </p> * * @author qileyun * @since 2022-02-06 */@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class User implements UserDetails,Serializable{ priv
2022-02-06 20:44:27
1752
原创 Spring boot 添加Spring Security导致Swagger无法打开
只需要发行一下swagger页面以及静态资源就可以了 @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers("/swagger-ui.html") .antMatchers( "/swagger-resources/**") .antMatchers("/v2/api-docs"
2022-02-06 17:29:21
901
原创 Dubbo快速入门教程
Dubbo概述Dubbo是阿里巴巴公司开源的一个高性能、轻量级的java RPC框架致力于提供高性能和透明化的RPC远程调用方案,以及SOA服务治理方案官网地址:Apache DubboDUbbo架构节点角色说明:Provider:暴露服务的服务提供方Container:服务运行容器Consumer:调用远程服务的服务消费方Registry:服务注册与发现的注册中心Monitor:统计服务的调用次数和调用时间的监控中心Dubbo快速入门ZookeepperDubbo高
2022-01-27 22:32:03
4502
原创 Android无代码检测功能,无法通过alt+enter自动导包问题
今天安装类一个android-butterknife-zelezny的插件然后Android studio和开了省电模式一样,找了一圈发现卸载这个插件就可以用了
2022-01-22 19:54:40
1931
原创 Redis超详细入门到精通
这里写目录标题1、Nosql概述1.1、为什么要用Nosql1.2、单机时代1.3、Memcached(缓存)+Mysql+垂直拆分(分库分表)1.4、分库分表+水平拆分+Mysql集群1.5、如今年代1.6、为什么要用NoSQL!1.7、什么是Noqsl1.8、Nosql特点2、Nosql的四大分类文档型数据库(bson格式和json一样):列储存数据库分布式文件系统图关系数据库3、Redis入门下载RedisWindows 下安装Linux 源码安装性能测试4、基本知识select可以使用进行切换dbs
2022-01-17 22:51:55
3389
1
原创 IDEA操作GIT基本教程
目录导入GIT项目查看已经修改的文件查看修改文件变化还原制定区域到代码提交修改的文件填写本次提交修改的备注内容image-20220113235918162添加远程仓库日志查看查看提交中的差异日志中的哪些右键操作代码冲突如何解决导入GIT项目查看已经修改的文件查看修改文件变化选择需要查看的文件按ctrl或者mac系统的command键+d还原制定区域到代码提交修改的文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLAAU7Mh-1642093211
2022-01-14 13:37:45
1607
原创 简单几步实现nginx实现反向代理
目录1、 点击编辑配置文件2、添加配置3、重新加载配置1、 点击编辑配置文件2、添加配置server {listen 80;server_name repairapi.qileyun.cn;# 服务器地址或绑定域名location / { # 访问80端口后的所有路径都转发到 proxy_pass 配置的ip中 proxy_pass http://172.16.0.43:8000; # 配置反向代理的ip地址和端口号 【注:url地址需加上http:// 或 https://】
2022-01-14 01:19:05
1433
原创 设计模式(二) 工厂模式
工厂模式OOP七大原则开源原则:一个软件的实体应当对扩展开放,对修改关闭依赖倒转原则:要针对接口编程,不要针对实现编程迪米特法则:只与你直接的朋友通讯,而避免和陌生人通讯核心本质实例话对象不使用new,用工厂方法代替将选择实现类,创建对象同意管理和控制。从而将调用者跟我们的实现类耦。传统模式在传统模式下我们需要一个类通过直接new一个对象来使用Car car = new WuLing();Car car1 = new Tesla();car.name();car1.name();
2021-12-21 21:04:52
93
原创 设计模式(一) 单例设计
概述什么是设计模式设计模式是前辈对代码开发经验的总结,是解决特定问题的一系列套路他不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。设计模式的意义设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。单例模式饿汉式模式随着Java启动就加载//饿汉式单例public class Hungry { // 就算没有任何地方使用这个对象,他也会创建这些数组,可能会浪费空间 pr
2021-12-20 23:42:19
514
原创 如何安装Node+Vue4.0脚手架+淘宝镜像
安装node.jshttps://nodejs.org/zh-cn/download/管理node.js版本//首先安装n模块npm install -g n//升级node.js到最新稳定版n stable//升级node.js到最新版本n latest//升级到指定版本n v0.10.26全局安装Vue-cli4.0脚手架//先卸载vue2.0的脚手架:npm uninstall vue-cli -g //全局卸载 //安装vue4.0的脚手架: npm .
2021-12-19 18:02:57
999
原创 spring boot项目部署
1、编译spring boot maven项目成jar包mvn clean package -DskipTests2、上传到服务器3、启动jar包nohup java -jar iot.jar > iotLog.out 2>&1 &> iotLog.out 2>&1 &//是输出日志到 iotLog.out4、关闭进程退出项目ps -aux | grep java //查询进程kill -9 6290//杀掉6290的进程
2021-12-19 18:02:23
365
原创 Error:java: Compilation failed: internal java compiler error
问题描述:导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持Error:java: Compilation failed: internal java compiler error 解决方案:...
2021-12-18 19:39:54
586
原创 记录2021年12月16面试经历(附上搜集答案)
内存溢出并且如何产生的说一说AOP有哪些实用的场景如何保证多线程的安全和同步AOP有哪些通知强引用,软引用,弱引用和虚引用什么是内存泄露说说微服务有哪些重要的组件说说对微服务的理解序列化和反序列化的作用说一说有哪些IO流String是否可以被继承表中有大量数据应该如何处理Cookie和Session的区别如何设计权限表如何做全局异常处理死锁是如何产生的如何打破死锁实现多线程有哪些实现线程池的方式1.newCachedThreadPool(随着任务的增加而增加线程)2.newFixedThreadP
2021-12-17 01:43:11
1006
原创 Java开发中的注解大全
目录SpringSpring MVCMybatisSpring注解内容作用于@Configuration声明该类是一个配置类类@Value给一个变量赋值也可以在properties配置文件获取进行赋值属性@PostConstruct初始化方法方法@PreDestory销毁bean调用的方法方法@Lazy懒加载属性@Autowired是用来实现依赖注入的,此注解是byName自动注入的属性@Resource也是用来实现依赖
2021-12-15 21:36:16
369
原创 Springboot 第十篇 集成Shiro入门(安全)
目录1、搭建环境1.1、依赖1.2、创建mysql数据库1.3、创建实体类映射类2、基础配置2.1、编写配置文件2.2、创建授权认证了类2.2.1、授权方法2.2.2、认证方法3、编写业务代码3.1、持久层查询用户信息3.2、业务层直接调用3.3、控制层3.3.1、首页、新增、修改页面3.3.2、登录页面3.3.3、登录器3.3.4、未授权用户跳转页面3.4、视图层代码3.4.1、首页3.4.2、登录页面1、搭建环境1.1、依赖省略了mysql mybatis等依赖包<!--shiro 整合s
2021-12-15 20:03:31
2976
原创 Springboot 第九篇 集成SpringSecurity入门(安全)
本章只是一个小入门 SpringSecurity的功能是否强大,用户、角色、权限,还有注解配置控制器可以参考下一章,或者官方文档。目录1、创建工程2、简介3、WebSecurityConfigurerAdapter3.1 创建配置类3.2、授权规则3.3、开启登录、注销、记住我3.4、添加自定义登录页面4、AuthenticationManagerBuilder4.1、添加认证规则5、前端5.1、导入命名空间5.2、修改导航栏,增加认证判断5.3、角色判断5.4、登录看看7、完整性代码1、创建工程.
2021-12-11 15:55:02
3010
原创 Springboot 第八篇 集成Swagger2
一款号称全世界最流行的API框架支持多种语言目录1、导入依赖2、配置swagger2.1、创建配置类2.2、修改描述信息2.3、Swagger配置扫描接口2.4、配置多个分组2.5、配置Swagger开关3、常用注解3.1、实体类3.2、Controller控制器注解4、完整案例4.1、完整配置文件(以后直接复制就可以了)实例测试代码1、导入依赖遇到一个问题springboot如果导入2.6 死活启动不了报错Failed to start bean ‘documentationPluginsB.
2021-12-11 00:11:39
284
原创 SSM框架整合
目录数据库创建依赖问题创建基本结构1、整合Mybatis1.1、 编写数据库配置文件database.properties1.2、 编写MyBatis的核心配置文件mybatis.config1.3、 编写实体类Books1.4、 编写Dao层的 Mapper接口1.5、 编写接口对应的 Mapper.xml 文件4.6、 编写Service层的接口和实现类2、Spring整合Mybatis2.1、Dao层配置文件2.2、Service层配置文件3、整合SpringMVC3.1、把工程增加web功能3.2、
2021-12-10 16:02:31
566
原创 SpringMVC 第二篇 快速使用
目录1、创建工程1.1、由于Maven可能存在资源过滤的问题,我们将配置完善1.2、导入依赖1.3、web.xml1.4、编写SpringMVC 的 配置文件!(官方推荐的格式)2、控制器2.1 、实现Controller接口2.2、ModelAndView2.2、Controller注解和RequestMapping注解(推荐使用方法)3、RestFul风格3.1、@PathVariable注解4、重定向和转发4.1 、ServletAPI4.2 、更优选择5、SpringMVC数据处理(接收)5.1、普
2021-12-09 22:04:42
84
原创 SpringMVC 第一篇快速入门
SpringMVC使用教程初入茅庐注解开发Controller配置初入茅庐本文略过所有内部实现过程,只关注如何快速的使用spring mvc更多内容请参考 springmvc 深入浅出目录结构创建一个maven项目并且添加web支持导入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId&
2021-12-08 23:34:39
174
原创 Mybatis 特别篇 Mybatis-plus入门教程
MybatisPuls学习前言一、MybatisPuls有什么特点支持数据库二、使用步骤1.快速入门(官网案例)2. 配置日志输出3. MybatisPlus中的雪花算法4. 自定义ID生成策略5. 自动填充6. 乐观锁7. 查询基本查询分页查询8. 删除普通删除逻辑删除~~9. 性能分析插件(好像新版被移除了)~~9. 条件构造器判断条件使用 like + notLike + likeRight子查询降序查询10. 代码生成器总结前言学习之前,需要有SSM基础比较好,Mybatis可以节省我们大量的
2021-12-07 23:47:15
1435
原创 Spirng boot第六篇 整合Mybatis
Spirng boot第六篇 整合Mybatis配置导入Mybatis包数据库配置配置mybatis参数项目搭建添加JOPO创建mapper目录以及对应的 Mapper 接口创建mapper文件最后测试看看文件目录总结配置导入Mybatis包<!--mybatis--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spr
2021-12-06 23:49:19
101
原创 Spring boot 第五篇集成JDBC以及配置Druid数据源
这里写目录标题1. 初入茅庐添加依赖简单利用JdbcTemplate实现增删改查2. 集成数据库连接池导入包添加配置导入log4j创建配置类我们可以进入管理界面进入系统用于配置Web和Druid数据源之间的管理关联监控统计1. 初入茅庐添加依赖简单利用JdbcTemplate实现增删改查@AutowiredJdbcTemplate jdbcTemplate;//查看数据所有信息@GetMapping("/userList")public List<Map<String, O
2021-12-06 22:01:58
1092
原创 MQTT协议 第一篇 搭建一个MQTT代理服务器
这里写目录标题1. 执行安装代码 一步到位启动、重启、暂停配置文件禁止匿名登录以及设置账号密码1. 禁止匿名登录2. 设置账号密码存放路径3.添加账号密码可以看到添加立一个账号密码进入测试一下没有输入账号密码输入账号密码1. 执行安装代码 一步到位brew install mosquitto启动、重启、暂停brew services stop mosquitto #停止服务brew services start mosquitto #启动服务 brew services restart mos
2021-12-05 14:05:45
1434
原创 Spring boot 第四篇搭建一个Web应用
这里写目录标题1. 建立工程测试是否搭建成功2. 新建一个首页1. 你可以在你的任意静态文件夹直接创建index.html2. 或者使用Colltroller文件中返回,当是文件需要放在templates文件夹中,当然这个需要添加模板引擎。3. 添加Thymeleaf模板引擎添加依赖包1. 建立工程测试是否搭建成功静态文件webjars localhost:8080/webjars/public,static,/**,resources localhost:8080/优先级: resou
2021-12-04 23:30:31
88
转载 Spring boot JSR-303验证实战,简单又全面
基于JSR-303的注解有哪些,上张图,以便日后查看。更多还需参考网址:https://www.ibm.com/developerworks/cn/java/j-lo-jsr303/index.htmlBean Validation 中的 constraint表 1. Bean Validation 中内置的 constraintConstraint 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTr
2021-12-04 18:09:31
608
原创 Spring boot 第三篇自动装配原理
pom.xmlspring-boot-dependencies:核心依赖在父工程中我们可以看出已经帮我们写好啦非常多的版本启动器:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>启动器:就是Springboot的启动
2021-12-04 16:05:59
432
原创 Spring boot 第二篇配置文件
这里写目录标题Maven配置文件Spring boot配置文件Maven配置文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
2021-12-04 15:01:51
334
原创 Spring boot 第一篇 搭建环境
Spring boot 第一篇 搭建环境环境:jdk1.8 maven3.6.1 idea文章目录Spring boot 第一篇 搭建环境一、spring官网生成项目1. 官网创建项目2. 导入项目二、直接通过IDEA生成项目1. 直接创建一个spring initializr2. 熟悉的配置参数3. 添加插件4. 等待漫长的下包时间总结一、spring官网生成项目1. 官网创建项目2. 导入项目我们可以看出这是一个标准的maven项目接下来你可以直接导入你的idea中示例:pand
2021-12-04 14:30:37
103
原创 数据库连接池如何创建
JDK1.5提供的线程池首先来比较一下线程和线程池速度的比较普通创建线程时间:799long satrt = System.currentTimeMillis();Random random = new Random();ArrayList<Integer> list = new ArrayList<>();for (int i = 0; i < 10000; i++) { Thread thread = new Thread(){ @Ove
2021-12-04 00:52:52
774
原创 Spring 第四篇 Spring相关API
三种加载配置文件的方式//它是从类的根路径霞加载配置文件推荐使用这种ApplicationContext app1 = new ClassPathXmlApplicationContext("appclicationContext.xml");//它是从磁盘路径加载配置文件,配置文件可以在磁盘的任意位置 不常用ApplicationContext app2 = new FileSystemXmlApplicationContext("/Volumes/DATAS/Spring/spring_ico/
2021-12-03 23:28:06
186
原创 数据结构1-六种排序算法
冒泡排序public static void main(String[] args) { //随便创建几个乱序的数组 int[] data = {1,3,7,5,6,8,9}; for (int i=1;i<data.length;i++){ for (int j=0;j<data.length-i;j++){ //判断数组j下标的值和下一个值谁小,如果当前的小就进行调换位置如若使用>即是升序排序。 if(dat
2021-12-03 19:53:43
110
原创 Spring第二篇 单例和多例配置
bean的scope 属性scope:singleton 单例 模式 随容器销毁而销毁prototype 多例 模式 对象在使用中就一直活着,对象长时间不用销毁 <bean id="userDao" class="cn.qileyun.dao.impl.UserDaoImpl" scope="singleton"></bean>//加载配置文件,这里不对里面的bean进行创建 ClassPathXmlApplicationContext app = new ClassP
2021-12-03 19:49:13
409
原创 Spring第三篇 依赖注入
Bean实例化三种方式无参构造方法实例化(如上面案例)工厂静态方法实例化<!-- 相当于调用来cn.qileyun.factory.StaticFactory.getUserDao --><bean id="userDao" class="cn.qileyun.factory.StaticFactory" factory-method="getUserDao"></bean>工厂实例方法实例化<bean id="factory" cl
2021-12-03 19:48:34
88
原创 Spring第一篇 环境搭建
创建maven工程导入坐标<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.15.RELEASE</version> </dependency>
2021-12-03 19:47:36
80
原创 Java反射
反射创建的三种方式//第一种Class<Student> c1 = Student.class;System.out.println(c1);Class<Student> c2 = Student.class;System.out.println(c1==c2);//trueSystem.out.println("--------");//第二种Student student = new Student();Class<? extends Student&g
2021-12-03 14:01:16
188
原创 HashMap源码分析(JDK1.7)
HashMap源码分析(JDK1.7)构造方法public HashMap() { this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);} public HashMap(int initialCapacity, float loadFactor) { //判断初始化容量 if (initialCapacity < 0) throw new IllegalArgumentException("Il
2021-08-29 11:31:33
102
原创 每日面试三题-day04
ArrayList和LinkedList区别Arraylist:基于动态数组,连续内存储存,适合下标访问(随机访问),扩容机制:英文数组长度固定。超出长度存数据需要新建数组,然后将老数组拷贝到新数组,如果不是尾部插入数据还会设计到元素的移动(往后复制一份,插入新元素),使用尾插法并指定初始容量可以极大提升性能,甚至超过linkedList(需要创建大量的node对象)LinkeList:基于链表,可以储存在分散的内存中,适合做数据插入及删除操作,不适合查询:需要逐一遍历,遍历LinkedList必须使用
2021-08-26 23:18:45
120
Linux操作系统与实训(CentOS 7.4 & RHEL7.4)(微课视频版)ppt及答案.rar
2021-12-18
C知道如何关闭,占用搜索内容那么大一块地方
2023-10-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人