自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Oracle触发器使用简述

【代码】Oracle触发器使用简述。

2023-02-07 14:56:40 308 1

原创 【IO异常】HTTP请求报错Error writing to server

2023-01-04 13:36:02.185]-ERROR-[biz:aplus-task-oms1060189862335877121][sys:aplus-cms-tran1060189866052390912][com.phfund.aplus.cms.tran.module.counter.service.impl.OcrServiceImpl-102][调用远程服务发送文件异常:]

2023-02-02 18:05:35 5695

原创 正则表达式基本语法和Java中的简单使用

注意:脱字符只能单个字符的判断,不能进行多个字符的字符串整体判断,需要做字符串判断则要用到断言"(?字符串)" 零宽负向先行断言或"(?字符串)" 零宽负向后行断言,即。非某个字符的其他字符,一般用"[^一个字符或多个字符]"表示,如[^>@],即不是>也不是@符号的其他字符。用[]表示一个区域的字符,如[0-9]、[a-z]、[3-9]、[C-N]、[0596mz]对于表达式中的特殊符号,如果需要使用其符号本身(而非特殊含义),则需要在前面加转义符。用()表示一个一个整体。...

2022-08-08 10:33:53 1314

原创 SimpleDateFormat做严格时间格式校验

须特别注意setLenient方法,默认是true宽松的格式校验,很多不符合格式的也会转换成功;设置为false则强校验格式,不符合则转换失败。

2022-07-27 09:45:56 1449 1

原创 实体类转String(即重写toString方法)的N种方式

类如下:public class BosBaseObject implements Serializable { private String createBy; private Long createDate; private String updateBy; private Long updateDate;}一、直接使用(不重写)打印的数据只有类的hashCode,并没有将类中的数据打印出来BosBaseObject baseObject = ne.

2021-12-28 14:42:09 4334

原创 在Oracle存储过程使用execute immediate语句建表时权限不足的解决方案

首先在存储过程中无法直接编译ddl语句,所以采用在execute immediate语句中执行ddl语句的方式但是在存储过程中使用execute immediate执行ddl语句时,可能会报权限不足异常,如例

2021-10-19 13:35:30 3310

原创 防止空指针优雅的写法

使用Optionalpublic static void main(String[] args) { BigDecimal decimal = null; //如果为空则默认值为123 BigDecimal a = Optional.ofNullable(decimal).orElseGet(()->new BigDecimal("123")); //只有为空时调用newOne方法生成999 BigDecimal b = Optional.ofNullable(decimal).orE

2021-09-27 19:37:38 578

原创 Oracle中trunc函数

trunc截取函数处理数字,不进行四舍五入,直接截取。select trunc(123.458) from dual; --123select trunc(123.458,0) from dual; --123select trunc(123.458,1) from dual; --123.4select trunc(123.458,-1) from dual; --120select trunc(123.458,-4) from dual; --0select trunc(123.458,

2021-09-27 10:24:50 907

原创 Oracle备份表

手动备份create table [备份名] as select * from [表名];truncate table org_group;insert into org_group select * from [备份名] ;Oracle单表备份三种方案 - kakaisgood - 博客园定时自动备份

2021-09-27 10:05:52 10601

原创 NotePad++中正则表达式的分组和引用

使用$1、$2......引用分组例:替换前:91认申购成功,92红利再投,93强增,81强减/强赎,71赎回发起,72赎回撤单,73赎回成功,74赎回失败,75转换发起,76转换撤单,77转换成功,78转换失败替换后:91-认申购成功,92-红利再投,93-强增,81-强减/强赎,71-赎回发起,72-赎回撤单,73-赎回成功,74-赎回失败,75-转换发起,76-转换撤单,77-转换成功,78-转换失败...

2021-07-26 13:30:15 586

原创 Oracle权限、用户、角色

用户、角色、权限查看所有用户select * from all_users; 查看当前用户的所有角色select * from user_role_privs;查看某个角色的所有权限修改用户密码

2021-05-27 14:35:10 289 1

原创 Navicat、PL/SQL恢复删除的表结构和数据

今天删表时看错了,手一抖就把别的有用的表给删了1、Navicat选中删除的表和索引--闪回表2、PL/SQL---找到回收站记录select * from user_recyclebin order by droptime desc;---恢复表结构和数据flashback Table "BIN$nG1+X5wuSpCZ9kvjno5yug==$0" to before drop;...

2021-05-18 15:36:21 6070

原创 Maven项目中子模块继承父模块的pom.xml依赖问题

对于几乎在每个模块都需要引用的依赖,去各自的模块配置中添加太麻烦了,就想着在父模块中添加,然后在子模块中继承就可以了。首先,需要注意:父模块中要有对应的模块标签:<modules> <module>my-querydsl-web</module> <module>my-querydsl-service</module> <module>my-querydsl-entity</module></modu

2021-04-29 14:41:32 6239

原创 解决Win10无法修改hosts文件

1、找到hosts文件C:\Windows\System32\drivers\etc2、右键->属性,去掉只读勾选3、若还是无法修改,安全->高级4、找到对应的所有者->禁用继承->应用5、编辑->找到当前用户->允许修改...

2021-04-01 22:25:25 11858 4

原创 IDEA启动报错Failed to load JVM DLL(一个管理员权限差点把我整吐了)

报错如下:Failed to load JVM DLL D:\IntelliJ IDEA\jbr\bin\server\jvm.dll if you already have a 64-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties > Environment Variables.解决方案:1、https://www.qiwenshare.com/essay/detail/8

2021-02-01 09:43:56 4141 7

原创 前后端交互时将返回值中的null置为空字符串的8种方式(亲测有效)

返回给前端的Json对象中有很多字段没有值,就会有很多的null值(如下图)前端判断处理会比较麻烦,所以打算在后端回传数据时做一下处理:1、字符串null值置为空字符串2、空List转为[]3、封装数字类型null转为04、Boolean类型null转为false方式一、通过继承WebMvcConfigurerAdapter,重写configureMessageConverters方法实现@Configurationpublic class MyJsonConfig ..

2021-01-12 18:58:36 9803

原创 使用Navicat连接Oracle

最近使用的PLSQL Developer连接Oracle数据库,发现还是用不惯这玩意,索性又装了个Navicat1、首先查看Oracle的版本号和位数。在PLSQL执行查看select * from v$version2、下载对应版本和位数的Instant Client,下载对应位数的NavicatInstant Client:https://www.oracle.com/database/technologies/instant-client/downloads.html3、

2020-12-23 14:04:15 739

原创 完美解决IDEA使用外置tomcat启动控制台乱码

因为是web项目,得配置外置tomcat运行,然后启动之后控制台出现乱码,如下:然后找了网上的解决办法:1、 在IDEA安装目录bin下的idea.exe.vmoptions和idea64.exe.vmoptions中添加-Dfile.encoding=UTF-82、修改IDEA设置,Setting>Editor>File Encodings,将Global Encoding、Project Encoding、Default encodeing for properties fi

2020-12-23 10:11:46 475

原创 解决Spring配置文件报错Document root element “beans“, must match DOCTYPE root “null“

查看到报错的配置文件applicationContext.xml头部如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org

2020-12-16 09:51:15 2823

原创 PLSQL Developer安装配置和使用

1、安装PLSQL Developer下载地址:https://www.allroundautomations.com/try-it-free/instantclient下载地址:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html先将PLSQL Developer以及instantclient_11_2复制到指定目录解压2、在instantclient_11_2目录下新建ne

2020-12-11 14:26:06 768

原创 JDK各版本下载地址以及Oracle共享账号

账号:[email protected]密码:Java2020

2020-12-10 09:53:23 546

原创 JVM系列之四种垃圾收集算法

标记-清除算法(Mark-Sweep)这是最基础的垃圾回收算法,之所以说它是最基础的是因为它最容易实现,思想也是最简单的。标记-清除算法分为两个阶段:标记阶段和清除阶段。标记阶段:采用从根集合(GC Roots)进行扫描,对需要回收的对象进行标记;清除阶段:回收被标记的对象所占用的空间。问题:1、效率,标记和清除两个过程的效率都不高;2、空间碎片,直接清除掉需要回收的对象之后会产生大量不连续的内存碎片,碎片太多导致之后需要分配大对象时无法找到足够的连续内存,从而增加回收的频率。

2020-11-18 20:38:10 149

原创 JVM系列之七种垃圾收集器

目前HotSpot虚拟机中的垃圾收集器有如下7种,需要明确的是:到目前为止还没有适应所有场景的最好的垃圾收集器,所以在不同的适用场景中需要选择不同的垃圾收集器。

2020-11-18 20:36:36 260

原创 JVM系列之STW机制、安全点SafePoint机制、安全区域SafeRegion机制

一、STW (Stop The World)STW的概念JVM在执行GC垃圾收集或者其他特殊任务(比如分派GC、thread dump、死锁检查等)时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外),表现为全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互。起因在JVM系列之如何判断对象已死中可达性分析需要从GC Roots节点寻找引用链,可作为GC Roots的节点主要为全局引用(常量或静态变量)和执行上下文(本地变量表),如果要追个检查其中的引

2020-11-18 19:18:25 1702

原创 java判断是否可以ping通某个地址

/** * @description: 判断是否可以ping通某个地址,10s内ping5次均可ping通 * @params: url网址或者IP,如:www.baidu.com 220.181.38.148 * @return: * @auther: WZH * @date: 2020/1/29 21:49 */public static boolean canPing(String url) { return ping(url,5,10);}public static bo.

2020-11-17 00:13:49 840

原创 IDEA中VM options参数设置和说明

打开Run Configurations界面添加新的程序参数说明-Xms1024m,设置JVM初始堆内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmx1024m,设置JVM最大堆内存为1024m。 -Xss512k,设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的...

2020-11-11 18:51:27 69773 2

原创 Windows下查看端口使用情况并结束某端口进程

1、查看所有端口netstat -ano2、查找某一特定端口netstat -ano |findstr "55572"3、通过pid查找对应的进程名称tasklist |findstr 58164、根据进程的pid或者进程名称杀掉所有进程#taskkill /f /t /im "java.exe"taskkill /f /t /im 5816...

2020-11-11 15:41:20 124

原创 JVM系列之常用参数的查看和设置

堆内存JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。堆中内存区域按分代收集算法分为老年代和年轻代,其中老年代Old区默认占堆内存的2/3,年轻代占1/3。年轻代中又分为

2020-11-09 19:29:20 1494 2

原创 JVM系列之如何判断对象已死

在堆里存放着Java几乎所有的对象实例,垃圾收集器在对堆内存进行回收前,首先得确定这些对象是否还存活(是否有被引用)。主流的判断方法有两种算法:引用计数算法和可达性分析算法。引用计数算法引用计数是最简单直接的一种方式,这种方式在每一个对象中增加一个引用的计数,每当某一个对象被别的地方引用就把他的引用计数器加上1,如果此对象的引用计数变为0,那么此对象就可以作为垃圾收集器的目标对象来收集。Python语言使用的就是此种算法。优点:简单,直接,不需要暂停整个应用缺点:不能处理对象循环引用的问题

2020-11-08 19:49:11 153

原创 查看当前JVM使用的是那种垃圾收集器

查看当前JVM的垃圾收集器cmd中输入以下命令java -XX:+PrintCommandLineFlags -version然后对照以下参数信息参数 描述 UseSerialGC 虚拟机运行再Client模式下的默认值,打开此开关后,使用Serial+Serial Old的收集器组合进行内存回收 UseParNewGC 打开此开关后,使用ParNew+Serial Old的收集器组合进行内存回收 UseConcMarkSweepGC 打开此开关..

2020-11-03 18:26:51 2462 2

原创 JVM系列之内存监控工具Java VisualVM

Java VisualVM简称为jvisualvm,在哪里可以找到呢,JDK安装目录下的bin中的jvisualvm.exe或者通过cmd直接打开可以看到以下这些信息安装Visual GC插件打开工具-->插件,发现以下问题进入VisualVM的插件中心,如果进不去请参看解决GitHub无法访问的问题,找到对应JDK版本的插件更新地址修改VisualVM中插件中心的地址为上面的地址发现还是无法访问,退出去重进,发现可以了,安装Visua...

2020-11-02 16:07:49 176

原创 数据库死锁常见场景以及排查解决方案

死锁的概念死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。常见的死锁场景场景一:A线程update记录1,此时锁住了记录1;B线程update记录2,此时锁住记录2;然后A线程读取记录2,此时等待记录2的释放;然

2020-10-27 18:54:02 2291

原创 Spring框架系列之事务的使用以及事务传播机制

Spring事务有编程式事务管理和声明式事务管理两种方式。

2020-10-27 16:13:07 113

原创 事务的概念和基本理解

概念事务是构成单一逻辑工作单元的操作集合,访问并可能更新数据库中各种数据项的一个程序执行单元事务的基本特性(ACID)原子性,事务中的所有操作作为一个整体像原子一样不可分割,要么全部成功,要么全部失败。一致性,事务开始前和结束后,数据库的完整性约束没有被破坏 。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。隔离性,同一时间,只允许一个事务请求同一数据,不同的事务之间彼

2020-10-27 14:45:08 886

原创 数据库事务的隔离级别和并发异常

众所周知,数据库事务具有隔离性,理论上来说事务之间的执行不应该相互产生影响,其对数据库的影响应该和它们串行执行时一样。然而完全的隔离性会导致系统并发性能很低,降低对资源的利用率,因而实际上对隔离性的要求会有所放宽,这也会一定程度造成对数据库一致性要求降低。

2020-10-25 19:41:06 674

原创 无法加载应用程序或操作系统,原因是所需文件丢失或包含错误

具体报错的图片如下中间说mbr后缀的文件丢失,大概猜到是引导文件有问题Windows10采用的UEFI分区格式Windows7才采用MBR分区格式所以果断进入PE系统修复引导重启后果然没有了报错但是高兴的太早了以为就这么轻松搞定了?呵呵结果磨蹭了半天才进到桌面然后桌面还报错意思就是桌面丢失 然后发现什么都操作不了 包括任务管理器 文件管理器都用不了再加上修复引导重启之后并没有进入常规的Windows安装提示界面这就说明系统没有成功安装所以最后决定反其道而行之将boot mode改

2020-10-25 12:30:10 26779

原创 安装完MySQL之后登录不了,报错ERROR 1045 (28000): Access denied for user

今天安装完MySQL,启动了MySQL服务,然后使用Navicat连接,结果出现报错,报错信息如下:然后索性使用CMD本地登录,输入密码之后,出现以下:后面尝试了不输入密码,竟然登进去了那就是安装时设置root用户密码的环节出了问题,所以现在重新设置以下root用户的密码UPDATE `user` SET `authentication_string`=PASSWORD('123456') WHERE `User`='root';结果发现SQL语句报错了,仔细检查SQ.

2020-10-12 00:22:53 302

原创 MySQL8.0下载安装教程(MSI安装版和ZIP解压版)

1、下载MySQL安装包进入MySQL官网,拉到最下面的DOWNLOADS,选择MySQL Community Server进入下载页当前为ZIP解压版的,此处我们选择去下载Installer MSI安装版的注意如果是下载Linux版的在当前页选择系统类型即可,不要跳转到MSI下载页在MSI下载页选择离线安装版登录页跳过登录进入下载2、安装MySQL双击下载好的msi格式的安装文件进入MySQL Installer,选择只安装MySQL Server...

2020-10-11 20:13:14 2594 1

原创 MySQL安装过程中产品配置时启动服务失败

如下图此时进入系统服务页面启动MySQL服务,也无法启动可以看到MySQL80登录为网络服务,需要提高网络服务的权限,将网络服务添加到管理员组计算机-->管理-->本地用户和组-->组双击Administrators,然后添加点击高级立即查找-->选择NETWORK SERVICE-->确定看到有NETWORK SERVICE了,然后确定应用即可现在再启动MySQL80已经可以使用了...

2020-10-11 20:03:22 2620 9

原创 IDEA添加注释模板

文档头部注释File-->Setting-->Editor-->File and Code Templates-->Includes-->File Header/** * @ClassName: ${NAME} * @Description: * @Author: WZH * @Date: ${DATE} ${HOUR}:${MINUTE} */方法和行注释File-->Setting-->Editor-->Live Tem.

2020-10-03 23:35:24 226

空空如也

空空如也

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

TA关注的人

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