自定义博客皮肤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讨论

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

原创 通过验证证明synchronsyncized 关键字的锁升级

对于java 开发synchronized并不陌生,在我们并发编程中有一定分量,jdk1.5之前为重量级锁,jdk1.6后由于业务需要进行锁优化(具体jdk1.5是否为重量级锁,由于没有使用过不在验证);首先我们要知道我们对象体有2词1补充的说法,什么意思呢?就是MARK WORD ,KCLASS WORD ,填充空间,看网上资料中提到mark最多的一张图:其实,我个人认为不是很准确,这个是可能是32位机器所说明的结构,一下为64位系统,与上述图有不同。结论1:* ----单线程(这里指我.

2021-03-09 20:41:18 53

原创 简单代码分析线程

public class Test1 { private static boolean running=true; static int i=0; public static void main(String[] args) throws InterruptedException { runTets(); Thread.sleep(100);//增加sleep 主线程休眠,此时running =true 因此线程一直运行 runnin.

2021-03-02 22:55:17 29

转载 Excel大批量数据的导入和导出,如何做优化?

Java对Excel的操作一般都是用POI,但是数据量大的话可能会导致频繁的FGC或OOM,这篇文章跟大家说下如果避免踩POI的坑,以及分别对于xls和xlsx文件怎么优化大批量数据的导入和导出。一次线上问题这是一次线上的问题,因为一个大数据量的Excel导出功能,而导致服务器频繁FGC,具体如图所示可以看出POI的对象以及相关的XML对象占用了绝大部分的内存消耗,频繁FGC说明这些对象一直存活,没有被回收。原因是由于导出的数据比较大量,大概有10w行 * 50列,由于后台直接...

2021-02-19 14:59:52 126

原创 解密Springboot starter

Springboot 目前是一个非常火的框架,它能快速开发,快速集成等优点,打破传统的一些繁琐配置以及各种配置。(在这里注意只是跟以前开发过程相比)那么springboot 具体怎么做的,现在通过自己看源码来学习一下,有不得当的地方请各位同行指出、交流。首先我们知道在我们进行springboot 搭建的时候,在pom 文件中导入各种jar 中有一个特别亮眼的词:Starter,那么今天看一下就看下它的源码,看一下它做了什么事情。下面就以我们非常熟悉的mybatis starter 为例:首先我们

2021-01-23 13:28:26 49 1

原创 Springboot 解决跨域问题

问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,其目的在于防止某个文档或者脚本从多个不同“origin”(源)装载。它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。注:具有相同的Origin,也即是拥有相同的协议、主机地址以及端口。一旦这三项数据中有一项不同,那么该资源就将被认为是从不同的Orig

2021-01-18 22:35:48 18

原创 一步到位设置linux 时间

某天突然发现,Linux 时间与网络时间查了2天,所以需要校正过来,只用简单实用命令: date -s "20091112 18:30:50" &&hwclock --systohc

2021-01-03 09:52:04 31

原创 Linux忘记root用户的密码

操作步骤:步骤一:当开机启动出现启动的图标的时候,这时快速按下Esc或者E,一定要快点,不然总是来不及,也可以启动后就一直点。。。当按下Esc或者E会出现如下界面:步骤二:这时在此按e,上图中有解释e是做什么的,‘e’ to edit the commands before booting,意思就是在启动之前编辑命令。按下e后会出现下图界面:图中已经说明,使用上下箭头进行选择,这时我们选择kernel这一行,即要操作的内核,选中这一行后,继续按e,出现如下界...

2020-12-24 22:21:39 23

原创 JAVA 简单单例模式

单例模式其实我们并不陌生,在学习语言编程时就已接触过,

2020-12-13 08:49:49 87 1

转载 Jersey Rest 异常统一处理机制

前言: 异常分为运行时异常和非运行时异常,所谓的运行时异常是指那些不需要异常捕获的异常,总是交由虚拟机接管,如:ArrayIndexOutOfBoundsException,我们在写程序时,并没有使用try..catch来捕获它。 以前,我们进行项目开发时,习惯性的喜欢使用大量的try...catch...finally方法来进行异常处理,并且,只是将异常信息保存到log日志中即可,并没有将一些异常信息以可读性的方式返回给前端用户。而在一些比较大的项目中,进行异常统一处理是架构师...

2020-12-01 10:31:34 25

原创 Spring 容器 与SpringMVC容器知多少

首先在我们开发中会与到各种各样的容器,今天我们就说一下spring 容器与springmvc容器,其实这两个没有必要是说spring 容器或者说springmvc 容器,其实这两个都会执行spring 核心方法refreash();其实有时候网上有说这两个容器的区别,我感觉这个没有不是很容易说的问题,这个问题比较较真,其实spring 容器我感觉是spring 运行环境,各种组件、处理器等等的一个总称。这两个也是侧重点不同才有了不同的叫法。1、spring 容器/** * spring 容器初始

2020-09-20 19:02:25 61

原创 idea initialization failed for ‘http://start.spring.io‘

在网上看到了很多这种解决方案,真的是无语了,并不能解决问题,以下是我的解决思路及方法。首先我们检查网络是否联通,我在家连的是wifi ,并且能够访问互联网,在idea 中使用spring 工具撞见springboot 项目,使用链接不上,点击setting 中我们可以通过http 进行测试结果链接超时,说明我们并不能链接此网站,试了一下百度也不行,但是网页可以访问,那么我怀疑是网卡配置有问题;于是打开cmd ,ping www.baidu.com 结果找不到主机,试了一下ping 127.0.0.1 可

2020-08-21 00:16:03 64

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

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

2020-05-31 16:00:26 128

原创 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 323

原创 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 237

原创 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 92

原创 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 283

转载 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 190

转载 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 1605

原创 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 546

转载 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 188

原创 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 4702 3

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

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

2020-04-06 12:16:20 135

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

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

2020-03-21 11:14:33 312

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

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

2020-03-16 13:33:03 64

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

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

2020-03-15 22:23:31 206

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

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

2020-03-14 20:56:45 625

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

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

2020-03-09 11:42:01 635

转载 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 82

转载 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 628

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

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

2020-02-27 08:25:55 53

原创 常用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 59

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

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

2020-02-25 13:35:03 52

原创 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 394

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

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

2020-01-18 22:49:15 101

原创 Redis 5.0 Stream 新特性

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

2020-01-18 13:05:04 153

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

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

2020-01-05 18:03:01 136

原创 Semaphore原理分析

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

2019-12-30 00:15:17 59

原创 Synchronized 你了解多少

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

2019-12-22 22:18:52 55

转载 JVM参数使用手册

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

2019-12-17 21:03:37 35

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

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

2019-12-12 00:32:25 109

springMVC 简单实例流程代码

最近重温springmvc框架知识,自己动手编写了springmvc一些简单的小功能,也是springmvc最基本的流程开发及相关组件使用,,并且有详细注解说明,对于新手非常使用。

2017-11-20

spring源码解读.xmind

对于有一定java开发技术人员想要了解spring 内部工作原理,可以根据思维导图进行源码分析与学习。

2019-11-03

创建自定义连接池实例

简单的利用java装饰模式自定义实现了连接池简单实例。

2018-01-20

文件下载进度条

2017-03-25

利用java内省机制将页面参数进行封装

利用内省机制封装页面参数

2017-03-19

hadoop权威指南

hadoop权威指南(第四版),初学hadoop的很好的资料。

2017-10-09

struct中文手册

struct中文手册是一个很好的开发依赖文档,可以有助于我们快速开发

2017-10-15

空空如也

空空如也

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

TA关注的人 TA的粉丝

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