自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Oracle 取随机数

1、从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从STAFF表中随机取3条记录2、产生随机数 SELECT DBMS_RANDOM.RANDOM FROM DUAL; 产生一个任意大小的随机数 SELECT ABS(MOD(DBMS_RANDOM.RANDOM,100))...

2021-11-27 12:00:20 508

原创 JDBC连接资源的关闭和释放顺序

为什么需要释放jdbc资源#提问:Connection、Statement和ResulSet?这三个对象是在方法内部定义的,则这三个对象不是在方法执行完毕就消失了么,为什么还要单独去关闭它们呢?解答:这个连接是与数据库服务器的一个连接,虽然你的方法结束了,但是这个资源依然存在数据库连接并没有释放提问:为什么在JDBC对数据库访问结束后,要按先关闭ResultSet,然后关闭PreparedStatement,最后关闭Connection,直接关闭Connection不就行了吗?解答: 感觉上

2021-09-10 16:40:48 6992 1

原创 Cenots7上IP发生变化之后Oracle19C调整

服务器ip变更后操作步骤1. 首先说明一下 centos 和 rhel 的关系redhat是最大的开源软件公司(现在已经被IBM收购)作为开源最大的受益者, redhat 自己的 rhel(redhat enterprise linux)的源代码释放出来, 然后在于社区打包编译测试完成之后释出centos 操作系统(Community enterprise operating system)他们的大版本 小版本号 完全一致 源码也相同 区别就是 centos 不包含 redhat的一些增..

2021-09-03 15:43:51 296

原创 SpringBoot多数据源切换无效解决方案

SpringBoot的多数据源实现以实现AbstractRoutingDataSource#determineCurrentLookupKey()来达到多个数据源动态切换的目的。网上有很多的文章可以获取具体方法,就不在讲了。项目中需要用到多数据源MySQL和SQLServer两个数据库,系统要保持两个数据库的数据同步,就需要来回切数据源来操作数据库。刚写好了数据从MySQL同步到SQLServer中的代码,测试发现数据源不能切换到SQLServer数...

2021-08-21 11:38:10 3272

原创 在centos7环境Jenkins部署步骤

第一步:下载安装包下载jenkins的安装包Jenkins各版本的rpm安装包,并且导入Centos中:[root@iZ23evimvf8Z install]# rpm -ivh jenkins-2.150.3-1.1.noarch.rpmwarning: jenkins-2.150.3-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEYPreparing... ...

2021-08-17 16:17:58 251

原创 RestfulApi--RestTemplate调用方式

1.我们通过 http://start.spring.io/ 初始化一个简单的spring boot工程,取名 resttemplate, 由于只研究RestTemplate的特性,故仅添加web即可,如图所示,另外本项目额外添加了alibaba.fastjson这个jar包,你需要在pom.xml添加依赖<!--阿里 FastJson依赖--><dependency> <groupId>com.alibaba</groupId>...

2021-08-14 15:22:43 448

原创 Java异常处理之InvocationTargetException(反射异常)

InvocationTargetException异常由Method.invoke(obj, args...)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收!!!例子:示例: packagecom.zzj.test.reflect;publicclassReflect{publicvoidrun(inti)throwsZeroException{Bb=newB();...

2021-08-12 11:14:40 8504

原创 《服务器和Java线程之间关系》

背景: 最近被问到【一台服务器最多可以有多少Java线程】的问题,大概知道跟计算机硬件、内存等有关系,每个线程都有独自的java虚拟机栈,应该虚拟机栈的大小,决定了有多少线程。详情就不太清楚了。求真过程:1.跟内存的堆大小、虚拟机栈Xss大小有关系每个线程都有一个线程栈空间通过-Xss设置,查了一下我们服务器的关于jvm内存的配置-Xms4096m-Xmx4096m-XX:MaxPermSize=1024m只有这三个,并没有-Xss 和-XX:ThreadStackSi.

2021-06-23 17:50:19 515

原创 SSH远程监控OGG进程状态<EOF执行

其实我对这个东西的用法理解也不深,目前也只用过两次,但真的可以解决大问题。通过Java的SSH方式可以便利的执行各种shell脚本,让程序员解脱每次查询问题都要登录到linux服务器的情况先说一下<<efo的作用,官方的说法是这样的:在shell脚本中(bash编程),<<EOF表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。而EOF可以换成任何其他字符都可以。我的的理解是这样的:当想自动完成一个程序的输入的时候就可以用这个方法,举例说

2021-04-26 17:38:50 1089

原创 Java常用正式则表达式总结

非常好用的正则表达式"\\s+" - 匹配任意空白字符详解 "\\s+"正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v]\f -> 匹配一个换页 \n -> 匹配一个换行符 \r -> 匹配一个回车符 \t -> 匹配一个制表符 \v -> 匹配一个垂直制表符而“\s+”则表示匹配任意多个上面的字符。另因为反斜杠在Java里是转义字符,所以在Java里,我们要这么用“\\s+”.那么问题来了,“\\s+

2021-04-26 17:20:43 105

原创 《Mybatis源码分析理解》

如果不太熟悉MyBatis使用的请先参见MyBatis官方文档,这对理解其架构设计和源码分析有很大好处。一、概述MyBatis并不是一个完整的ORM框架,其官方首页是这么介绍自己The MyBatis data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures

2021-04-22 16:08:18 168 1

原创 策略+工厂设计模式替代大量if-else

前言先来看张经典的啊都给神图,感受下大量if-else的“魅力”有时候业务上的拖拉可能要求我去写出如上的多层if-else嵌套代码,如果你碰上了一个对团队成员要求相对比较严格的主管的话,那么恭喜你,死定了……脾气比较爆的大佬可能直接就跟你说要么解决上面问题,要么收拾包袱滚蛋了。那上述代码能否用设计模式相关解决呢,答案是:YES,可以用策略模式+工厂模式。限于本文篇幅,上述的两种模式这边就不详细介绍了,不懂的可以直接百度,本篇博文简单粗暴,会以最暴力的代码来解决问题。原始代码pub

2021-04-04 11:50:23 399 1

原创 Mybatis一级缓存二级缓存使用总结

一级缓存  Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。              

2021-04-04 10:44:44 137

原创 JAVA8函数之Supplier和Consumer接口使用理解

一.Supplier接口顾名思义,这是一个供应商,提供者.就如一个工厂一样.该类的源码如下:package java.util.function;@FunctionalInterfacepublic interface Supplier<T> { T get();}该接口就一个抽象方法get方法,该接口在 JAVA8之函数式接口返回实例篇中第一个示例就是利用的该接口.不用传入任何参数,直接返回一个泛型T的实例.就如同无参构造一样.示例...

2021-03-24 16:54:56 2643 2

原创 《WebService调用总结》

背景:在项目的真实开发场景中,对应不同第三方厂商的时候,会遇到通过WebService接口交互的场景,由于第三方可能会有部署Ngnix负载,导致tool.exe调用异常,SoapUI调用是成功的,Soapui是有通过解析WS的远程文件,生成对应请求头。W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。简单的说:WebService即Web服务,它是一.

2021-03-09 16:35:43 524

原创 JUC理解Semaphore及其用法详解

背景:在实际的项目使用中,需要控制服务占用线程情况、不影响服务器CPU 、内存的性能,线程的控制是必要的,所以做记录。定义:Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。方法:Semaphore的主要方法摘要:  void acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。  void release():释放一个许

2021-01-24 20:46:03 662

原创 Oracle-表分析和索引分析使用总结

概述当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息。 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。所以对于CBO,数据段的分析就非常重要。分析SQLanalyze table tablename compute statistics等同于 analyze table tablename compute statistics

2021-01-19 14:56:52 497

原创 在oracle中,select语句查询字段中非纯数字值

问题背景:最近,将原来的数字符字段转换为数字时,总报错误:无效数字。如何找出其中哪些是非数字字符的记录?比较麻烦的事。下面是用OracleDB自带的函数translate可以找出来的1.创建测试表Create Table TestChar( ITEM_NUMBER VARCHAR2(20));2.手工插入测试记录Insert Into TestChar (ITEM_NUMBER) values ('312');Insert Into TestChar (ITEM_NUM...

2021-01-19 14:03:51 1301

原创 mybatis中﹤![CDATA[ ]]> 的使用

问题:mybatis中﹤![CDATA[ ]]> 的使用描述: <!--WARNING - @mbggeneratedThis element is automatically generated by MyBatis Generator, do not modify.This element was generated on Thu Oct 10 09:46:29 CST 2013.--><if test="page != null"&gt...

2021-01-18 15:55:15 390

原创 Hutool使用总结篇

一、整体分层Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子。如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有。本文将对Hutool中的常用工具类和方法进行介绍。 ##一、简介 一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:hutool-core 核心,包括Bean操作、日期、各种Util等 hutool-aop JDK动态代理封装,提供非IOC下的切面支持

2021-01-06 14:16:17 11200

原创 CountDownLatch实战总结

在笔者想要了解Thrift时候,找到一个博主写的系统间通信技术的架构设计,在了解和学习的过程中遇到很多小问题和基础知识,自己还是不够清楚,就查询和总结下。因为笔者也都是从网上找的一些资料,好的资料笔者都是自己收敲一遍,这样觉得能够加深下印象,引发更多的思考,毕竟很多时候笔者感觉自己都是七秒的记忆。在第一篇文章中遇到了一个CountDownLatch同步计数器,当计数器数值减为0时,所有受其影响而等待的线程将会被激活,这样保证模拟并发请求的真实性。CountDownLatch概念CountDo

2020-12-13 22:00:53 225

原创 log4j2 实战总结

一、目录简介基础部分 日志框架简单比较(slf4j、log4j、logback、log4j2 ) log4j2基础示例 log4j2配置文件 实战部分 slf4j + log4j2 实际使用 二、日志框架比较(slf4j、log4j、logback、log4j2 ) 日志接口(slf4j) slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback) ...

2020-12-04 14:30:22 199

原创 Spring中@Async方法总结

 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。  1. 何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕;而...

2020-12-02 20:58:03 488

原创 ThreadLocal相关总结

在阅读Handler源码时发现了这么一个东西,本想直混在其他博客中一笔带过,但仔细想了下这个东西还是蛮重要的,于是开了这篇博客。ThreadLocalthreadlocal使用方法很简单static final ThreadLocal<T> sThreadLocal = new ThreadLocal<T>();sThreadLocal.set()sThreadLocal.get()threadlocal而是一个线程内部的存储类,可以在指定线程内存储数据.

2020-11-30 22:12:54 55

原创 @RequestBody总结相关

提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基 本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍: @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBo...

2020-03-23 14:22:36 885

空空如也

空空如也

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

TA关注的人

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