自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (7)
  • 收藏
  • 关注

原创 面试一个两年经验初中级java面试问题

你还,欢迎来面试,请坐。方便的话,请先做一下自我介绍。你们公司的主要业务是什么。你在这家公司一共参与了哪几个项目,在这些项目中,你分别都担任了什么样的一个角色。你参与的这些项目,都使用了那些技术栈。你这里提到了MyBatis,那你知道MyBatis 和Jpa,有什么样的区别吗。你们团队为什么最后选择了使用MyBatis,而没有选择使用Jpa。在你做过的项目中,你认为有哪些点,还可以进行技术上的优化。为什么?

2022-05-14 11:11:59 373

原创 微信收付通分账额度超过30%怎么办

如果部分二级商户分账额度要超过百分之30,需要通过邮件的方式申请,申请的二级商户需要列举出来,不是申请了所有的二级商户额度都会高于30%,申请时列举的二级商户审核通过生效。1.邮件主题:<微信支付电商收付通高比例分账申请>+服务商公司全称主+送:WeChatPayFunds@tencent.com;抄+送:peterqiao@tencent.com;+zhishen@tencent.com;+kaylazhang@tencent.com;+v_slongcai@tencent.c

2022-05-03 10:30:42 1983

原创 Java 对象转Json,@JSONField对象字段重命名和顺序问题

一、引入maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.66</version> </dependency>二、字段重命名1.创建一个测试实体i

2022-01-26 13:43:05 4433

原创 Java 用AOP切面实现对实体么个属性加密解密

一、准备加密工具我这里准备的是SM2加密方式,这里加密工具,根据自己的需要准备相应的加密工具即可,我的代码会在上传到git,可自行下载。1.获取公钥私钥在SM2Utils类里面有随机获取的方式 /** * @method generateKeyPair * @desc 生成随机秘钥对 * @version V1.0.0 * @Param: * @author xukang * @date 2022/1/25 15:26

2022-01-25 16:54:34 2912 2

原创 Java开发微信V3支付报错java.security.InvalidKeyException: Illegal key size - 解决方案(JCE无限制权限策略文件)

一、本人问题发现场景再对接微信收付通的产品时需要对部分数据就行加密解密,发现会报以下错误Illegal key sizeException in thread "main" java.security.InvalidKeyException: Illegal key size at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039) at javax.crypto.Cipher.implInit(Cipher.java:805) at

2022-01-14 13:46:03 2014

原创 Spring Boot配置Swagger增强工具

参考knife4j官方网站:1.6 快速开始 | knife4j一、话不多说,先看效果1.Swagger页面这样,这里就不多做介绍2.增强后的首页3.API列表4.API请求参数5.API响应参数个人觉得增强后看着很清晰,比原来的要好很多。二、开始配置1.pom.xml 配置 <dependency> <groupId>io.springfox</groupId>...

2022-01-13 16:44:01 4055 1

原创 MySQL(三) 锁与事物

1.谈谈锁一、锁的概念我们访问么个资源时,在么个时刻只能被一个线程所占有,只有当这个线程被执行完,释放这个资源别的线程才可以被访问。二、锁的分类我们创建一张表sys_lock,来测试一下#创建表CREATE TABLE `sys_lock` ( `id` bigint(12) NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(50) DEFAULT NULL COMMENT '姓名', `sex` varchar(20) D

2021-08-30 14:17:07 168

转载 MySQL(二) EXPLAIN 执行计划

一、EXPLAIN是个啥?用EXPLAIN能够模拟优化器执行sql语句,从而真的mysql是如何处理你的sql语句,分析你的表结果和性能瓶颈。可以通过发出SHOW WARNINGS 以下语句来查看EXPLAIN。二、EXPLAIN能干嘛?查看表的读取顺序;数据读取操作的操作类型;那些索引可以使用;那些索引实际被使用;表之间的引用;每张表有多少行被优化器查询。三、EXPLAIN咋地用?EXPLAIN + sql 语句即可,如下:EXPLAIN select * from sys_u

2021-07-21 14:02:15 108 1

原创 IDEA转移C盘.IntelliJIdea索引文件,清理C盘

长期使用idea,不清理索引文件的话,索引文件会过大,而且默认是房子系统盘,系统盘的容量都有限,索引我们可以转移idea的索引文件,例如下7,8个G的文件在C盘,我转移到D盘。第一步:找到idea.properties文件在IntelliJ IDEA 的bin目录下行找到idea.properties文件,如下:第二步:打开idea.properties修改配置但是这里可能会导致已经激活的idea没有激活,你需要保留C盘的这个目录下的这个文件:...

2021-07-16 10:11:28 2853

原创 Java 创建线程池,使用@EnableAsync实现多线程

前言我们在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要来创建Executors,在使用spring中,已经给我们做了很好的支持。只要要@EnableAsync就可以使用多线程。使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。默认情况下,Spring将搜索相关的线程池定义:要么在上下文中搜索唯一的TaskExecutor be...

2021-07-15 13:57:19 1365 2

原创 JAVA 基于Redis、切面、注解实现分布式锁

前言分布式锁,其实原理是就是多台机器,去争抢一个资源,谁争抢成功,那么谁就持有了这把锁,然后去执行后续的业务逻辑,执行完毕后,把锁释放掉。可以通过多种途径实现分布式锁,例如利用数据库(mysql等),插入一条记录(唯一索引),谁插入成功,谁就持有锁;还可通过zookeeper来实现分布式锁,谁创建节点成功,谁就持有锁。本文介绍通过redis来实现分布式锁。实现步骤 用到StringRedisTemplate类,通过AOP和切面注解的方式开启分布式...

2021-07-14 15:02:54 814

原创 MySQL(一)-数据库索引

一、什么是索引索引可以快速查询特定值的行,没有索引MySQL必须从低一行开始,从上往下查询,表越大,消耗就越大。如果有索引,MySQL可以快速确定要查询数据所在的位置,而不必看所有的数据,减少资源的消耗。如上图,如果没有索引,要查询22,我们需要依次查询5次才能差的我们所要的数据;如上图,如果有索引,我们只需要查询一次就可以定位22所在的位置,创建索引为值为key,内存地址为value,此处用的二叉树为示例。二、索引的数据结构常见的数据结构有二叉树...

2021-07-06 17:06:00 229

原创 谷歌chrome浏览器安装json格式化插件

在开发中我们请求服务器时,服务器返回的数据是这样的,实例地址:https://jsonview.com/example.json安装此插件后,请求展示效果如下:插件下载地址:https://download.csdn.net/download/m0_38075227/19988037下载好之后解压这个压缩包安装谷歌浏览器插件打开开发者模式添加插件ok,添加完成...

2021-07-02 10:18:31 511

原创 十二、分布式事务-TXLCN

上一篇:十一、整合Spring Boot Admin什么是事务?事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。数据库事务提供了一种机制,可用来将一系列数据库更改归入一个逻辑操作。更改数据库后,所做的更改可以作为一个单元进行提交或取消。事务可确保遵循原子性、一致性、隔离性和持续性(ACID)这几种属性,以使数据能够正...

2021-07-01 16:23:33 405

原创 十一、整合Spring Boot Admin

Spring Boot AdminSpring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序,它在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。为什么需要Spring Boot Admin在Spring Boot Admin之前,我们知道可以使用 Spring Boot Actuator 对项目的健康状况进行监控,但都只是以一些文字表述性的形式展示,可以说信息并不美观也并不便捷,而Spring Boot Admi...

2021-07-01 10:52:27 333

原创 十、整合 Spring Cloud OpenFeign

上一篇:九、整合鉴权体系 Spring Security OAuth2OpenFeignFeign是一个受到Retrofit,JAXRS-2.0和WebSocket启发的Java到HTTP客户端绑定器。Feign的第一个目标是降低将Denominator统一绑定到HTTP API 的复杂性。[引自https://github.com/OpenFeign/feign官网]相当于,OpenFeign将HTTP服务之间的请求由传统的HTTP API调用IP完整路径替换成模块化访...

2021-06-30 15:25:19 290

原创 九、整合鉴权体系 Spring Security OAuth2

八、整合REST APIs文档生成工具 Swagger2OAuth一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而不需要将用户名和密码提供给第三方应用。OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站在特定的时段内访问特定的资源。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。目前版本是2.0OAuth2OAuth

2021-06-30 11:54:24 482

原创 git修改分支名称

假设分支名称为oldName想要修改为 newName1. 本地分支重命名(还没有推送到远程)git branch -m oldName newName2. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)a. 重命名远程分支对应的本地分支git branch -m oldName newNameb. 删除远程分支git push --delete origin oldNamec. 上传新命名的本地分支git push o

2021-06-25 09:28:14 97

原创 八、整合REST APIs文档生成工具 Swagger2

一、什么是RESTFUL接口?1、REST 表述性状态转移(Representational State TransferT)REST 是面向资源的,强调描述应用程序的事物和名词表述性( Representational ): REST 资源实际上可以用各种形式来进行表述,包括 XML 、 JSON ( JavaScript Object Notation )甚至HTML—— 最适合资源使用者的任意形式;状态( State ):当使用 REST 的时候,我们更关注资源的状态而不是对资.

2021-06-24 17:01:14 300

原创 七、整合 Redis缓存

上一篇:六、整合Mybatis Plus工具一、什么是缓存?复制存储在计算机上其他位置的原始值的数据集合,通常是为了更容易访问缓存在不同场景下有不同的作用:操作系统的磁盘缓存:减少磁盘机械操作数据库缓存:减少文件系统I/O应用程序缓存:减少数据库查询操作web服务器缓存:减少对服务器的请求客户端浏览器缓存:减少对网站的访问经典缓存策略:查询数据,先查缓存,如缓存无数据再进行数据库查询更新数据,先更新缓存,再更新数据库本文主要讲述应用程序缓存框架

2021-06-23 16:41:49 249

原创 六、整合Mybatis Plus工具

上一篇:五、整合数据库连接池-Druid一、Mybatis Plus一个开源的,国内开发的Mybais增强工具,在Mybatis的基础上只做增强,不做改变,为简化开发、提高效率而生。二、Mybatis Plus的核心功能1、代码生成器:AutoGenerator是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率2、通用CRUD接

2021-06-22 15:19:08 448

原创 五、整合数据库连接池-Druid

一、资源池一种设计模式,系统初始化的时候创建一组资源,放到一个池子里。需要的时候从资源池里面选一个出来工作,用完了放回去,而不是随时创建和销毁。资源的创建与销毁都是比较耗时的,资源池有效避免了频繁创建和销毁资源的消耗问题,能有效的提高程序的性能,常见的资源池有线程池,内存池,java对象池以及数据库连接池等。二、数据库连接池负责分配、管理和释放数据库连接的资源池,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个可以通过设置数据库连接池的最大连接数来防止系统过量连

2021-06-21 10:06:48 1294

原创 四、整合微服务网关 Spring Cloud Gateway

111

2021-06-18 11:12:01 618

原创 三、整合分布式配置中心 Spring Cloud Config

上一篇:二、整合服务注册与发现组件(注册中心) Spring Cloud Eureka一、什么是配置?配置其实是独立于程序的可配变量,同一份程序在不同的配置下会表现不同的行为配置的演进单机单体应用:传统的开发模式,所有服务由一个应用提供,拥有一个配置,修改需要重启应用 多机单体应用(集群部署):将同一单体应用多方部署,修改配置需要批量修改,全部重启 微服务模式:整体应用由多个独立服务提供功能,修改配置可单独修改重启服务,不影响别的服务运行二、什么是分布式配置中心分布式配置中心实际上

2021-06-16 14:47:23 292

原创 二、整合服务注册与发现组件(注册中心) Spring Cloud Eureka

一、什么是服务注册与发现组件1、基本概念服务消费者调用服务的一方程序服务生产者提供服务的一方程序服务发现服务消费者用于找到服务生产者的一种机制服务注册与发现组件类似于DNS的机制,服务注册与发现组件记录了分布式系统中所有服务的信息,用户或服务之间可以通过服务注册与发现组件找到这些服务。(多称为注册中心)2、服务注册与发现组件基本原理服务注册与发现组件有两种行为模式,一种是服务端模式,一种是客户端模式其主要区别在于服务消费者是否保存服务生产者的服务信息A、

2021-06-15 16:06:29 376 1

原创 一、初始搭建SpringCloud项目环境

一、SpringBoot和SpringCloud1、SpringBootSpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。简单来说,SpringBoot是一个基于Spring框架之上的开源框架,是Spring.

2021-06-15 14:59:33 427

原创 Spring和Spring Boot的区别

一、什么是Spring。Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test,这些模块缩短应用程序的开发时间,提高了应用开发的效率例如,在Java Web开发的早期阶段,我们需要编写大量的代码来将记录插入到数据库中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以

2021-06-10 13:34:54 3482

原创 java可重入锁和不可重入锁

一、什么是可重入锁。当某个线程试图获取一个自己已经持有的锁时,那么会立刻获得这个锁,不用等待。我们看一个可重入锁的案例:public class demo { public static void main(String[] args) { //第一次获取锁 synchronized (demo.class){ while (true){ synchronized (demo.class){

2021-06-08 16:42:10 181

原创 分布式事务TX-LCN安装注册使用

TX-LCN介绍TX-LCN分布式事务框架,LCN并不生产事务,LCN只是本地事务的协调工,LCN是一个高性能的分布式事务框架,兼容dubbo、springcloud框架,支持RPC框架拓展,支持各种ORM框架、NoSQL、负载均衡、事务补偿特性1、一致性,通过TxManager协调控制与事务补偿机制确保数据一致性2、易用性,仅需要在业务方法上添加@TxTransaction注解即可3、高可用,项目模块不仅可高可用部署,事务协调器也可集群化部署4、扩展性,支持各种RPC框架扩展,支持通讯协议与

2021-06-08 10:59:53 483

原创 MySQL常用函数

1.AVG() 函数AVG()函数的语法如下:AVG(DISTINCT expression)句型:SELECT AVG(column_name) FROM table_name例句:1.从SC表中获取所有的score的平均值select avg(score) ‘avgScore’ from SC2.获取score大于90的平均值select avg(score) ‘avgScore’ from SC where score>902.COUNT() 函数COUNT

2020-11-30 19:08:54 101

原创 用Java代码实现一个简单的聊天室功能

一.客户端的创建1.我们可以用Socket来创建客户端/** *@类名 Client *@描述 TODO 客户端 1 *@版本 1.0 *@创建人 XuKang *@创建时间 2020/9/24 16:18 **/public class Client { public static void main(String[] args) throws UnknownHostException, IOException { System.out.println("-----Cl

2020-09-24 19:28:50 18947 22

原创 java面试 Sql优化问题

一.什么是索引:索引分单列索引和组合索引:这里比较简单不解释。创建索引:目的是为了提高查询条件,但是会降低增、删、改的时间。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。建立索引会占用磁盘空间的索引文件。二、索引类型有那些FULLTEXT全文索引可以在REATE TABLE(创建表),ALTER TABLE(添加列),CREATE INDEX(创建索引)的适合使用,但是 CHAR、VARCHAR ,TEXT列表上的HASH几乎100%是唯一的,HASH索引可以一次

2020-09-05 21:12:42 355

原创 SpringCloud 入门 什么是SpringCloud

SpringCloud 入门一、 什么是SpringCloud什么是 SpringCloud:是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。1 概念定义Spring Cloud 是一个微服务框架,相比 Dubbo 等 RPC 框架, Spring Cloud 提供的全套的分布式系统解决方案。Spring Cloud 对微服务基础框架 Netflix 的多个开源组件进行了封装,同时又实现了和云端平台以及和 Spring Boot 开发

2020-08-31 20:19:37 545

原创 微服务架构介绍 Spring Cloud基础讲解

一、 单体架构单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合 在一个应用中的架构方式。1 单体架构特点1打包成一个独立的单元(导成一个唯一的 jar 包或者是 war 包)2会一个进程的方式来运行单体架构到优、缺点优点:1.易于管理2.部署简单缺点:1.测试成本高:所有当功能都在一个项目中,一个地方发生改变,其他当功能也要测试2.可伸缩性差:如果我们想对系统做水平扩展,单体架构对项目是没办法做到对3.可靠性差:如果么个模块出现bug,会导致整个系统不可

2020-08-31 19:19:46 333

原创 Spring Boot整合Spring Data JPA(十)

一、Spring Data JPA介绍spring data:spring data其实就是spring提供的一个操作数据的框架,而spring date jpa是spring data框架下一个基于JPA标准操作的模块。spring date jpa:基于JPA标准对数据对操作,简化持久层对代码,开发人员只需要编写接口即可。二、Spring Boot整合Spring Data JPA1 创建项目这里略2 添加坐标<project xmlns="http://maven.apache.o

2020-08-30 13:37:41 176

原创 Spring Data Redis(九)

Spring Data Redis一、 Spring Data Redis 简介Spring Data Redis与 Spring Data家族的其他数据操作如:Spring Data JDBC,以类似的结构进行封装,降低用户的学习成本;只要使用过其中一种Spring Data技术,对其他的数据源操作能依葫芦画瓢的进行。二、 Redis 安装1 安装环境Redis 版本:3.0.0环境:Linux2 安装步骤安装 gcc 编译器:yum install gcc-c++解压安装包:tar

2020-08-30 11:42:50 91

原创 Java 集合连环炮面试题

Java 集合连环炮面试题一、常见的Java集合有那些答:说有集合的父接口分别是Map接口和Collection接口:map接口:HashMap、TreeMap、HashTable、LinkedHashMap以及ConcurrentHashMap、Properties等等;Collection接口:分为list接口和set接口;set接口:TreeSet、HashSet、LinkHashSet等list接口:ArrayList、LinkList、Vector及Stack二、HashMap与Ha

2020-08-29 22:46:35 294

原创 Spring Boot 整合JPA之Spring Data JPA总结(八)

Spring Boot 整合JPA之 Spring Data JPA 总结Spring Data JPA:Spring Data JPA 是 spring data 项目下的一个模块。提供了一套基于 JPA标准操作数据库的简化方案。底层默认的是依赖 Hibernate JPA 来实现的。Spring Data JPA 的技术特点:我们只需要定义接口并集成 Spring Data JPA 中所提供的接口就可以了。不需要编写接口实现类。这个特点类似mybatis的动态扫描。一、 创建SpringDat

2020-08-29 17:57:44 221

原创 Spring Boot 整合Spring Data JPA之Hibernate JPA(七)

Spring Boot 整合Spring Data JPA之Hibernate JPA(七)在spring boot整合spring data jpa之前先了解一下Hibernate JPAJPA:由 Sun 公司提供了一对对于持久层操作的标准(接口+文档)Hibernate:是 Gavin King 开发的一套对于持久层操作的自动的 ORM 框架。Hibernate JPA:是在 Hibernate3.2 版本那种提供了对于 JPA 的标准的实现。提供了一套按照 JPA 标准来实现持久层开发的

2020-08-28 21:12:06 267

原创 Spring Boot 缓存Ehcache、Redis(六)

Spring Boot 缓存技术一、Spring Boot整合Ehcache如果对Ehcache不了解可以查看一下文档,进行了解1 修改 pom 文件<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 https://maven

2020-08-28 00:07:51 140

JSONView-for-Chrome.zip

谷歌浏览器json格式化插件

2021-07-02

spring cloud配置中心客户端

spring cloud配置中心客户端

2021-06-17

spring cloud配置中心服务端

spring cloud配置中心服务端

2021-06-17

spring cloud eureka 注册中心客户端

spring cloud eureka 注册中心客户端

2021-06-17

spring cloud eureka 注册中心服务端

spring cloud eureka 注册中心服务端

2021-06-17

spring cloud版本统一父工程

spring cloud版本统一父工程

2021-06-17

txlcn-demo.rar

分布式事物TXLCN,TM中心

2021-06-08

空空如也

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

TA关注的人

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