自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 纷享销客自定义函数命名空间及实例

纷享销客函数脚本开发

2023-02-06 13:55:31 935 1

原创 Feign远程调用服务提供方入参没有值

Feign远程调用入参参数值为空;Feign远程调用指定请求的方式为application/json、application/x-www-form-urlencoded等

2022-10-21 14:55:05 1477

原创 MySQL Innodb引擎锁的分类及死锁排查

共享锁、排它锁、表级锁、行级锁、记录锁、间隙锁、临键锁、插入意向锁、自增锁概念解析;处理Deadlock found when trying to get lock; try restarting transaction问题

2022-10-13 16:43:03 1539

原创 Druid获取连接超时,导致服务不可用

Druid数据库连接池获取连接超时,等待线程堆栈信息如下com.alibaba.druid.pool.DruidDataSource.takeLast() (line: 1444)com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(long) (line: 1088)com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(long) (line: 953)com.ali

2022-03-31 11:04:41 13576

原创 AQS源码解析---以ReentrantLock为例

AQS(AbstractQueuedSynchronizer)抽象同步队列的工作原理、ReentrantLock的加锁解锁原理以及可重入锁的实现原理,公平锁非公平锁的实现细节

2022-03-24 22:41:00 608

原创 JAVA对excle创建、读取、设置单元格颜色、背景色、跨行跨列

此篇博文构建了对Excel文件进行读取、写入的帮助类,对单元格的字体颜色、背景色、跨行跨列方法进行了说明。尤其是背景色,字体颜色、填充格式与实际效果的对应关系,方便快速对单元格进行格式设置

2022-03-18 17:44:51 11451

原创 maven将本地jar添加至本地仓库

背景有的maven依赖在远程仓库中没有,我们会向一些人员要具体的jar,那么我们需要将已有的jar手动导入到本地maven仓库中。命令mvn install:install-file -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar -Dfile=file我们需要设置的是-DgroupId、-DartifactId、-Dfile三个参数示例mvn ...

2022-03-10 16:41:44 601

原创 curl: (60) Peer‘s Certificate issuer is not recognized

可用通过浏览器访问接口,但是通过curl返回Peer's Certificate issuer is not recognized。

2022-01-14 15:18:30 8779

原创 可重入锁(ReentrantLock为例)

什么是可重入锁STFW得到以下两种主流解释解释一:可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。解释二:可重入锁又称递归锁,是指同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提是锁对象得是同一个对象),不会因为之前已经获取过锁还没有释放而阻塞。疑惑解释一中提到了可以再次获取锁,“再次获取锁”是如何进行判断的呢?解释二中提到了可重入锁称为递归锁,因此就想当然的理...

2021-12-20 16:03:55 14851

原创 LEFT JOIN 比 INNER JOIN执行更快

背景 写了一段sql,一个表自关联了三次,测试后发现如果用left join不到一秒可以查询出数据,如果用inner join却查询几分钟都不会出数据。表格结构 如下所示,这是一张用户的报表浏览记录表,其中CLICK_TIME创建了索引字段,表格总数据量20w条左右查询sql 下面sql想要查询每个用户一周之内每天相比较点击报表的最早时间和最晚时间,以及所点击的报表的明细。SELECT c.wx_user_id AS wxUserId...

2021-12-07 09:43:54 9644 2

原创 sleep、wait、yield、join(卖票卖票)

1、首先是经典的双线程卖票public class Test extends Thread{ private int num = 1000; @Override public void run() { while (this.num>0){ System.out.println(Thread.currentThread().getName()+"出售了"+this.num+"号票"); num--;

2021-07-02 17:11:53 893 2

原创 mybatis实现oracle的批量插入

inser all<insert id="insertLogList" parameterType="java.util.Map"> insert All <foreach collection="list" item="item" index="index" separator=" "> into CRMManualCallLog(CUST_NAME,MOBILE,LAST_NETCHANNEL_SALES,GENDERCODE

2021-06-29 11:25:09 400

原创 Nginx拦截违法参数或url

$request_uri既可以拦截匹配url,也可以匹配参数args。$args只可以匹配请求参数。因此如果想要区别是参数发生了拦截,还是url发生了拦截,就需要先设置$args,再设置$request_uri。%3Cscript%3E即为location /aa/ { #虚拟主机真正映射路径 default_type text/html; if ($args ~* "%3Cscript%3E") { return 200 'Bad Args'; ...

2021-06-28 11:18:24 5595

原创 setDefaultCollection你用对了嘛

错误日志 SolrServerException: No collection param specified on request and no default collection has been set错误原因 在对solr进行操作时未指定默认的核心(collection)普遍解决办法 在对solr操作前,设置默认核心cloudSolrClient.setDefaultCollection(collectionName) 这种方式表面上是解决了问...

2021-06-11 15:27:43 251

原创 Shiro登录认证逻辑----shiro免登录

要解决的业务问题 第三方平台跳转至集成了shiro的平台时,仅通过用户名就可以实现登录集成了shiro的平台,可以理解为免登录Shiro系统。因此要实现这样的操作,必须了解shiro的登录认证流程是如何的。ps:以下展示的代码均为测试例子,大家可根据自己项目找到对应的逻辑处理的地方。前7步为逻辑分析,若是想看最终修改地方,则直接查看第8步即可shiro的认证流程1、生成token将登陆的用户名密码等信息封装成一个UsernamePasswordToken实体类得到token信息..

2021-06-10 17:18:57 1849 1

原创 网站进行企业微信授权登录(附带代码超详细版)

企业微信的扫码登录官方文档https://work.weixin.qq.com/api/doc/90000/90135/90988企业微信扫码登录认证流程上面是官方的图片,看上去比较复杂。因此我用直白简洁的语言梳理下流程。1、首先在自己的网站上获取到企业微信登录的二维码(二维码怎么获取稍后再说,这里想象下你已经有了一个二维码)2、你拿着手机扫描二维码,确认登录之后,页面就会自己进行重定向的跳转,跳转的url如何配置下面再讲,但是注意,这个重定向的url可以是内网地址3、重定向到指

2021-06-02 16:59:58 7477 3

原创 3、solr导入mysql表格

下载mysql连接驱动地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java自己选择合适版本即可概念solr中的一个collection对应着数据库的一张表格,solr中的field对应着数据库的一个字段在/app/solr-7.7.3/solrHome/MyCore/conf创建data-config.xml内容如下,具体参数根据自己的进行设置<?xml version="1.0" encodin

2021-04-19 17:12:51 110

原创 2、Solr创建核心

1、在solr的操作界面上创建新的核心提示找不到配置文件,但是执行此操作后已经在solrHome中创建了MyCore文件夹2、将/app/solr-7.7.3/server/solr/configsets/_default/conf文件复制到/app/solr-7.7.3/solrHome/MyCore/下cp -r /app/solr-7.7.3/server/solr/configsets/_default/conf /app/solr-7.7.3/solrHome/MyCore/

2021-04-19 10:49:50 228

原创 1、solr7的下载安装

环境准备JDK以及Tomcatsolr下载地址https://www.apache.org/dyn/closer.lua/lucene/solr/7.7.3/solr-7.7.3.tgz如果是其它版本可以把链接后的版本号去掉,自行选择安装1、上传至/app文件夹下文件夹位置可自定义2、解压tar xzf solr-7.7.3.tgz3、将solr的webapp文件夹移动至tomcat的webapp文件夹下4、将被转移的webapp文件夹,名字改为solr

2021-04-19 10:48:32 284

原创 Spring Boot项目中读取创建Excel文件

maven依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>o

2021-03-23 20:47:03 442

原创 Drools读取Excel规则表及硬编码两种方式进行规则过滤

概念介绍Drools规则引擎是对于各种情况的条件进行灵活匹配,从而根据条件返回各种各样的参数。规则匹配的方法分为两种,一种是在项目中硬编码的方式,一种是通过读取符合语法的excel表格。硬编码语法package必须的选项,且放在编码的第一行,代表一种逻辑的区分,不必和真实的物理环境对应import与java的import作用及语法相同,导入规则所需要的类,在规则判断中用($对象名)获取导入的对象rule部分rule分为三部分,规则基本属性(规则名,执行顺序,...

2021-03-21 16:24:34 916

原创 struts升级至2.5.26遇到的各种bug及解决方案

一、背景 由于struts2自身的漏洞“【安全】关于Struts2 S2-061 远程代码执行漏洞(CVE-2020-17530)”,所以需要将struts2.3.35相关jar升级至2.5.26版本。而项目本身用的是1.6或1.7的JDK,在更新过程中,遇到了许多的问题,所以将遇到的问题及解决方案总结,对JDK1.8的同学也会有帮助的。二、2.5.26的jar包的内部代码改动1、将xwork-core.jar整合进struts2-core-2.5.26.jar中 ...

2021-01-08 21:03:06 10177 13

原创 通过nginx代理,feign远程调用后获取客户端真实ip地址等参数

请求过程用户在本地通过浏览器页面发起请求,请求经过nginx代理,转发到SpringCloud框架的微服务A模块,A服务模块通过Feign调用服务提供者B模块实现功能在B模块中想要获取到用户主机的真实ip地址,以及浏览器页面上的请求路径遇到问题1、由于经过nginx代理,直接通过request.getRemoteAddr();获取到的是nginx服务器的地址,而不是客户端的真实ip地址2、由于经过了feign请求,直接通过request.getRequestU...

2020-12-25 14:20:59 4861 1

原创 Redis一主多从、薪火相传、反客为主、哨兵模式搭建详细步骤

主从复制无论何时为主机加上一个从机,都会复制主机的所有数据;从机不能再写,主机可读可写;一主二仆主机down机后,从机将默认会继续等待主机上线;设置从机的主机时,可以在从机的配置文件中进行修改,也可以在从机启动的客户端进行修改,主机的配置文件不需做修改。以下用6379端口做主机,6380端口做从机并在配置文件中指定主机,6381端口做从机并在客户端指定主机一、配置文件方式配置主从复制1、6379端口的配置文件#开启守护进程daemonize...

2020-10-24 15:29:18 407

原创 java.nio.charset.MalformedInputException: Input length =

问题描述启动SpringBoot项目失败,错误提示显示无法加载application.yml文件错误日志如下2020-10-21 09:57:31,609 [restartedMain] ERROR [org.springframework.boot.SpringApplication:833] - Application run failedjava.lang.IllegalStateException: Failed to load property source from l.

2020-10-21 18:00:18 1109

原创 Oracla创建账户,实现Navicat连接Oracle数据库

通过cmd登录oracle,进入cmd命令行后运行命令sqlplus使用默认的系统管理员账号登录用户名:sysassysdba密码为安装数据库时自己设置的密码创建新的账号create user 用户名 identified by 口令[即密码];下载oracle的客户端网址: https://www.oracle.com/database/technologies/instant-client/down...

2020-10-16 15:40:32 298

原创 Docker安装及配置阿里云加速

环境要求: 查看centos版本:cat /etc/redhat-release查看内核版本:uname -r1、卸载老的版本的docker,若第一次安装可以跳过yum remove docker \docker-client \docker-client-latest \docker-common \docker-la...

2020-09-30 15:17:34 1509

原创 RabbitMQ5种工作模型的具体实现

Simple简单模型只有一个消费者和一个生产者,消费者监听生产者提供的数据,一旦生产者在队列中生产出了数据,则消费者进行消费。连接帮助类package org.gzf;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;public class RabbitmqUtil {...

2020-09-25 16:10:51 239

原创 解决github不能访问问题,提高github访问速度

1、更改hosts文件地址:C:\Windows\System32\Drivers\etc2、在http://github.com.ipaddress.com/查询得到一个ip3、在host文件中添加查询到的ip192.82.xx.xxgithub.com4、在http://github.global.ssl.fastly.net.ipaddress.com/查询得到一个ip5、在hosts文件中添加查询到的ip199.232.xx.xxgithub...

2020-09-14 18:21:55 284

原创 Eureka服务注册中心集群不能互相发现

Eureka服务注册中心集群不可用问题描述:先要创建两个Eureka的Server端,用以做服务注册中心的集群,但是两个注册中心一直不能相互找到配置文件如下:server:port: 22222eureka:client:fetch-registry: falseregister-with-eureka: falseservice-url:default-zone: http://server-center....

2020-09-03 16:22:44 1406

原创 服务器上运行Spring Boot的jar包及运行jar的5中方式

执行jar的步骤1、利用maven打成jar包2、在服务器上运行nohupjava -jar xxx.jar > log.txt 2>&1 &log.txt是项目开启执行时的日志,不是项目内部的操作日志,项目内部执行的日志,例如sql操作日志这些是在项目的内部进行配置的以下是jar包的不同运行方式1、java -jarxxx.jar直接运行此jar包,ssh窗口被占用,不能进行其他操作,终端关闭时运行停止2、...

2020-09-02 08:15:52 747

原创 20届应届生北京java面试题及面试总结

写在开头 先说明下自己的情况,普通二本毕业生,实习了大半年,基础还算扎实,但是对于高并发,缓存什么的经验几乎为0,所以遇到的面试题是相对简单的,有不对的欢迎大家批评指正哈。面试题Java集合框架包括Collection接口,Map接口Collection接口下常用的为List和Set接口,ArryList、LinkList、线程安全的vector,不存储重复元素的HashSetMap一般使用无序的HashMap存储数据,如果要用有序的可以用LinkedHashMap,Tre...

2020-08-24 09:19:04 549

原创 IDEA搭建SSM框架(Maven超详细版)

博客中一些代码高亮部分不能展示,大家可以看我的笔记链接https://app.yinxiang.com/fx/f8e27280-6c7d-4ecf-afd1-63b52eb57b3b选择创建一个新项目选择maven,选中webapp模板,然后next填写GroupId以及ArtifactId设置Maven的目录,setting.xml文件的目录一般会自动识别完成选择项目名及在物理磁盘的位置,然后Finish如果选择的路...

2020-07-23 17:38:58 709

原创 SpringBoot项目从零构建,实现视图映射,静态资源访问,数据库连接

安装插件第一步第二步搜索插件并下载安装成功之后重启SpringBoot快速创建Springboot项目New->Project->点击next点击next先不引入任何maven依赖。点击Finsh,项目构建完成创建好的项目框架如图所示Spring Boott 2.0以下的版本static里的文件不受保护,可以直接在浏览器进行访问template里的文件受...

2020-07-13 17:06:50 781

原创 OOP六大设计原则的简易理解,不再那么抽象了

oop(面向对象)的基本6大原则单一职责原则、接口隔离原则、开闭原则、依赖倒换原则、里氏代换原则、最少知道原则(迪米特法则)总体理解:这六大原则是为了尽量实现高内聚、低耦合的项目,但是功能复杂的项目是不可能完全遵守这6大原则的,如果真是这样严格设计,恐怕是纯内聚,无耦合的项目了。正是因为不可能完全遵守,所以我们在开发项目的过程中,在实现需求的基础上,尽量维护这6大原则,以便代码结构更加清晰,易于维护。单一职责原则一个类只负责一个职责,尽量降低耦合。(具体一个职责有是什么呢,怎么划..

2020-07-03 11:06:50 296

原创 线程的创建以及start、run、join、yield方法的区别

什么是线程线程是操作系统能够进行运算调度的最小单位,一个程序运行就是一个进程,一个进程包括至少一个线程线程和进程有什么区别线程是进程的子集;进程占据较多的系统资源,线程仅占用一些必不可少的系统资源;进程之间的内存空间是独立的,线程之间是共享的;进程的上下文切换代价较大,线程之间的切换代价很小。实现Runnable接口和继承Thread接口的区别1、首先应当明白无论是何种方式,最后都是通过Thread.start方法开启的线程(注意,Runnable接口的run方法并不是...

2020-06-30 19:55:54 260

原创 整理的一些java基础知识点,欢迎补充指正

https://blog.csdn.net/chen_2890/article/details/83928763一、String能被继承吗?为什么? 不能,String类final修饰,而final类不允许被继承,亦不可修改,改变字符串的值时实质上是新开辟了一份内存空间,创建了一个新的字符串,字符串实质上存储在char[]类型的数组中,二、int和Integer的区别 1:int是基本数据类型,Integer是包装类型 2:int初始值为0,Integer初始值...

2020-06-28 11:10:20 376

空空如也

空空如也

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

TA关注的人

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