自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_43120613的博客

日常学习分享

  • 博客(64)
  • 资源 (7)
  • 收藏
  • 关注

原创 分布式事务相关概念及常见解决方案

文章目录什么是分布式?为什么要考虑分布式事务分布式事务的解决方案1、2PC(Two-phase commit protocol)2、3PC3、TCC4、本地消息表5、MQ消息事务6、最大努力通知7、seata总结什么是分布式?说一说我个人的理解,分布式是一种概念,化繁为简、化整为零,把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分。这边我们主要考虑计算机软件的分布式,也就是微服务概念,在我看来微服务就是把一个功能复杂、庞大的系统按照一定合理的规则,将功能模块进行拆分,分成很多小的系统,然后需要

2021-07-05 09:48:59 108

原创 基于Html5 的canvas容器实现定制印章(圆形、椭圆、方形)

出于业务需求,最近需要开发个基于web页面的印章制作功能。经过各大论坛、网站、github的一番学习后,我发现圆形、椭圆的例子有很多,但是方形印章的源码却很少,甚至我都没找到。于是只能自己造轮子了,我主要是用js实现的,很少写前端,也不熟js,只能需要用啥上网找语法,先上个v1.0吧,后期完善好再更新。由于全程基于Notepad++写的,所以格式很乱,有没有朋友推荐款idea。主要优势:1. 界面化,可以直观定制,可直接下载原图2. html文件,无需插件、idea,直接浏览器运行3. 实现圆形印

2020-06-10 17:24:55 2110 2

原创 java访问第三方接口的HTTP工具类 获取Token、访问Post、GET、PUT请求等

util.javapublic class HttpClientUtils { private static final String CHARSET = "utf-8"; private static final String CONTENT_TYPE_TEXT_JSON = "text/json"; /** * Header参数 */ private static final String Authorization = "Authorizatio

2020-05-11 13:32:30 4465

原创 ResultUtil 返回结果统一格式处理

作为一个好的接口,肯定需要一个美观的统一返回格式。那么,这是怎么做到的呢?创建Result工具类,编写接口调用成功失败返回方法,通常code、message、data这三部分组成为了更规范、美观,让自己的项目更有逼格,code通常用枚举代替直接赋值。当然了,从技术层面这也是有必要性的,通常我们项目编译成class文件的话是看不到直接赋值的,如果定义成枚举,那别人可以通过查看枚举来看到具体内...

2020-04-21 09:30:39 3659

原创 Springboot利用Security+JWT实现token权限认证+用户角色认证

首先创建springboot项目,不多说。Step 1 引入依赖,如下。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency&gt...

2020-04-19 15:16:15 1713 1

原创 mybatis逆向工程生成service代码的实现

关于mybatis逆向工程的介绍我就不重复赘述了,相关资料网上有很多。看了网上很多逆向工程的文章,但是很多都只是生成简单的mvc框架,没有具体service的代码生成。故在我学习整理诸多前人的经验后,增加了具体的增删改查业务实现代码。Generator.javaimport java.io.File;import java.io.IOException;import java.util....

2020-04-19 14:35:44 1828 4

原创 grafana 导出iframe链接 嵌入业务系统

grafana 是一个很好的监控前端系统,支持很多数据源,这个具体我就不展开介绍了,有兴趣的同学可以自行学习。今天我主要来分享一下,如何将grafana的单个页面嵌入到我们自己的管理系统或者业务系统中。1、设置grafana 允许 iframe访问、允许匿名访问(不登录)我是docker安装的,所以进入容器 修改 /usr/share/grafana/conf/defaults.ini 文件2、导出grafana iframe链接3、将链接直接复制到我们需要引入的html中即可...

2022-05-31 14:34:51 1388 1

原创 记一个 Junit 失效 找不到start类的大坑

记一个 Junit 失效 找不到start类的大坑背景:idea 2021.3 + jdk 11+springboot 2.4.5 + junit 2.4.5问题:运行测试类报错找不到或无法加载主类 com.intellij.rt.junit.JUnitStarter试过网上很多方法1、排查依赖冲突2、去掉 argLine配置等等,都不行。这边经过我半天摸索之后,我的解决办法是修改运行环境中的如下配置...

2022-04-20 14:19:07 1633 1

原创 适配国产数据库 GBase(南大通用mysql版)

这篇帖子主要是记一下踩过的坑。文章目录1. 数据库安装2. sql迁移(mysql->gbase)2.1 注意编码格式统一3. 适配pagehelper、mybatis-plus3.1 适配pagehelper4. 语法坑5. 其他坑1. 数据库安装一个服务端只支持一个实例,用法类似mysql,如需多个实例,可按装多个客户端。2. sql迁移(mysql->gbase)2.1 注意编码格式统一字段上 SET utf8 COLLATE utf8_general_ci表上C

2022-03-09 14:58:32 3468

原创 项目管理常用图(甘特图、WBS、燃尽图)了解

作为一个项目经理,不可避免的要用到图表来规划项目,我个人认为比较重要的有三类。甘特图作为项目管理常用图表之一,甘特图不仅能够让管理者实时有效掌握项目进度和资源分配,同时能够加强过程的可视化管理、人员实时沟通,把责任和任务落到实处,让项目有序进行,实现企业管理方法和流程的优化,从而提升企业效益。甘特图的横轴表示时间,纵轴表示项目,线条表示期间计划和实际完成情况,直观表明计划何时进行,进展与要求的对比,便于管理者弄清项目的剩余人物,评估工作进度。甘特图常用于项目初期制定项目timeline,用以跟进项目

2022-03-01 18:18:06 19152

原创 nginx 部署多个vue前端项目

思想:1、先反向代理 ,将多个前端项目的静态资源文件放不同位置,通过反向代理出去,可以做到用户同一个域名端口,不同路径访问不同项目,2、再正向代理,前端访问不同后端,配置正向代理,转发到相应后端服务。#######前端反向代理出去 location / { root /usr/share/nginx/html; index index.html index.html; try_files $uri $uri/ /index.html;

2022-02-24 18:12:09 2457

原创 pageHelper 不支持多线程

pageHelper 分页不支持多线程,因为用的是ThreadLocal保存分页信息的,所以需要在多线程里面最好在mapper层设置分页

2022-01-15 10:04:01 721

原创 并行流正确使用方式 顺序不出错,不报空指针

一开始用并行流 出现了顺序乱了,偶尔空指针的问题,这类问题网上一搜一大堆,原理也有解释我就不废话了,直接说结论。大家都用错了,正确使用的话是不会有问题的。List<XXRequest> resultList = xxList.parallelStream().collect(ArrayList::new,(arrayList,i)->{ XXRequest xxRequest = new XXRequest(); BeanUtils.co

2022-01-14 10:15:52 422

原创 设计模式整理复习 (一)

1. 单例模式2.单例模式定义在当前进程中,通过单例模式创建的类有且只有一个实例。使用场景常用却耗时多或者消耗空间多的工具类,如线程池、数据库连接池、httpclient、restTemplate连接等等。保存的共享数据,如redis、session等,其实也是工具类。计数器特点一个JVM中,用单例模式创建出的对象,只有一个实例。构造器是私有的,外部类无法创建实例。没有public 的 set()方法,外部类无法调用set()创建实例。有个public 的 get()方法

2021-11-26 17:10:43 175

原创 美团面试 65min (同事)

自我介绍。介绍熟悉的项目,主要流程是什么,用到什么技术,学到了什么。项目中遇到了哪些难点,怎么解决的。线上排查生产问题,怎么排查的。(说了arthas,人说小公司可能没有要求,大公司不会让用这种工具的。也没有问原理)volatile的原理,项目中有没有使用过,它能做什么?怎么做到的。线上服务用的什么垃圾收集器?G1,为什么要用G1?(忘了说最重要的一点,不会产生碎片问题)三色标记算法是什么。HTTP的发展史,从0.9讲到2.0,做了哪些改动。因为是提到了WebScoket,简单的说了说。TC.

2021-08-16 10:52:03 106

原创 阿里p6面试 45min

2021-08-16 10:51:11 74

原创 发布本地jar包到maven Nexus私服

一、release版本(发布版)这个在界面上就可以发布了,很简单二、发布其他版本以snapshot(快照版)为例,nexus3以后的web端不提供直接上传快照的页面。mvn deploy:deploy-file -DgroupId=com.aaa -DartifactId=bbb -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=bbb-0.0.1-SNAPSHOT.jar -Durl=http://192.168.1.189:8081/reposit

2021-04-21 11:22:27 91

转载 JVM面试题

10个经典又容易被人疏忽的JVM面试题对象一定分配在堆中吗?有没有了解逃逸分析技术?「对象一定分配在堆中吗?」 不一定的,JVM通过「逃逸分析」,那些逃不出方法的对象会在栈上分配。「什么是逃逸分析?」逃逸分析(Escape Analysis),是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围,从而决定是否要将这个对象分配到堆上。❝逃逸分析是指分析指针动态范围的方法,它同编译

2021-04-14 09:50:04 537

原创 Failed to parse mapping resource......

mapper没有识别到,可以试试配置文件中,加入别名mybatis:typeAliasesPackage:

2021-03-31 18:16:00 2082

原创 get请求参数带“+”等特殊字符无法正确识别

+号会被识别成空格JavaScript: window.self.location="index.jsp?data="+encodeURIComponent(encodeURIComponent(url));java: searchtext=java.net.URLDecoder.decode(data,"UTF-8"); 另外还有一种方法是JavaScript进行一次编码,后台java处理时换种想法就好了:java代码: String s = new Str

2021-03-31 10:23:41 1452

原创 mysql的坑 ,明明只有一条匹配的记录,却查出多条记录

我这边的原因是dept_name是varchar类型,所以等于Long类型,会有个转换的过程,这个过程出了问题,转成string就行了

2021-03-18 11:31:09 867

原创 Debian 9 离线安装mysql8.0.13

1、下载对应版本MySQL地址:https://dev.mysql.com/downloads/mysql/下载如下包:2、上传并解压tar -xvf mysql-server_8.0.13-1debian9_amd64.deb-bundle.tar得到一堆文件如下:3、安装由于依赖,需要按如下顺序安装先安装libaio1:apt-get install libaio1mysql-common:dpkg -i mysql-common*mysql-community-client:d

2020-12-23 15:02:01 1302

原创 Springboot如何在项目启动时自动运行自定义方法,亲测有效

项目需求:项目启动时初始化sql,后期修改sql,都可以直接修改sql文件,重启项目 自启动生效。网上有很多方式,我基本上一一试过了,在这里推荐两种,亲测绝对有效方法一实现ApplicationRunner接口并实现里面的run方法,并将该类通过@Component 注入到spring里,如下所示:package com.springboot.demo.init;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org

2020-12-22 14:53:51 1190

转载 震惊!!!用了这些方法,他的代码里再也没有if-else了

前言代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。优化方案一:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。优化前:if(condition){//doSomething}else{ return;}优化后:if(!condition){ return;}//doSomethin

2020-11-25 11:49:03 1548

原创 观察者模式 vs 发布订阅模式

《Head First设计模式》中有句话:Publishers + Subscribers = Observer Pattern.即 出版者 + 订阅者 = 观察者模式。那是不是 观察者模式和发布订阅模式就是一样的呢?观察者模式所谓观察者模式,其实就是为了实现松耦合(loosely coupled)。用《Head First设计模式》里的气象站为例子,每当气象测量数据有更新,changed()方法就会被调用,于是我们可以在changed()方法里面,更新气象仪器上的数据,比如温度、气压等等。但是

2020-10-14 11:08:49 115

原创 响应式编程 rx.js redux

响应式编程是一种通过异步和数据流来构建事物关系的编程模型。是基于观察者模式的js的实现。理解如果要直接理解,可能比较抽象,但我们可以引用百度百科的例子;例如:a = b + c; 这句代码将b+c的值赋给a,而之后如果b和c的值改变了不会影响到a,然而,对于响应式编程,之后b和c的值的改变也动态影响着a,意味着a会随着b和c的变化而变化。响应式编程过程中,一般有以下几个组件,Observable/Operator/Subscriber;对应到代码中就是不同类。这个流程,可以简单的理解为:Observ

2020-10-14 09:36:22 304

原创 基于java处理ofd格式文件

一、ofd格式介绍国家发布过一份关于ofd编码格式的资料,本来我想传上去的发现资源重复了,你们可以找找看,没有的话留个邮箱,我看到会发给你们的ofd本质上其实是一个压缩文件,咱们把他当做一个压缩包来处理就好了,思路是先解压,对解压后的文件进行解析处理,解压后是xml文件,java有很多处理xml的类,这里我推荐dom4j,原因是相对来说功能全、速度快,处理完后再进行压缩,保存为ofd格式即可ofd的阅读器我也有,只是是公司的,不方便共享了,大家可以找网上在线阅读器二、xml处理工具类import

2020-09-17 16:23:18 7972 17

原创 word转html在前端页面显示

近日碰到该需求,遇坑记录于此,望能帮助到其他伙伴。word转HTML时图片的处理我分为两种解决方案:1、图片保存在本地文件夹。2、转为base64。以下分doc与docx,不同格式处理方法略有不同。前端我用的是vue,直接通过“v-html”显示html文本一、图片保存本地坑1大多数浏览器都不能以形如(file:///C://xxx)的形式直接访问本地文件,故需要在后台配置文件中配置虚拟路径映射到本地盘符。@Configurationpublic class ResourcesConfig

2020-08-26 14:54:55 4426 2

原创 后端返回流,前端vue展示各种类型文件(word\pdf\图片)

这周有个需求做个文档平台,出于安全与性能考虑,我选择将文件前后端已流的形式交互,而不是直接访问地址。技术栈:springboot 2.0 + vue用到的开源技术有:pdf.js(展示pdf) 、 editor-ui(在线展示、编辑word)具体用法有很多帖子,可以去参考一下,作者们的git上也写的很详细了,我就不抢人家功劳了。这里我贴一个比较深的坑: getObjectURL(file) { let url = null; if (window.c

2020-08-22 18:04:00 5192 8

原创 面试题之SQL优化——是否用过执行计划(explain)

前几天找工作,面试到sql优化,explain命令应该大家都用到过,只是之前我也没注意过具体参数的含义,导致面试时很尴尬,事后学习了一下。Explain命令是用来直接检查sql语句的,有两个参数很重要“Type”和“Extra”。一、TypeExplain中的“Type”MySQL的官网解释为:连接类型(the join type)。它描述了找到所需数据使用的扫描方式。最为常见的扫描方式有: 1、system:系统表,少量数据,往往不需要进行磁盘IO; 2、const:常量连接; 3、eq

2020-06-11 09:59:28 1613

原创 lambda表达式的使用

lambda表达式通常是用来实现类或接口的,优点是无须声明,也无须重写了,但是有个限制就是这个接口中只能有一个方法,因为从lambda的表达式上我们就可以看出端倪了,直接调用类,传参数,连方法名都省了,如果不止一个方法,毫无疑问会产生冲突无法识别。java lambda表达式的优缺点:优点:代码简洁,开发迅速方便函数式编程非常容易进行并行计算java引入lambda,改善了集合操作(引入Stream API)缺点:代码可读性变差2 .使得语言学习曲线陡峭,学习难度提升性能方面,在非并行

2020-06-10 18:01:28 205

原创 Springboot项目启动时cloud not find bean错误

前两天碰到个很恶心的错,启动时找不到mapper、service的类,因为springboot是扫描包,生成bean的机制,所以最常见的错误是找不到的这个类不在启动类的同级或者它的下级包,但我是在它的同级包下的,就比较迷惑。上述这个解决方法是加个@Mapper注解,@MapperScan({“package”}),如果需要包含多个包名,用逗号隔开即可。另一个常见引发这种错误的原因可能是依赖冲突...

2020-04-18 19:58:31 1787

原创 关于引入依赖报错的问题Inspects a Maven model for resolution problem

近日想用Swagger生成接口文档,导入依赖的时候发现如下错误。一开始我搜索Inspects a Maven model for resolution problem这个错误的解决方案,试了几种都是不行最后解决方案是把本地仓库的包都清空,重新导入。...

2020-04-10 13:04:22 253

原创 最简单的计算24点

跟女朋友玩24点,碰到两个人都算不出来,又不知道到底能不能算怎么办呢,于是就自己写个代码看看是否有结果。废话不多说,直接上代码package com.practice;import java.util.*;public class Main { public static int operate(int j,int k,String l) { if(l=="+"...

2020-02-09 17:04:31 471

原创 浅谈Java对象在内存中的结构和锁状态升级过程

java对象在堆中主要分为四部分结构, 分别是对象头MarkWord, 对象指针ClassWord, 实例对象(如果对象是数组的话, 这里需要再分成两部分, 多了一个存储数组长度的数据位), 8字节对齐位. 下面以64位的JVM为例, 分析内存中对象的各个结构分别存储什么信息和作用.Mark WordMark Word用来存储对象的 identity hash code, Thread ID...

2019-12-25 15:59:29 238 5

原创 工作之余笑一笑,十年少,都是收藏的精品

维护老代码搞定来一个BUGGoogle想干嘛?需求不明确前端VS后端客户描述客户资金最后产出

2019-12-18 10:54:15 129

原创 这几个月做了好几个管理系统,我突然灵光一动想到假如给地狱做个管理系统,该怎么做呢

这个问题让我对地狱数据库系统(Hell-DBMS )进行了几点小思考,开个脑洞。生死薄技术上如何实现?广大生灵在生死薄中的唯一标记是什么?阴间数据库是什么样一个数据库?首先,地狱必须有数据库,数据量太大了每个生灵都要有记录,且必须是实时记录,要进行数据分析。想像一下各种生灵,万物有灵,大大小小,连蝼蚁飞蛾也是命,从单细胞到现代社会的数据应该有多大。数据库的话每个生灵就要有唯一标记。实名反...

2019-12-18 10:47:34 178

原创 SpringBoot项目,无法访问任意接口报错401

背景是,我本来项目快做完了,接口之前都测过,没问题,周一过来跑项目的时候突然报错,服务器有问题,大概是redis什么包没有配置,无法扫描到,我改了半天也没找到问题,于是我把pom文件里一些依赖删了,项目能成功跑起来了,但是用postman测试接口的时候,连不上接口,返回401.我在别的帖子里看到类似问题,但我试了不管用,不过给我启发了,于是我解决了自己的问题,先把人家问题的链接贴上来,有可能有朋...

2019-12-16 13:52:10 1524

原创 两个int型的数相除,结果如果小于1,返回0

public static void main(String[] args) {double a = 1;double b = 16;System.out.println(a/b);int c = 1;int d = 16;System.out.println(c/d);}int型相除结果取整数,四舍五入

2019-12-06 16:35:34 1150

原创 考试系统项目总结

水务局考试系统项目总结1、项目结构controller:写接口、request、response请求enums:枚举,写提示信息、support 层获取参数等generator:根据数据库表生成后台管理系统的接口module:各个模块,比如实体类、request、response、serive和mapper(不知道干嘛的)support:实现接口的业务逻辑处理,session相关的不...

2019-12-04 17:06:57 1281

标准格式下的ofd文档.ofd

ofd文件,有原版有签名文件,需要了解如何解析ofd进行签名验签的朋友可以私信我,我看到了会回的。ofd文件,有原版有签名文件,需要了解如何解析ofd进行签名验签的朋友可以私信我,我看到了会回的。ofd文件,有原版有签名文件,需要了解如何解析ofd进行签名验签的朋友可以私信我,我看到了会回的。

2020-09-15

templates.zip

部分工具类需要自己实现,有关的import包我删了,比如ResultUtil之类的,然后在模版中加入import,具体使用方法,参见我博客文章

2020-04-19

VA_X_Setup.rar

VS各个版本番茄插件,免费

2019-08-14

基于java的贪吃蛇,完整毕设,包括论文

第一章,介绍游戏的研究背景、研究现状、本文研究的主要内容和论文的组织结构。 第二章,介绍Java平台的特征和应用构成。 第三章,介绍游戏的策划和需求分析过程。 第四章,介绍游戏的具体实现过程。 第五章,介绍游戏的测试过程。 最后,总结了本文的工作,提出未来的工作计划

2019-04-22

java+mysql的小型店铺管理系统

开发环境:windows7+eclipse3.7+sql server 2000(JDK用的是1.7.0.3) 如果是其他的数据库,搭建数据库的语句可能会不适用,大家可以自己写sql语句来创建就行的了 1.创建数据库->创建对应的表->插入测试数据 2.把myshop项目导入eclipse中 3.运行View中Login.java中即可以运行该项目了

2019-04-22

用来处理nii图像的matlab插件

在matlab中想要处理nii格式的图像就需要Nifti包,不想去官网下的同学可以下我这个,matlab2016a和2019a都试过可以用

2019-04-22

基于matlab的dicom、nii文件读取,去噪增强处理

基于matlab的dicom、nii文件读取,去噪增强处理,里面包含了三张dicom的图像,三张nii的图像,需要的同学自己取,稍微收点积分意思意思

2019-04-22

空空如也

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

TA关注的人

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