自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git 命令接解冲突

git 命令解决冲突

2023-01-04 20:21:42 138

原创 Linux常用命令

Linux 常用命令_延成的博客-CSDN博客_mkdir release

2022-12-07 10:41:23 276

原创 一条sql是怎么执行的?

1

2022-10-25 18:44:47 130

原创 sql执行顺序

SQL执行顺序

2022-09-02 16:52:05 87

原创 JVM类加载器(详解)

全面了解类的加载全过程

2022-05-07 22:53:42 557 1

原创 JVM(一)原理

一、java虚拟机的生命周期:  Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名。 Main()方法是程序的起点,他被执行的线程初始化为程序的初始线程。程序中其他的线程都由他来启动。

2022-03-27 14:31:26 490

原创 JVM(四)参数配置

七、JVM配置参数一、jvm配置参数分为3大类:1、跟踪参数:跟踪、监控JVM状态,用于程序员JVM调优及故障排查2、堆分配参数:分配堆内存3、栈分配参数:分配栈内存二、各类配置参数常用参数:1、常用跟踪监控参数:①打印gc简要信息第一个:-XX:+PrintGC第二个:-verbose:gc这2个参数效果一样,都是在发生gc时,打印gc简要信息的。以1: [GC (Allocation Failure) 32686K->1648K(123904K), 0.

2021-12-22 10:34:23 423

原创 Finalize详解

finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize的作用f(1)finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性(2)不建议用finalize方法完成“非内存资源”的清理工作,但建议用于:① 清理本地对象(通过JNI创建的对象);② 作为确保某.

2021-05-11 17:45:11 1788 1

原创 git stash详解

常用git stash命令:(1)git stashsave "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。(2)git stash list:查看stash了哪些存储(3)git stash show:显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}(4)git stash show -p: 显示第...

2021-01-05 18:24:58 498

原创 SpringBoot AbstractRoutingDataSource实现动态数据源

一、AbstractRoutingDataSourceSpring boot提供了AbstractRoutingDataSource 根据用户定义的规则选择当前的数据源,这样我们可以在执行查询之前,设置使用的数据源。实现可动态路由的数据源,在每次数据库查询操作前执行。它的抽象方法 determineCurrentLookupKey() 决定使用哪个数据源。org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource 源码的介

2020-12-22 17:20:21 723 1

原创 AbstractRoutingDataSource源码

承接上篇动态数据源配置MultipleDataSource.java:package com.zxq.iov.cloud.sp.mds.datasource;import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;public class MultipleDataSource extends AbstractRoutingDataSource { private static fina.

2020-12-22 17:08:07 190

原创 Spring AbstractRoutingDataSource 多数据源切换原理

1.在spring中有一个抽象类AbstractRoutingDataSource类,通过这个类可以实现动态数据源切换。如下是这个类的成员变量private Map<Object, Object> targetDataSources;private Object defaultTargetDataSource;private Map<Object, DataSource> resolvedDataSources;targetDataSources保存了key和数据库连接

2020-12-22 16:57:13 224

原创 HttpsURLConnection

使用HttpsURLConnection访问https资源(自签名)原创passengers工作日志2017/07/07 16:44阅读数 3.5Khttps(安全超文本传输协议)与http(超文本传输协议)相比,多了一层SSL认证,需要我们提供特定网点的证书才能访问 如果我们纯粹的用HttpsURLConnection去访问,则会报异常(使用不同的框架会导致所报的异常不同)解决办法: 一、设置HttpsURLConnection,让它信任所有证书(即跳过验证步骤) 二、为Htt

2020-12-07 14:35:33 5863 1

原创 Linux常用命令

1、查看服务当前状态Ps -ef | grep 服务名e.g: ps -ef | grep sp-zmds2、cd 命令cd /home 进入 '/ home' 目录'cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入个人的主目录cd ~user1 进入个人的主目录cd - 返回上次所在的目录3、创建删除目录mkdir dir1 创建一个叫做 'dir1' 的目录'mkdir dir1 dir2 同时创建两个目录mkdir -p /tmp/di...

2020-12-04 17:08:23 172

原创 linux系统盘使用率达到100%的问题查找和解决方法

linux系统盘使用率达到100%的问题查找和解决方法近期一直发现主数据业务服务的系统磁盘没过几天就满了,系统磁盘空间不够,登录服务器进行查看,磁盘使用虑达到99%~100%,感觉比较奇怪,所存的东西并不多,怎么会将磁盘占满,而且数据都是存在数据盘下,通过简单的进行查看,总体有了些思路,分为三步走:一、先对系统盘下所有文件大小进行统计,是否真的是数据存储以达到了磁盘空间  当时对系统盘所有文件进行统计,总共才5.5G的大小,对数据盘进行统计总共才10G左右,就算数据盘的数据算...

2020-12-01 17:00:57 1465

原创 RestTemplate 用法详解

基本的微服务环境搭建,由 provider 提供服务, consumer 通过 DiscoveryClient 先去 eureka 上获取 provider 的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做 RestTemplate,RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。在上文的案例中,开发者也可以不使用 RestTemplate ,使用 Java 自带的 HttpUrlConnection 或者经典的网络访问框架 HttpC

2020-11-15 11:01:00 2229

原创 <aop:aspectj-autoproxy />作用

通过配置织入@Aspectj切面虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。通过aop命名空间的<aop:aspectj-autoproxy />声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。当然,spring在内部依旧采用AnnotationAwareAspectJAutoProxyCreator进行自动代理的创建工作,但具体实现的细节已经被<aop:aspectj-au

2020-11-06 17:27:34 3396

原创 吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

QPS原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。每天300w PV 的在单台机器上,这台机器需要多少QPS?( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。一般需要达到139QPS,因为是峰值。QPS每秒查询率QPS是对...

2020-08-27 11:07:15 873

原创 spring中事务的实现方式和失效场景

spring中事务的实现方式和失效场景实现方式:  1、编程式事务,这种方式需要我们在业务代码中手动beginTransactional(),commit(),rollback(),因此使用较少;  2、声明式事务,这种方式是建立在AOP之上的,其本质是对方法的前后进行拦截,然后在目标方法的开始前创建或者加    入一个事务,在执行完目标方法之后根据执行结果提交或者回滚事务;这种方式的优点在于无需在业务代码中掺杂相    应的事务管理的方法,只需要在配置文件中加入相关的事务规则声明或者使

2020-07-29 10:56:01 139

转载 LocalDate的认识(一)

转载:https://my.oschina.net/mdxlcj/blog/16227183、Date3.1、JDK7 Date缺点1、所有的日期类都是可变的,因此他们都不是线程安全的,这是Java日期类最大的问题之一2、Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义3、java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将其纳入java.sql包并不

2020-07-08 16:34:01 300

原创 Map.keySet()排序问题

Map.keySet()方法把key映射到Set里,其是否有序,文档没有明确说明,今天我做了试验,具体如下:publicstaticvoidmain(String[]args){Map<String,String>m=newHashMap<String,String>();m.put("1","a");m.put("2","d");m.put("3","c");m.put("8","os");m.put("6","six...

2020-05-29 17:03:46 2323

原创 java8 lambada使用Collectors.groupingBy分组顺序错误

最近有个需求就是按照stations(工位) 分组排序但是一直数据都是错乱的,后来查了资料可以看到有三个参数,第一个参数就是key的Function了,第二个参数是一个map工厂,也就是最终结果的容器,一般默认的是采用的HashMap::new,最后一个参数很重要是一个downstream,类型是Collector,也是一个收集器,那就是说,这三个参数其实就是为了解决分组问题的第一个参数:分组按照什么分类第二个参数:分组最后用什么容器保存返回第三个参数:按照第一个参数分类后,对应的分类...

2020-05-29 16:23:42 1272

原创 mysql执行顺序

mysql执行顺序SELECT语句执行顺序SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行:开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句,就跳过对比了一下,mysql...

2020-05-27 14:39:30 107

原创 BufferedImage类、Image类、Graphics类

BufferedImage:Image是一个抽象类,BufferedImage是其实现类,是一个带缓冲区图像类,主要作用是将一幅图片加载到内存中(BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便地操作这个图片),提供获得绘图对象、图像缩放、选择图像平滑度等功能,通常用来做图片大小变换、图片变灰、设置透明不透明等。 public abstract Graphics getGraphics(); //获得在图像上绘图的Graphics对象Java将一..

2020-05-15 15:59:08 216

原创 MVC模式

一、MVC模式简介MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率。在MVC模式中,应用程序被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式,也就是通常所说的页面或者...

2020-04-05 22:22:17 416

原创 java BigDecimal加减乘除,向上、向下取整

Java BigDecimal类型的 加减乘除运算不能像C#一样简单,需要调用方法:加法:add减法:subtract乘法:multiply除法:divide可参考下面代码:BigDecimal bignum1 = new BigDecimal("10");BigDecimal bignum2 = new BigDecimal("5");BigDecima...

2020-04-04 22:28:33 14585

原创 DECIMAL

一、简述在实际的企业级开发中,经常遇到需要存储金额(3888.00元)的字段,这时候就需要用到数据类型decimal。在MySQL数据库中,DECIMAL的使用语法是:DECIMAL(M,D),其中,M 的范围是1~65,D 的范围是0~30,而且D不能大于M。二、最大值数据类型为DECIMAL的字段,可以存储的最大值/范围是多少?例如:DECIMAL(5,2),则该字段可以存储-...

2020-03-20 16:38:44 1719

转载 CRC 校验的原理及功用

1.CRC介绍:循环冗余码校验英文名称为CyclicalRedundancyCheck,简称CRC。它是利用除法及余数的原理来作错误侦测(ErrorDetecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。根据应用环境与习惯的不同,CRC又可分为以下几种标准...

2020-03-20 14:52:20 1184

原创 压缩流的使用(一)

@Override public void downLoadZip(List<String> filePaths, String zipFileName, HttpServletResponse response) throws Exception { if (StringUtil.isBlank(zipFileName)) { //...

2020-03-20 11:30:15 191

原创 HttpServletResponse对象 :reset()与resetBuffer()的区别(一)

getResponse的getWriter()方法getResponse的getWriter()方法连续两次输出流到页面的时候,第二次的流会包括第一次的流,所以可以使用response.reset或者resetBuffer的方法。reset():Clears any data that exists in the buffer as well as the status code ...

2020-03-19 16:38:02 3435

原创 sql注入经典案例($(_paramter))

<select id="queryTableDataForMap" parameterType="String" resultType="map"> ${_parameter}</select>在mybatis中mapper文件中像这样写,你只需要传入一条String格式的sql语句他就可以直接执行了,所以可以在动态配置的时候使用到该参数的含义...

2020-03-06 10:30:44 292

原创 WebService(三)原理浅析

WebService和编程语言中的类相似,它们都实现了一些功能,并且通过方法供给外部调用,不同的是WebService是部署在网络服务器上,而类在同一个进程空间里面。WebService部署在网络上,通过网络进行服务调用,只要遵循了访问协议,任何编程语言都可以访问服务,所以它是编程语言不相关的。我们可以通过类文件知道一个类提供了哪些方法,那怎么知道WebService提供了哪些服务供外部调用呢...

2020-01-06 17:34:31 207

原创 WebService详解(二)之调用方式

Webservice调用方式:axis,soap详解调用webservice,可以首先根据wsdl文件生成客户端,或者直接根据地址调用,下面讨论直接调用地址的两种不同方式:axis和Soap,soap方式主要是用在websphere下axis全称Apache Extensible Interaction System 即阿帕奇可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建服...

2020-01-06 16:49:49 408

原创 WebService详解(一)

1. 认识webserviceWebService定义: 顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。Webservice理解:我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单...

2020-01-06 16:41:03 976

原创 mysql数据库的锁有多少种,mysql中怎么加锁

一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存...

2019-12-31 14:47:38 160

原创 Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction

今天自测是接口报错:Lock wait timeout exceeded; try restarting transaction,经过排查是因为事物锁等待超时,后提交的事务等待前面处理的事务释放锁,但是在等待的时候超过了mysql的锁等待时间,就会引发这个异常。锁等待超时最后发现是本地在调试,对同一资源进行操作锁还没有释放(本地用的debug),而此时在环境上做相同的操作出现了锁等待超时的情况...

2019-12-30 16:34:44 264

原创 线程与进程(一)

多线程的实现(两种途径三种方式):1.集成Thread类多线程的启动不调用run()方法而是调用start()方法:使用Threa类的start()方法不仅要启动多线程的执行代码,还要去根据不同操作系统进行资源分配。2.实现Runnable接口(callAble接口)public interface Runnable{//接口中的方式都是public修饰 pub...

2019-12-16 22:05:39 72

转载 http的无状态无连接到底是什么含义

无连接:服务器处理完客户的请求,并收到客户的应答后,即断开连接。早期这么做的原因是:HTTP协议产生于互联网,因此服务器需要处理同时面向全世界数十万、上百万客户端的网页访问,但每个客户端(即浏览器)与服务器之间交换数据的间歇性较大(即传输具有突发性、瞬时性),并且网页浏览的联想性、发散性导致两次传送的数据关联性很低,如果按照上面的方式则需要在服务器端开的进程和句柄数目都是不可接受的,...

2019-12-16 17:56:01 381

原创 一致性(Consistency),可用性(Avilable),分区容错性(Tolerance of network Partition)

网络摘抄理解:一致性:读操作总是能读取到之前完成的写操作结果,满足这个条件的系统称为强一致系统,这里的“之前”一般对同一个客户端而言;可用性:读写操作在单台机器发生故障的情况下仍然能够正常执行,而不需要等待发生故障的机器重启或者其上的服务迁移到其他机器;分区可容忍性:机器故障、网络故障、机房停电等异常情况下仍然能够满足一致性和可用性。自己的理解:一致性:如下图1中所示,Cli...

2019-12-16 14:30:15 1599

转载 四种Java线程池用法解析(一)

本文为大家分析四种Java线程池用法,供大家参考,具体内容如下http://www.jb51.net/article/81843.htm1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 newThread(newRunnable(...

2019-12-05 16:14:52 125

空空如也

空空如也

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

TA关注的人

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