自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jinondo's Blog

不如意事常八九,可与人言无二三

  • 博客(67)
  • 收藏
  • 关注

原创 C语言生成随机数和随机数组

C语言生成随机数和随机数组time函数要包含头文件<time.h>rand函数要包含头文件<stdlib.h>随机数int a;srand((unsigned)time(NULL)); // 播种a = rand() % 200 + 1;随机数组#include <stdio.h>#include <stdlib.h>#in...

2019-12-03 20:18:21 23702 6

原创 Spring Cloud Stream RabbitMQ动态路由Key

Spring Cloud Stream RabbitMQ动态路由Key前言这里有个业务是这样的,我需要在不同的操作后给用户发送不同的邮件,由于比较耗时所以引入消息中间件,不同的邮件对应的消息类型是不一样的,所以需要生产者往队列里发送数据时绑定好路由key,例如:图里表示交换机根据路由key绑定了不同的队列。要达到这种效果,首先消费者肯定是可以根据路由key来决定消息是不是发送给自己的,对于生产者则需要用到routingKeyExpression 来决定往哪个路由key发送数据(大概是这个意思)。

2022-04-07 15:42:32 2752

原创 SaToken登录鉴权示例的源码跟踪

源码跟踪这里使用官方的springboot-demo来测试跟踪源码跟踪 - 登录登录分为存有session时的登录和没有session时的登录没有session时的登录:StpLogic:/** * 会话登录,并指定所有登录参数Model * @param id 登录id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model */ public void login(Object id, SaLogin

2022-04-01 17:03:04 1299

原创 Knife4j文档请求异常

这里先贴一下官方的文档https://doc.xiaominfo.com/knife4j/faq/knife4j-exception.html当然了,这些对我没什么用,我的错是很奇怪,正常访问接口是没问题的,但是访问swagger文档和knife4j访问不通。原因:因为我的swagger文档是在另外一个模块下的,而我新建的一个服务是在另外的模块下,依赖引入是没有问题,问题出在容器扫描包的时候没有扫描到swagger的资源,原来是我没有加 @ComponentScan 注解mapperscan是有

2022-02-26 16:18:22 1444

原创 Jenkins构建 java.io.FileNotFoundException: .../jre/lib/tzdb.dat(No such file or directory)

Jenkins构建 java.io.FileNotFoundException: .../jre/lib/tzdb.dat(No such file or directory)

2022-02-20 11:33:41 1279

原创 Java8 jdk1.8新特性

Record some significant JDK1.8 operationsLambdaanonymous inner class// Original solutionComparator<Integer> comparator1 = new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return Integer.co.

2021-11-18 23:47:05 329

原创 Java并发与Java内存模型 --《Java并发编程的艺术》

Java 并发机制的底层实现原理Volatile 的应用定义:Java变成语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排它锁单独获得这个变量。几个术语:缓存行(cache line)是CPU缓存中可分配、操作的最小存储单元,就是获取一块内存数据,放入缓存,这块数据成为缓存行。缓存行填充:当处理器识别到从内存中读取操作数是可缓存的,处理器读取整个高速缓存行到适当的缓存(L1,L2,L3的或所有)缓存命中“如果进行高速缓存行填充操作的内存位置仍然是

2021-11-18 22:51:39 192

原创 MybatisPlus更新删除操作时 updateTime自动填充无效

记录一下一个MybatisPlus的bug使用MybatisPlus的自动填充功能失效的可能原因有很多,例如配置问题:public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ...."); this.strict

2021-03-23 13:53:17 2466

原创 SpringDataJpa 使用save创建表出错:java.sql.SQLSyntaxErrorException: Table doesn‘t exist

问题描述在使用 SpringDataJpa 时遇到一个错误在Jpa配置中配置了 hibernate.hbm2ddl.auto<property name="jpaProperties"> <props> <prop key="hibernate.hbm2ddl.auto">create</prop> </props></property>测试使用如下:@Test @Transaction

2021-02-03 15:15:32 395

原创 AJAX 笔记 ajax

AJAX1. Use Nodejs and Expressthe basic use of express// 1. import expressconst express = require('express');// 2. create app objectconst app = express();// 3. create route ruleapp.get('/',(req, res)=>{ // set the response res.send('I L

2021-01-20 11:53:02 77 1

原创 node.js 笔记

因为切换输入法实在麻烦,能用英文写的都用英文写了。。。Node.js1. Modules Introducehttp module// export 'http' modulevar http = require('http');/** request: get the message that url transmit* response: give browser the response message** */http.createServer(function (re

2021-01-20 11:51:04 182

原创 SSM 整合笔记

SSM整合环境配置要手动导的包很多,还是maven好啊…db.propertiesjdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=Hongkongjdbc.username=rootjdbc.password=cyt19880818web.xml 配置<?xml version="1.0" encoding="UTF-8"?><we

2021-01-20 11:45:43 66

原创 SpringMVC 笔记【下】

二、SpringMVC常用技术本节示例项目的准备与第一节大致一致:导包:添加全局配置文件:其中依赖包括:bean context mvc<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="

2021-01-20 11:34:26 81 1

原创 SpringMVC 笔记【上】

SpringMVC一、 SpringMVC核心技术1 HelloWorld1.1 导入依赖包1.2 配置 web.xml 的 DispatcherServlet在项目的web.xml中配置DispatcherServlet:<!-- The front controller of this Spring Web application, responsible for handling all application requests --><servlet>

2021-01-20 11:29:40 40

原创 EventBus: Subscriber class XXX and its super classes have no public method with the @Subscribe

错误记录在做安卓项目的时候,要使用实现在Fragment之间传数据,故使用EventBus,但遇到一个错误:org.greenrobot.eventbus.EventBusException: Subscriber class com.cyt.translate.fragment.MemoFragment and its super classes have no public methods with the @Subscribe annotation at org.greenrobo

2021-01-15 16:19:56 336

原创 No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory...

问题描述mybatis配置懒加载导致RestController或responsebody返回对象Jackson解析失败。关键信息:No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializercom.fas

2020-12-02 00:08:29 1538 2

原创 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin 不支持发行版本

今天在导入thymeleaf官网上的example项目时,在导入项目后clean,之后mvn compile出现问题。项目地址:https://github.com/thymeleaf/thymeleafexamples-gtvg[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project gtvg: Fatal error

2020-11-28 10:45:05 90

原创 VMware虚拟机走主机代理上网

1. 打开虚拟机系统的网络设置2. 设置代理为手动,并填写代理ip和端口这里我的代理软件用的是Socket协议,故只填 Socket 主机一栏3. 代理 ip 和端口填写ip地址:ip地址可以在主机系统的命令行窗口输入ipconfig查询ipconfig这里我主机是插的网线,故找到以太适配器这一选项,如果主机连wifi则选WLAN这一项的IPv4地址端口:端口由你主机的代理软件设定,这里 v2xxx 软件 的 socket 代理端口默认是10808,如果是http连接则端口默认是1

2020-10-24 10:15:49 20199 5

原创 x86_64-linux-gnu-gcc failed 和 ERROR: Failed building wheel for Twisted 错误

ERROR: Failed building wheel for Twisted / error: command ‘x86_64-linux-gnu-gcc’ failed with exit status 1今天在用Linux 用 pip 安装 Scrapy 时遇到一个错误。搞了我一个下午吐了真的,记录一下。错误描述使用 pip 安装 Scrapy 时:pip install -U scrapy出现以下错误:unable to execute 'x86_64-linux-gnu-gcc':

2020-10-23 19:13:41 880 1

原创 ssm基础知识笔记 (Spring + Spring MVC + MyBatis)

这是本人学习 Spring + Spring MVC + MyBatis 所做的笔记,方便自己在以后需要时查阅翻看,对于正在学ssm基础的或者已经学过的各位希望可以提供帮助,共同学习。Spring 基础知识笔记【上】主要内容:依赖注入bean的实例化bean的作用域bean的生命周期Spring 基于xml的自动装配Spring 基于注解(Annotation)的装配Spring 基础知识笔记【下】主要内容:Spring AOPJDBC TemplateSpring 声明式

2020-10-23 11:44:11 97

原创 MyBatis基础知识笔记【下】

本篇博客内容:MyBatis 实现 “一对多” 查询MyBatis 实现 “多对多” 查询MyBatis 实现动态SQL8 一对多查询“一对多”对于“多对一”的那方其实操作和一对一完全一致,参照上两节,这里只举例一对多8.1 一对多关联查询8.1.1 类的设计public class User { private Integer userId; private String name; private Integer gender; private IdCard idCar

2020-10-23 00:56:50 153

原创 MyBatis基础知识笔记【中】

本篇博客内容:SQL语句的参数传递一对一关联查询一对一分步查询5 SQL语句的参数传递5.1 单个普通(基本/包装+String)参数这种情况 MyBatis 可直接使用这个参数,不需要经过任何处理。取值:#{随便写}例如我们add的代码中直接用 #{id}5.2 POJO(bean对象)当这些参数属于我们业务POJO时,我们直接传递POJO取值: #{POJO的属性名}例如delete,search其他例子5.3 多个参数5.3.1 Mybatis自动包装成 ma

2020-10-23 00:52:59 76

原创 MyBatis基础知识笔记【上】

本篇博客内容:初始配置流程基于Mapper接口开发MyBatis全局配置文件CRUD 增删改查操作1 初始配置流程实际开发不应用此方法1.1 导入相关包方便打印相关信息,加入 log4j.xml 配置文件至 classpath 下<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration

2020-10-23 00:39:54 73

原创 Spring 基础知识笔记【下】

本篇博客内容:Spring AOPJDBC Template声明式事务实现Spring AOPJDK 动态代理实现 AOP使用JDK动态代理需要动态代理的该类是一个接口的实现Service 接口package cyt.proxy;public interface UserService { public void register(); public void login(); public void changePasswd();}Service 接口的实现 S

2020-10-23 00:28:50 68

原创 Spring 基础知识笔记【上】

本篇博客内容:依赖注入bean的实例化bean的作用域bean的生命周期基于xml的自动装配基于注解(Annotation)的装配web HelloworldTestDao.javapackage dao;public interface TestDao { public void sayHello();}TestDaoImpl.javapackage dao;public class TestDaoImpl implements TestDao{ public

2020-10-23 00:21:21 50

原创 求逆序对的数目

本片文章旨在记录求逆序对数目的算法题,但涉及到之前写过另一道求逆序数的Leetcode算法题,则第一部分为之前写过的LeetCode [315],第二部分为求逆序对数目题目。(第二部分其实为第一部分改动而来,原理在第一部分介绍)一、LeetCode [315] 计算右侧小于当前元素的个数(求逆序数)题目描述给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例输入:n

2020-10-19 10:05:55 697

原创 【Android】savedInstanceState.getString方法为空!

问题解决:方法不是两个参数的onSaveInstanceState,而是onSaveInstanceState(outState: Bundle)今天在做安卓实验遇到一个很坑的问题。在安卓app做横屏竖屏旋转时,我们通常需要使用一个方法或者两个方法来保存数据状态:onSaveInstanceState()onRestoreInstanceState()具体使用例子如下override fun onSaveInstanceState(outState: Bundle) {

2020-10-13 18:39:57 1935 7

原创 二叉树与图 LeetCode算法例子【总】

本文章记录贪心法的一些 LeetCode 题目,是我学习b站小象学院视频教程所做笔记,文末注明教程出处。侵删 ¯\_( ͡° ͜ʖ ͡°)_/¯LeetCode [113] 路径总和Ⅱ题目描述给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13

2020-10-04 15:47:57 97

原创 递归-回溯-分治 LeetCode算法例子【总】

本文章记录贪心法的一些 LeetCode 题目,是我学习b站小象学院视频教程所做笔记,文末注明教程出处。侵删 ¯\_( ͡° ͜ʖ ͡°)_/¯LeetCode [78] 子集问题描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]递归与回溯方法算法思路图片来自小象学院教程算法代

2020-10-04 15:44:17 149

原创 贪心法LeetCode算法例子【总】

本文章记录贪心法的一些 LeetCode 题目,是我学习b站小象学院视频教程所做笔记,文末注明教程出处。侵删 ¯\_( ͡° ͜ʖ ͡°)_/¯LeetCode [455] 分发饼干问题描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这

2020-10-04 15:40:34 244

原创 Android Studio创建项目下载gradle慢解决办法

关于这个问题在网上找了很多解决办法,有很多都没用,但最终还是解决了 。修改build.gradle一个是关于build.gradle文件改源的,这个应该是对于gradle的sync慢的问题作出的解决并不是下载创建项目时download gradle的问题,故并没有起到作用。不过这里也列一下修改的方法:在项目的build.gradle里两处作出修改,加上国内阿里云buildscript { repositories { maven{url 'http://maven.aliyun

2020-08-16 13:27:08 576

原创 【最大最小堆算法】求数组中第K大的元素 / 求数据中位数

C++ 的 STL 优先级队列构造最大最小堆的方式priority_queue<int> big_heap; // 默认构造最大堆priority_queue<int, vector<int>, greater<int>> small_heap; // 构造最小堆priority_queue<int, vector<int>, less<int>> big_heap2; // 构造最大堆优先级队列及其函数实例#

2020-08-10 14:00:31 482

原创 C++基本加减计算器堆栈实现 / 计算字符串表达式的值

问题:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。使用用堆栈结构实现:用状态机的实现思路图:———— 图片来自小象学院教程// 计算函数void compute(stack<long>& number_stack, stack<char>& operation_stack) { if (number_stack.size() < 2)

2020-08-09 20:21:32 652

原创 用堆栈检查一个序列的顺序是否合法

例如:现有一个顺序序列是32541,入栈的序列为12345,检查32541是否合法算法如下:bool check_is_valid_order(std::queue<int>& order) { stack<int> S; int n = order.size(); for (int i = 0; i <= n; i++) { S.push(i); while (!S.empty()&&

2020-08-09 16:08:20 112

原创 用队列实现栈 / 用栈实现队列 / 实现带最小值的栈【C++】

C++的 STL stack和 STL queue头文件分别是 <stack> 和 <queue>注意:使用需要namespace stdSTL stack基本操作stack<int> S;S.empty();S.push(10);S.pop();STL queue基本操作queue<int> Q;Q.empty();Q.push(5);Q.pop();Q.front();用队列数据结构实现栈使用队列实现栈的下列操

2020-08-09 00:35:24 79

原创 多个有序链表的有序合并【C++】

问题描述:合并 k 个排序链表,返回合并后的排序链表可以有三个办法,在此问题上的基础是进行两个链表的合并,代码如下:struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(NULL) {}};// 合并两个有序链表ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode temp_head(0);

2020-08-07 18:18:52 522

原创 复制带随机指针的链表算法【C++】

问题描述: 复制带随机指针的链表给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。STL Map的使用int main() { map<Node*, int> node_map; Node a(5); Node b(3); Node c(6); a.next = &b; b.next = &c; a.random = &c; b

2020-08-07 18:16:37 120

原创 链表根据数值划分算法【C++】

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。弄两个新的表头,一个储存小于特定值的节点,一个储存大于特定值的结点,再结合,简单的直接上代码:结点数据结构: // Definition for singly-linked list.struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next

2020-08-07 18:15:28 91

原创 简单链表求环算法问题【C++】

方法一:使用用C++的set库遍历链表逐一装入set集合,当出现一个结点已经收录在set中时,便找到了该节点// 算法写在一个类里class Solution {public: ListNode* detectCycle(ListNode* head) { set<ListNode*> node_set; while (head) { if (node_set.find(head) != node_set.e

2020-08-04 18:52:45 103

原创 C++求两个链表的交点

方法一,使用C++的set库set的使用方法:int main() { set<int> setA; const int lenA = 7; const int lenB = 8; int a[lenA] = { 5,1,4,8,10,1,3 }; int b[lenB] = { 2,7,6,3,1,6,0,1 }; for (int i = 0; i < lenA; i++) { setA.insert(a

2020-08-04 17:27:07 194

空空如也

空空如也

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

TA关注的人

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