自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaocai9999的专栏

欢迎进行JAVA讨论

原创 详解跨域(最全的解决方案)

首先我们要了解跨域的本质,跨域是指是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。标注的红色字体是本质问题,那么怎么解决呢?思路:想方设法满足上面条件,那么我们就可以正常进行访问了。1、所谓的同源是指,域名、协议、端口均为相同,常见的同源策略 :http://www.nealyang.cn/index.html 调用 http://www.nealyang.cn/server.php 非跨域 http://www.nealyang.cn/

2020-05-31 16:00:26 69

原创 Vue 组件父子组件传值实例

大家都知道,vue组件是数据驱动的一个前端框架。在开发中我们避免不了进行父子传值问题。下面举例说明:<!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>vue-study</title...

2020-05-24 17:06:07 103

原创 httpservetreuqest 如何转换MultipartHttpServletRequest

解决方案:在我们spring 中配置一个对应处理器就可以了,在我们的action 中注入一个CommonsMultipartResolver 通过此对象获取MultipartHttpServletRequest 对象,具体如下: <bean id="userOrganSynAction" name="/userOrganSynAction.do" class="com.szpl.specialaction.base.web.UserOrganSynActi...

2020-05-19 19:16:15 42

原创 swagger-ui 在Spring cloud 中Unable to infer base url. This is common when using dynamic servlet regist

首先springboot 怎么继承swagger 不在进行讲解,遇到此问题后来发现是@EnableSwagger2Doc(使用第三方,如果是官方的请加官方注解)注解没加上导致swagger 功能不能有效。

2020-05-17 09:36:31 74

原创 java.lang.ClassNotFound Exception: org.springframework.expression.ParserContext 解决方案

java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:...

2020-05-07 00:49:21 119

转载 jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程

症状:使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jdk1.6.u45及1.7u45均尝试了,也重现。重现步骤很简单,使用debug模式启动时较容易出来,debug启动tomcat,(我的是webapp)然后在页面上随便点点即发现eclipse僵死,且任何从浏览器发出的请求都卡住不能被接收执行。1、然后从任务管理器直接杀掉...

2020-04-19 16:41:09 72

转载 Java HttpClient 发送https post请求

我们在使用java jdk的net包中HttpURLConnection,发送http post请求时ok,但是要发送给https post请求的时后,就不行,往往会报下面的错误:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building fa...

2020-04-12 22:38:01 318

原创 github 微服务资源及工具汇总

名称类型描述地址Eureka源码服务发现https://github.com/Netflix/eurekaFeign源码声明式服务调用https://github.com/OpenFeign/feignHystrix源码服务熔断https://github.com/Netflix/Hystrixspring-boot源码SpringBoothttps://github.com/spri...

2020-04-11 17:54:59 375

转载 MySQL数据库面试题(2020最新版)

2020各个知识点面试地址:https://blog.csdn.net/ThinkWon/article/details/104778621?depth_1-utm_source=distribute.pc_feed.none-task-blog-alirecmd-1&request_id=&utm_source=distribute.pc_feed.none-task-blog-...

2020-04-09 00:08:04 116

原创 springcloud config :Authentication is required but no CredentialsProvider has been registered

在注册中心配置git 仓库地址,那么我们需要配置git 用户名密码进行安全链接:spring: application: name: config-server cloud: config: name: config-server server: git: uri: https://github.com/al...

2020-04-06 12:23:55 1836 2

原创 启动SpringCloudEureka 报错: Cannot execute request on any known server

产生此错误就是未找到注册中心服务,使得我们没有注册成功。我遇到时首先查看eureka 服务端是否成功,是否开启校验,然后我们在客户端配置此时启动我们的客户端,会报标题错误,此时我们应该注意既然我们的注册中心开启了校验,那么我们需要清楚我们需要普通的安全机制肯定校验访问链接或者是普通的防漏洞等,那么我们需要自定义我们的访问服务的定制:启动注册中心,然后启动我们的客户端此时我们...

2020-04-06 12:16:20 86

原创 eureka 启动提示:Address already in use: bind

首先确认一点就是我们配置的端口被占用了,首先我们找到占用进程:1.进入cmdnetstat -ano|findstr “10000”2.打开任务管理器,通过进程id 查找服务查看确实有服务占用,所以我们如果是无非紧要服务可以进行结束,同时也可以修改我们服务端口配置...

2020-03-21 11:14:33 144

转载 Jersey写Restful接口获取参数的问题

一:PathParam@PathParam使用该注释获取参数时可以获取URI中制定规则的参数例如: //该类的路径为/user @GET @Path("{username"}) @Produces(MediaType.APPLICATION_JSON) public User getUser(@PathParam("user...

2020-03-16 13:33:03 40

原创 Springboot 自定义项目异常,错误页面错误数据

一个系统中避免不了一个就是错误信息,所以我们有必要自己定义灵活的友好的错误信息,在此之前我们有必要了解一下springboot 的错误处理机制。首先我们知道在springboot 应用中我们@SpringBootApplication 注解,其中最主要的就是我们自动配置类,它启动了一个选择器AutoConfigurationImportSelector这个类中selectImports ...

2020-03-15 22:23:31 103

原创 springboot 使用国际话自定义localeResolver 不生效

今天闲着没事,搞一下springboot ,当阅读官方文档i18n 时,闲来没事想搞一下。下面简单步骤:关键步骤:我们首先想到国际化跟locale 有关,使用springboot 最关键的就是看自动配置,那么我们首先看下webmvc 自动配置类,国际化关键配置,大概意思就是如果容器中没有LocaleResolver 对象,如果没有该对象就创建一个LocaleResolver 。这点是关键,...

2020-03-14 20:56:45 283

原创 spring boot 为什么扫描不到相关类问题

在网上看到了一些博客,都是说创建类的包 路径不对,有2种方法:1.创建类路径在application 级别目录下2.增加@ComponentScan配置。这里只是说处理办法,但是基本都没有说为什么这样,下面根据跟踪源码的方式解密为什么这样。首先我们找到一个我们非常熟悉的一种方式,使用注解类来测试bean 的获取,在这里不在复述AnnotationConfigApplicati...

2020-03-09 11:42:01 217

转载 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 http://maven.apache.org/maven-v4_0_...

2020-03-08 11:30:32 42

转载 spring boot不用parent引入,采用dependencyManagement方式

项目背景采用IDEA+Maven+Spring boot+Spring Cloud搭建了以微服务为框架的系统。由于各个子项目需要继承自己写的父pom,于是把原本spring boot的parent去掉,改为用dependencyManagement引入,代码如下://去掉原本的parent<!--<parent> <groupId>org.sp...

2020-03-08 11:22:39 331

转载 大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。一、PDF搜索网站推荐对于大部...

2020-02-27 08:25:55 41

原创 常用SQL 命令

1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'---开始 ...

2020-02-26 12:52:01 50

转载 Spring整合Quartz定时任务,在集群、分布式系统中的应用

一、概述虽然单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性、高可靠性满足。假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了。使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的 Job 得到执行。二、Quartz 中集群如何工作一个 Qu...

2020-02-25 13:35:03 44

原创 linux开放指定端口命令

方式一  CentOS:1、开启防火墙 systemctl start firewalld2、开放指定端口 firewall-cmd --zone=public --add-port=1935/tcp --permanent命令含义:--zone #作用域--add-port=1935/tcp #添加端口,格式为:端口/通讯协议--permane...

2020-01-19 22:09:17 148

转载 ECLIPSE 针对于错误:Description Resource Path Location Type Archive for required library:

下图是错误:解决办法:问题描述:主要是在maven中添加库的时候一直出现如下图所示的错误上图的大概意思是该库文件不可读取,并且获取是无效的压缩文件。并且我进入电脑目录中查看自己的该库文件,也出现了很多错误。解决方法:删除该库的目录下所有的文件,然后在eclipse中重新加载该库文件既可以解决问题。...

2020-01-18 22:49:15 77

原创 Redis 5.0 Stream 新特性

众所周知,redis 是行业的宠儿,下面是我对redis stream 的理解,如果有错误和不完整的地方,请大牛指教,互相学习。首先在我们开始其命令之前,需要明白stream 的大致数据结构及场景。比如一个消息订单,物流、支付等服务模块需要消费,那么这种场景我们不妨使用stream 实现,在了解之前需了解其数据结构,看下图大致讲解一下:首先我们生成一个stream 消息,它是以KE...

2020-01-18 13:05:04 84

转载 Fork/Join框架原理和使用探秘

什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。也是当前执行速度最快的并发框架。工作窃取算法工作窃取(work-stealing)算法是指某个线程从其他队列里窃取任务来执行。工作窃取的运行流程图如下:那么为什么需要使用工作窃取算法呢?假如我们需要做...

2020-01-05 18:03:01 31

原创 Semaphore原理分析

信号量,个人理解它向一个限制的意思,比如超过了某一设定好的标准就会无效,比如我们的在大学上学的时候,每年都举行运动会,比如男子400米比赛,4个跑到,比如报名不足4个人则我们可以一次性跑完,但是如果多了,那么多的只能等上一组跑完之后才能进行。闲话不多说,看下面几个重要的实现。信号量底层实际使用了AQS(AbstractQueuedSynchronizer) ,有一个内部类SYC,这个是实现的关...

2019-12-30 00:15:17 41

原创 Synchronized 你了解多少

对于我们开发者来说,Synchronized 最熟悉了,那么你真正了解它吗?Synchronized 给我们第一印象就是加锁,其实Synchronized 做了很多优化,现在也是性能很好的锁机制。首先有必要了解Synchronized 的锁对象,对于Synchronized 在普通方法上,这种是锁为当前对象也就是this,如果修饰静态方法Synchronized修饰的为当前类的class ,...

2019-12-22 22:18:52 38

转载 JVM参数使用手册

JVM提供了大量的参数配置,可以通过配置这些参数对JVM进行调优、记录GC日志等等,本章只罗列我自己用到过和了解过的参数,根据功能划分。内存相关通过这些参数可以对JVM的内存分配做调整Xms英文解释:Initial heap size(in bytes)中文释义:堆区初始值使用方法:-Xms2g或-XX:InitialHeapSize=2048mXmx英文解释:Maxi...

2019-12-17 21:03:37 23

原创 JAVA ThreadPoolExecutor 线程池keepAliveTime的终极含义

关于这些参数最好的学习方法是看官方文档资料,这是地址http://www.matools.com/api/java8链接我们找到ThreadPoolExecutor 类,查看API 说明如下:文档是不是解释的很清楚,针对这个参数简单理解就是如果线程超过了我们的核心线程数,那个对于闲置状态的线程最大的存活时间。...

2019-12-12 00:32:25 33

转载 Jvm参数调优

常见参数示例参数 描述 -Xms20m 堆初始值20M -Xmx20m 堆最大可用值20M -Xmn5m 新生代最大可用值5M -Xss10m 指定每个线程的私有栈大小10M -XX:PrintGC 触发GC时日志打印 -XX:PrintGCDetails 触发GC时日志打印更详细 -XX:UseSerialGC 串行...

2019-12-10 22:26:32 46

转载 Java生成短链接

因公司推广需要,需要一套短链接生成方案,正好前几天在MSDN看到有人发了一个.net版的短链接算法,我就把它转换成java版,拿出来共享一下生成思路:1.将"原始链接(长链接)+key(自定义字符串,防止算法泄漏)"MD5加密2.把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算,把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引...

2019-12-08 23:30:01 72

原创 Springboot 常用注解总结

一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用...

2019-12-08 10:25:12 22

原创 定制自己的springboot start

1.首选通过springboot 源码我们要知道其规范spring 提供的startspring-boot-strat-XXX.jarsprng-boot-xxx-autoconfig-x.y.z.jar第三方startxxx-spring-boot-x.y.jarxxx-spring-boot-autoconfig-x.y.jar2.定制自己的start1)创建...

2019-12-04 00:42:55 53

转载 javax.annotation 注释类型 PostConstruct

*/@Documented@Retention (RUNTIME)@Target(METHOD)public @interface PostConstruct {}这是元注解,PostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用 P...

2019-12-02 22:35:25 193

转载 Java 压缩20M文件从30秒到1秒的优化过程

有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。 public static void zipFileNo...

2019-11-12 00:02:52 336

原创 spring aop 代理生成入口剖析

spring 容器初始化是一个很复杂的过程,今天我们就简单追踪一下spring aop 的入口,网上也有很多的博客说明,但是有的阐述的不是很准确。对于容器初始化其实有很多入口,但是不管从那个入口初始化,最终会调用AbstractApplicationContext 类中refresh()。这个是容器初始化核心,通过finishBeanFactoryInitialization()方法进行类的创建及...

2019-11-09 21:49:23 95

转载 webAppRootKey作用

log4j是很好用的一个工具,在目前的WEB项目中经常使用。配上jakarta的common logging和Eclipse的插件Log4E很好用。不过还是有几个不太方便的地方:1 Log4j的配置文件修改了之后必须重启才能生效2 配置文件只能放在WEB-INF/classesSpring对于Log4j有了更好的增强,配置文件修改后不需要重启,不用再放到WEB-INF/cla...

2019-11-09 13:17:10 49

转载 Spring解决单例bean线程不安全问题

首先我们应该知道线程安全问题一般发生在成员变量上,这是为什么啦?因为成员变量是存放在堆内存中,而堆内存又是线程共享的,这就造成了线程安全问题因为Spring中的Bean默认是单例的,所以在定义成员变量时也有可能会发生线程安全问题。下面我们就来研究下如何解决Spring中单例Bean的线程安全问题@RestController//@Scope("prototype")public...

2019-11-05 23:49:45 423 1

转载 Springboot系列 Swagger2-生成RESTFUL接口文档

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。开始1、pom.xml 添加依赖:<!-- swagger RESTful API 文档 --><dependency>...

2019-11-03 23:06:40 42

原创 Spring 中IOC,DI等源码分析

今天没事看了一下spring源码,花了半天时间整理的spring 容器启动的流程分析,总结了一个思维导图,通过这个导图可以清晰的了解spring内部流程,一下部分导图,如果想要请下载,有了这个思维导图,可以帮助大家进行源码分析及内部实现。下载地址:https://download.csdn.net/download/xiaocai9999/11954692...

2019-11-03 17:12:51 102

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