自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 java异步对象Future和CompletableFuture

在java中执行异步任务需要新建一个Thread线程,然后通过Runnable接口实现一个任务,最后将任务通过参数的方式传递给Thread类。

2024-03-16 09:32:17 382

原创 脚本不存在?

​ entrypoint.sh是一个容器的启动脚本,启动容器的时候就会执行。​ 坑就在这里,在alpine系统中,sh指向busybox,他的提示不是非常明确,他的意思是没有bash这个文件或目录,从而我误导了我以为是文件不存在。告诉操作系统要使用哪个解释器来执行脚本中的命令,而entrypoint.sh的脚本开头使用的是#!/bin/bash,所以当运行。​ 进入容器后,发现脚本是存在的,但是执行/entrypoint.sh的时候依旧提示找不到。​ 于是探究了一下,发现是因为命令的隐式执行导致的误会。

2023-10-15 19:24:36 292 1

原创 Archlinux和win11体验感受

一开始我以为我能和archlinux系统告别了,体验了几天过后,我又回到了archlinux。windows是普普通通的水泥路,路上有些坑坑洼洼,但是交通工具完善,大巴、轿车、自行车,linux就像一个赛道级别的柏油路,上面只有赛车,如果你想送货,赛车都没有给你装货的地方。​ 因为windows在负载大的时候我的笔记本风扇噪声很大,发热严重,并且,我已经熟悉了archlinux,切换回去并不费劲。​ 在体验了新系统过后,其实也就那样,但是在体验的前期,总会有“这系统牛逼啊,我以后就用这个了“的想法。

2023-10-07 10:41:14 164 1

原创 如何在lamda表达式中修改外部变量

虽然AtomicReference可以解决这个场景的问题,但是AtomicReference这个类的本意是用来实现CAS自旋锁的,并不是为了解决这个场景的问题。综上,在需要修改final变量的情况中,可以使用包装类,其中一个现成的包装类就是AtomicReference,我们可以使用该类来解决这类问题。因为final修饰的变量无法赋值,我们可以定义一个包装类,这样final修饰的变量不变,我们通过修改包装类内部的值达到修改的目的。通过定义一个包装类,通过修改包装类的值,而不修改包装类的引用达到目的。

2023-09-28 08:32:17 519

原创 Map中的单例模式

双重检查锁有一个关键的步骤就是给单例对象的引用设置volatile,使得该引用的赋值禁止重排序,从而保证引用对象的可见性。ConcurrentHashMap.computeIfAbsent内部通过Unsafe类已经实现了变量的可见性处理。因为redis在进行读取的时候需要进行序列化和反序列化,而每次反序列化都是创建一个新的对象。​ 如果需要创建多个单例对象,也就是map中的value需要实现单例模式,有哪些实现方式?显然静态内部类适用于属性为固定值的对象,对于拥有可变属性的对象并不适合。

2023-09-12 22:48:11 141

原创 自签名证书与https服务

https 的原理是通过在传输层(tcp)和应用层(http)之间添加一层协议来达到加密的目的。在客户端生成key,该key用来数据传输的对称加密使用。这时候服务端是没有这个key的,所以客户端需要通过非对称加密的方式将key发送给服务端。在服务端收到key之后,服务端和客户端就都有key了,这时候服务端和客户端就可以进行加密通信了。

2023-08-08 14:19:33 218

原创 linux后台运行与断开会话运行

适合场景:命令还未启动./test &

2023-03-09 01:22:52 588

原创 grub.cfg修改后,无法进入grub引导

此时需要修改或重新生成grub的配置文件,但是此时无法进入系统,所以需要通过刻录有arch镜像的u盘进入系统修改文件。一个有刻录有archlinux镜像的u盘查看系统分区分配情况,找到根目录的分区fdisk -l挂载根目录分区到/mnt目录挂载boot目录,grub相关文件放在boot目录中执行以上操作后,会在生成目录,就安装在该目录中。

2023-02-18 09:41:10 1177 1

原创 nacos启动报错内存不足“failed; error=‘Cannot allocate memory‘ (errno=12)“

今天在做nacos集群的时候,第二个nacos启动报错,如下图从nacos启动日志信息可以看出内存不足,所以通过命令free -h查看内存使用情况可以看到内存剩余52M/usr/local/java/jdk1.8.0_161/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:上面是nacos启动日志的第一行, 显示了jvm启动的命令,其中-Xms2g代表初始分

2020-10-25 19:50:41 4015 1

原创 nacos连接数据库启动报错“InvalidConnectionAttributeException: ==The server time zone value ‘?й???????‘ is ...“

错误日志第一段报错org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

2020-10-19 21:29:43 1967

原创 css手写文本框,大小自适应内容并监听内容,解释vue数据驱动理念

效果图代码<template> <div> 编辑区: <!-- contenteditable使div内容可编辑 --> <div ref="text" class="text" contenteditable="true"> {{initValue}} </div> <div> 监听数据变化:{{value}} </div> </div

2020-10-08 13:36:17 348

原创 策略模式,枚举的应用和区别

在阅读前需要对策略模式、状态模式、枚举有所了解。例子:文件分享,分享表需要记录分享期限,简化表结构如下表share id time_limit create_time id为主键,time_limit为分享期限,有1,2,3三个值,其中1代表永久,2代表一周,3代表一天,create_time分享创建时间。表share_resource id sha...

2019-09-22 07:18:57 560

原创 iview表格添加控件

方法一:使用render函数这种方式有个缺点就是可读性差,而且render函数绑定的事件回调的函数不能直接调用组件中的方法和属性,也就是说render函数中的方法无法操作exportdefault中的属性和方法,除非属性是表格中的属性,因为表格的属性通过参数的形式传给了render。data() { return { sharepop: false, ...

2019-07-24 00:54:38 860

原创 iview表格对tr添加事件

iview没有像easyui的那样可以在<table>标签中添加<th><tr><td>来设计表格结构的方式。只有通过vue的参数绑定的方式如下<template> <div> <Table border ref="selection" :columns="columns4" :data="...

2019-07-24 00:54:16 1055

原创 提交已经查询并显示在页面的数据还是数据的主键

例如有一个列表,列表有n条记录,当我需要操作其中的某一条记录时就需要把这条记录的信息发送到后台。方法一:页面已经有这条记录的所有信息,将记录的所有信息发送到后台。方法二:发送记录的主键到后台,再由后台从数据库中查询这条记录的所有信息进行操作。我的错误想法:页面已经有这条记录的所有信息了,何必再从数据库中查询呢?影响效率。但是我忽略了一点,就是前台传输数据到后台也是需要时间的,...

2019-06-30 03:10:57 116

原创 在js中使用el表达式

function showError(){ var error = ${error};//写法有误}即使没有调用也会有问题,在页面加载时就已经出问题了。控制台没有报错,但是没有输出日志,页面中预加载的ajax没有请求后台。正确写法: function showError(){ alert("${error}"); } ...

2019-06-27 07:27:34 112

原创 mybatis执行的sql语句正确但是查询不到记录

00:52:39,628 DEBUG findUserByName:139 - ==> Preparing: SELECT * FROM USER where username = ? 00:52:39,632 DEBUG findUserByName:139 - ==> Parameters: "aaa"(String)上面是mybatis执行的sql语句,查询不到记录,将...

2019-06-25 14:28:04 5131 3

原创 springmvc临时不使用视图解析器的自动添加前后缀

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置jsp路径的前缀 --> <property name="prefix" value="/WEB-INF/jsp/"/> <!-- 配置jsp路径的后缀 --&g...

2019-06-25 14:09:50 2539 1

原创 如何在GUI中的一个事件中多次更新组件内容

问题描述:       在一个鼠标/键盘事件多次添加组件或删除组件或修改组件的属性值只有在整个事件完成后界面才会刷新。       例如有一个JLabel,将JLabel的text设置为0,然后点击键盘,text的值变为1,间隔一秒后,text的值变为2,...

2019-06-23 18:23:04 159

原创 GUI使用component组件和直接绘图的差别

以九宫格小游戏为例九宫格九宫格有九个小块,其中一个空块,与空块相邻的小块可以和空块交换位置。实现键盘响应和鼠标响应从方面分析比较刷新界面直接绘图的方式小块之间执行完交换顺序的操作后需要刷新界面,响应完成后执行update()方法添加组件方式小块之间执行完交换顺序的操作后需要刷新界面,响应完成后执行执行revalidate()方法布局使用组件画图可以使用很多java已经实现的方法...

2019-06-22 20:53:05 477

空空如也

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

TA关注的人

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