自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 No such algorithm: SM4/ECB/PKCS5Padding

问题原因:当前环境中没有找到指定的加密算法。

2024-03-12 14:35:48 592

原创 Remote host closed connection during handshake

问题原因:HTTPS通过TSLv1和TSLv1.2协议通信JDK7默认是TSLv1,JDK8默认是TSLv1.2假如服务端是TSLv1.2,客户端是TSLv1,访问就会出现 Remote host closed connection during handshake 异常。

2024-03-08 14:58:45 382

原创 Cannot get a text value from a numeric cell

问题原因:Excel表格中Cell有多种类型,如果Cell为文本类型,但Excel表格中调整为数字类型使用读取文本类型的Cell读取数字类型的Cell时,就会出现 Cannot get a text value from a numeric cell 异常。

2023-12-15 18:20:11 247

原创 Unresolved compilation problems

问题原因:编译版本与JDK版本不一致导致的。

2023-12-15 18:18:03 375

原创 LongAdder源码

LongAdder的基本思想就是分散热点,将value值分散到一个Cell数组中,不同线程会命中到数组的不同槽中各个线程只对自己槽中的值进行CAS操作,最终将各个槽中的变量值累加Striped64(LongAdder是Striped64的子类)static final class Cell{}:内部类static final int NCPU:CPU数量,即cells数组的最大长度transient volatile Cell[] cells:2的幂次方,方便位运算。

2023-09-15 17:40:35 186

原创 AtomicInteger源码

CAS是实现并发计算时常用到的技术,是一条CPU的原子指令,不会存在线程安全问题CAS操作包含三个操作数:内存值V,预期值A,更新值B。当且仅当预期值A和内存值V相等时,才会将内存值V修改为更新值B。否则不做任何操作,多线程同时执行CAS操作只有一个会成功Unsafe是CAS的核心类,由于Java无法直接访问底层系统,需要通过Native方法来访问,因此Java中的CAS操作的执行都依赖于Unsafe类的方法。

2023-09-15 17:40:14 106

原创 MySQL实现列转行

【代码】MySQL实现列转行。

2023-08-15 11:30:29 84

原创 Oracle实现列转行

【代码】Oracle实现列转行。

2023-08-15 11:30:09 164

原创 Spring MVC 源码

是的前端控制器,所有请求都会通过完成请求处理并响应继承继承继承重写了等方法,重写的方法都会调用方法。

2023-07-24 14:32:08 313

原创 Spring MVC 九大组件

()是父类中提供的方法,在子类中进行了重写主要用于刷新在功能实现中所必须使用的全局变量。

2023-07-24 14:30:43 110

原创 Spring AOP 源码

是Bean的后置处理器,作用是在Bean对象实例化后,在调用Bean初始化方法的前后对Bean进行修改Spring AOP是基于实现的,在Bean实例化后会创建这个Bean的代理对象Spring初始化单例Bean会调用(),()中会调用三个方法():创建Bean的实例():填充Bean的属性():调用Bean的初始化方法。

2023-06-20 14:30:31 50

原创 Spring IOC 源码

两大核心接口和是Spring最底层的接口,负责配置,创建,管理Bean是的子接口,称为应用上下文。继承了所有的功能,并且在功能上进行扩展如国际化资源接口,资源加载接口,应用事件发布接口。

2023-06-20 14:30:04 92

原创 ElementUI自定义el-dialog关闭按钮

<el-dialog :title="dialogFormTitle" :visible.sync="dialogFormVisible" custom-class="close_class"> </el-dialog> <style lang="less" scoped> /deep/ .close_class { .el-dialog__headerbtn { background: url('图片路径'); background-siz

2023-02-24 09:53:59 1238

原创 ElementUI自定义el-dialog标题样式

<el-dialog :title="dialogFormTitle" :visible.sync="dialogFormVisible"> <div slot="title" class="header-title"> <span v-html="dialogFormTitle" style=""></span> </div> </el-dialog>

2023-02-24 09:53:14 1163

原创 Linux执行sh脚本文件提示Permission denied

在Linux终端运行脚本文件时,提示Permission denied,意思是权限不足。解决方法:检查文件权限,权限不足时,赋予执行权限使用chmod更改文件权限:    -R:是级联应用到目录里的所有子目录和文件    777:是所有用户都拥有最高权限chmod -R 777 指定文件或目录

2023-02-14 11:55:08 5330

原创 Linux执行vim提示swap file “*.swp” already exists

现象:在使用Linux的vim编辑文件时,如果因为某种异常退出正在编辑的文件再次编辑该文件时会提示:swap file “*.swp”already exists原因:使用vim编辑文件实际是先copy一份临时文件并映射到内存编辑,编辑的是临时文件如果因为某种异常退出,临时文件并不会被删除解决方法:查找临时文件并删除即可ls -a *.swprm *.swp

2023-02-14 11:53:47 300

原创 Oracle统计指定时间内数据的增长量

select obj.owner, obj.object_name,obj.OBJECT_TYPE,a.TS#,to_char(sn.BEGIN_INTERVAL_TIME, 'YYYY-MM-DD hh24:mi:ss') BEGIN_TIME,to_char(sn.END_INTERVAL_TIME, 'YYYY-MM-DD hh24:mi:ss') END_TIME,round(a.space_used_delta / 1024 / 1024 / 1024, 2) DELTA_USED_SIZE

2022-12-21 18:49:05 1189

原创 Oracle统计表空间大小以及使用情况

SELECT A.TABLESPACE_NAME "表空间名",TOTAL "表空间大小",FREE "表空间剩余大小",(TOTAL - FREE) "表空间使用大小",TOTAL / (1024 * 1024 * 1024) "表空间大小(G)",FREE / (1024 * 1024 * 1024) "表空间剩余大小(G)",(TOTAL - FREE) / (1024 * 1024 * 1024) "表空间使用大小(G)",ROUND((TOTAL - FREE) / TOTAL, 4) *

2022-12-21 18:47:19 230

原创 el-select实现change

HTML代码<el-select v-model="selectType" placeholder="请选择类型" @change="selectChanged"> <el-option v-for="(item, index) in selectTypeList" :key="index" :value="item.value" :label="item.label"></el-option></el-select>JS代码data(){ re

2022-12-12 17:05:49 7008

原创 Tomcat指定JDK版本

当一台服务器上部署多个Tomcat时,默认都会使用环境变量中配置的JDK版本其中有些项目可能需要其他版本的JDK,这时候可以为Tomcat单独指定JDK版本,而不用修改环境变量中配置的JDK版只需要修改Tomcat中bin目录下的 catalina.sh 和 setclasspath.sh 文件,在文件开头的空白处添加如下两行:export JAVA_HOME=/usr/local/java/jdk1.8.0_351export JRE_HOME=/usr/local/java/jdk1.8.0

2022-12-08 14:22:17 2245

原创 Mybatis插入数据后返回主键

1.MySQL主键自增使用useGeneratedKeys和keyProperty    useGeneratedKeys:表示是否返回主键,默认为false    keyProperty:表示返回的主键值,对应的是实体类中的属性<insert id="insertUser" parameterType="com.core.User" useGeneratedKeys="true" keyProperty="i

2022-12-06 17:12:35 449

原创 Mybatis中的大于小于

由于Mybatis中SQL是写在mapper.xml中的,而xml文件解析>,<,>=,<=时会出错,下面有两种解决办法    1.使用替换符号代替原来的大于小于等符号    2.CDATA表示不由xml解析器进行解析的文本,标签格式为 <![CDATA[ sql语句 ]]>1.使用替换符号代替原符号替换符号>&gt;<&l

2022-12-05 10:28:28 68

原创 Vue的页面初始化

在使用Vue的过程中,经常需要对一些数据进行初始化,一般是在 created 和 mounted 中进行处理。    created:在html加载完成之前执行,一般用于初始化数据    mounted:在html加载完成之后执行,一般用于向后端发起请求获取到数据以后,对数据进行处理export default { data(){ return { data: [] } }, methods: {

2022-11-21 09:10:03 4988

原创 Vue中@click不生效的解决办法

问题产生的原因:    如果是普通的HTML,@click可以触发。    如果是使用ElementUI组件和路由,@click会失效。因为Vue使用的是一套自己的事件传递机制,@click等事件是经过Vue封装的,需要为 @click 添加标识符 .native<el-button type="primary" @click.native="clickFunction()">点击按钮</el-bu

2022-11-21 09:09:44 5429

原创 Vue中this.$confirm确定和取消执行不同的逻辑

this.$confirm('请选择处理方式', '提示', { distinguishCancelAndClose: true, //区分取消和关闭 confirmButtonText: '确定', cancelButtonText: '取消', type: 'info'}).then(() => { this.$message({ type: 'info', message: '点击确定执行的代码' });}).catch(action => { this.$mes

2022-11-11 17:00:51 1551

原创 Vue中this.$confirm只显示一个按钮,且不能点击空白处关闭

this.$confirm('弹窗文本内容', '提示', { confirmButtonText: '确定', //确认按钮的文字 showCancelButton: false, //是否显示取消按钮 showClose: false, //是否显示关闭按钮 closeOnClickModal: false, //是否可以通过点击空白处关闭弹窗 type: 'info'});

2022-11-11 16:58:19 4255

原创 ORA-28000: the account is locked 解决办法

问题原因:用户被锁定由于Oracle账户多次以错误的密码登录,Oracle默认的密码最大输入错误次数为10次,超过10次后用户将会被锁定尽管Oracle中可以设置登录错误无限制,但实际生产环境不建议这样修改,修改之后存在密码被暴力破解的安全隐患1.以系统账户sys登录Oracle,查询所有用户的状态select * from dba_users;2.解锁指定的用户alter user 用户名 account unlock;3.查询锁定用户的密码最大输入错误次数SELECT * FRO

2022-11-08 09:26:21 1657

原创 ORA-00257: archiver error. Connect internal only, until freed 解决办法

问题原因:Oracle归档日志爆满Oracle的归档日志会记录对数据库所做的修改,如新增,修改,删除数据时都会记录在日志中。当短时间内执行大量的更新操作时,就会导致归档日志爆满,有两种方式可以解决该问题:    1.使用RMAN删除归档日志    2.增大闪回恢复区的大小一.使用RMAN删除归档日志1.切换到Oracle数据库su - oracle2.进入RMAN维护:rman target user_na

2022-11-08 09:18:12 1379

原创 Oracle创建数据链路

数据链路(database link)简称dblink,是本地数据库与远程数据库之间的通道dblink的主要用途就是实现对远程数据库的访问,可以通过数据链路直接对远程数据库的表进行读写Oracle创建数据链路create database link 数据链路名称 connect to "用户名" IDENTIFIED BY "密码" using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOS

2022-11-04 15:55:09 533

原创 Oracle恢复删除的数据

1.恢复delete删除的数据1.查询执行删除SQL的时间点select * from v$sql where sql_text like '%表名%';2.根据删除的时间点,查询被删除的数据select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss') where (删除时的条件);3.将查询到的被删除的数据插入原表中,主键需要使用序列重新生成insert into 表名 (select *

2022-11-04 15:54:41 147

原创 Oracle查看锁表

1.查看锁select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;2.查看引起锁的用户select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid or

2022-11-04 15:54:14 83

原创 Oracle表空间扩容

1.查询表空间的使用率select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df, (select

2022-11-04 15:53:48 133

原创 Oracle导入导出dmp文件

Oracle导出dmp文件exp 用户名/密码@数据库名 owner=用户名 file=导出dmp文件的存储路径;Oracle导入dmp文件imp 用户名/密码@数据库名 file=导入dmp文件的存储路径 log=导入dmp文件记录日志的路径 full=y;

2022-11-03 14:37:26 287

原创 Oracle赋予用户权限

Oracle中有三种标准角色,分别是:connect,resource和dba    connect:能够连接到Oracle数据库中,并对其他用户的表有访问权限    resource:能够创建表,序列,视图等    dba:系统管理员,拥有所有的系统权限Oracle还可以授予具体的权限,具体如下:系统权限允许的操作Create session连接数据库

2022-11-03 14:37:02 5102

原创 Oracle创建用户和表空间

Oracle创建表空间create tablespace 表空间名称 datafile '/oradata/file_name.dbf' size 10240M autoextend on;Oracle创建用户create user 用户名 identified by 密码 default tablespace 表空间名称;

2022-11-03 14:36:36 156

原创 iframe打开base64格式的PDF显示空白

使用iframe打开Base64格式的PDF文件显示空白,src的数据也加载出来了,但就是不显示转换一下思路,如果Base64格式不行的话,把Base64转换成Blob对象,创建一个URL的Blob对象,再将URL赋值给src属性同样可以实现预览previewPdf(fileBase64){ let fileBlob = this.base64ToBlob(fileBase64,'application/pdf'); let href = window.URL.createObjectURL(f

2022-11-02 10:15:38 4230 1

原创 Base64与Blob相互转换

Base64转为Blobbase64ToBlob(fileBase64,fileType){ let raw = window.atob(fileBase64); let rawLength = raw.length; let uint8Array = new Uint8Array(rawLength); while (rawLength--){ uint8Array[rawLength] = raw.charCodeAt(rawLength); } return new Blob([ui

2022-11-02 10:15:03 584

原创 预览Base64文件

预览Base64格式的图片previewPicture(fileBase64){ let newWindow = window.open(""); newWindow.document.write("<img src= 'data:image/png;base64, " + fileBase64 + "' />");}预览Base64格式的pdfpreviewPdf(fileBase64){ let newWindow = window.open(""); newWindow.

2022-11-02 10:14:40 366

原创 Oracle查看连接数和会话情况

1.查看当前的数据库连接数select count(*) from v$process;2.查看数据库允许的最大连接数select value from v$parameter where name ='processes';3.修改数据库允许的最大连接数(修改之后需要重启数据库)alter system set processes = 500 scope = spfile;4.查看当前会话数select count(*) from v$session;5.查看当前活跃会话数sel

2022-10-28 12:08:04 1556

原创 Linux启动Oracle命令

1.切换到Oracle数据库su - oracle2.以sysdba登录sqlplus "/ as sysdba"3.启动Oracle数据库startup4.启动监听器lsnrctl start5.查看监听器状态lsnrctl status

2022-10-28 12:06:36 351

空空如也

空空如也

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

TA关注的人

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