自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java的现实Excel的单元格之间的级联时特殊字符导致失败的情况

利用Excel的INDIRECT与SUBSTITUTE函数进行嵌套使用,将一级单元格特殊字符进行替换,再进行映射即可实现联动。本人已经在项目中实现级联,有问题可留言。注意:特殊字符需要提前格式成 下划线。

2024-02-28 14:00:34 294 2

原创 @Autowired

1.Autowired依赖注入底层是通过反射暴力获取对象并赋值给属性;2.setter与构造器注入是通过给IOC容器提供入口注入的.

2022-12-05 23:21:46 183 1

原创 bean实例化的方式

4.spring框架常用:实现FactoryBean接口的方式;3.更早些年的:使用实例化工厂的方式;2.早些年:使用静态工厂的方式;1.最常见:使用构造方法;

2022-12-01 22:53:44 161

原创 单点登录的发展与应用

用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,校验通过则登录当前用户。存入会话时,可以设置会话保持的时间,比如15分钟,超过后自动超时;来运行的,所有的功能,所有的业务,后台管理,门户界面,都是由这一个war来支持的,这样的单应用,也称之为单体应用,因为十分不好扩展和拆分。例如,阿里有很多系统分割为多个子系统,独立部署后,不可避免的会遇到会话管理的问题,类似这样的电商网站一般采用分布式Session实现。

2022-11-18 15:18:36 179

原创 权限精确到按钮级别

注意:以上写法只为提供一个参考示例,不同框架有不同写法,大家可根据项目技术栈灵活封装进行调用。思路:如此精确的范围控制只依赖后端已经难以完成,此时需要前端进行一定的逻辑判断。在使用sa-token轻量级框架下:如何将权限精确到按钮级别。复制到剪贴板错误复制成功。

2022-11-18 13:58:48 1132

原创 ping: www.baidu.com: 未知的名称或服务

如果如何怎么都连不上外网,可以照搬下面配置,一定可以连通---VMc16,centos7NAT模式下,注意子网IP和子网掩码的设置,这个决定的IP的取值范围; 文件配置如下:

2022-11-18 10:31:29 221

原创 如何理解反向代理

并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

2022-11-17 10:00:35 60

原创 非对称加密分段处理加密大量数据

基于RSA非对称加密,属于轻量型加密,加密数据的大小有严格限制,我们可以通过对分段加密方式,实现对大量数据的非对称加密,本文在参考非对称的加密的资料基础之上,实现了大数据的非对称加密,因此少量数据于大量数据都可以实现加密处理,如果仅想实现这个非对称加密功能代码可直接使用。PS:这里是通过读取代码中字符串公私钥的方式进行实现的,还可以将公私存储在文件中,利用流的方式进行读取。OpenSSL介绍:openssl_百度百科。RSA介绍:RSA算法_百度百科。

2022-11-05 12:14:12 871

原创 Spring Bean加载的8种方式

二.使用@Component以及其衍生的三种注解-@Controller,@Service,@Repository。接口的类,实现对导入源的编程式处理解决根据逻辑业务加载bean的问题。一.在xml文件中通过标签实现;问题,Spring本身框架中大量应用了次注解。的基础上解决业务判断问题,导入实现了。三.加载第三方bean。

2022-10-31 00:17:52 243

原创 用Java实现两个有序数组合并成一个有序数组

每次比较都是比较的最左边未比较过的元素(通过变量),循环比较,直至其中有一个集合遍历结束,将另一个集合。:新建一个以两个集合长度之和为长度的新数组,从两数组最左边开始比起,把小的放入新集合,并用变量标记后一位置,数组a[]和b[],将它们合并成。

2022-10-26 21:44:11 3736

原创 JVM内存模型与JAVA内存模型

Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的。,这两个总是被混用的概念。,这些区域都有各自的。

2022-10-25 20:47:03 596

原创 为什么Springboot调用main()方法后程序会一直运行

本质上也是这个原理,springboot用tomcat容器运行,tomcat运行之后有个。因为调用Main方法运行以后JVM不是立马结束退出,取决于是否有进程一直在运行。方法,里面有一个while(stopAwait),一直在检查,因此并不会退出。常见的普通的Main方法里若有while(true),也是不会退出的。

2022-10-25 17:33:01 1003

原创 什么是数据存储过程

并给出参数(如果该存储过程带有参数)来执行它。(Stored Procedure)是在。

2022-10-24 11:48:32 114

原创 程序访问中什么是临界区

临界区指的是一个访问共用资源的程序片段,而这些共用资源又无法同时被多个线程访问的特性。每次只准许一个进程进入临界区,进入后不允许其他进程进入。

2022-10-22 11:59:07 506

原创 线程安全的体现

一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)。:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);

2022-10-22 11:27:32 82

原创 如何实现下层函数要让上层函数感知异常

可以通过future.get()的方法获取下层的函数抛出的异常。

2022-10-22 11:24:22 59

原创 JDK19虚拟线程

本文给大家介绍了一下JDK 19新推出的虚拟线程,或者叫协程,主要是为了解决在读书操作系统中线程需要依赖内核线程的实现,导致有很多额外开销的问题。我们可以在应用程序中创建非常多的虚拟线程,而不依赖于平台线程的数量。这些虚拟线程是由JVM管理的,因此它们不会增加额外的上下文切换开销,因为它们作为普通Java对象存储在RAM(内存)中。他的实现原理其实是JDK不再是每一个线程都一对一的对应一个操作系统的线程了,而是会将多个虚拟线程映射到少量操作系统线程中,通过有效的调度来避免那些上下文切换。

2022-10-19 22:13:52 1657

原创 SpringBean创建的方式有哪些?

三.通过静态工厂的静态的方法进行创建.二.通过普通工厂的方法进行创建;一.通过构造函数进行创建;

2022-10-19 17:45:46 50

原创 char(50)与varchar(200),这是输入hello,字符所占长度是怎样的?

char所占长度从定义时就决定了,所以长度为50,不足的用空格补充;varchar所占的长度就是字符串所占的长度。

2022-10-17 17:52:26 304

转载 Dockerfile创建详解

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

2022-10-17 17:39:07 8445

转载 红黑树与平衡二叉树的区别;

它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这些约束强制了红黑树的关键性质: 从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。因为操作比如插入、删除和查找某个值的最坏情况时间都要求与树的高度成比例,这个在高度上的理论上限允许红黑树在最坏情况下都是高效的,而不同于普通的二叉查找树。1、红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。

2022-10-16 21:14:56 68

原创 什么是可重入锁?为什么需要可重入锁?

在一个类中,如果synchronized方法1调用了synchronized方法2,方法2是可以正常执行的,这说明synchronized是可重入锁。否则,在执行方法2想获取锁的时候,该锁已经在执行方法1时获取了,那么方法2将永远得不到执行。加锁时,需要判断锁是否已经被获取。释放锁时,需要给锁的获取次数减1,然后判断,次数是否为0了。如果次数为0了,则需要调用锁的唤醒方法,让锁上阻塞的其他线程得到执行的机会。,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响。

2022-10-16 20:21:00 4001 1

原创 CHL同步队列是什么

就是AQS内部维护的一个FIFO双向队列。AQS依赖这个双向队列来完成同步状态的管理。如果当前线程获取同步状态失败,AQS将会将当前线程以及等待状态信息构建成一个节点(Node)并将其加入到同步队列中,同时会阻塞当前线程。当同步状态释放时,会把首节点中的线程唤醒,使其再次获取同步状态。在CHL中节点(Node)用来保存获取同步状态失败的线程(thread)、等待状态(waitStatus)、前驱节点(prev)和后继节点(next)。

2022-10-16 17:24:19 373

原创 静态代码块中不能访问普通变量

静态代码块中不能访问普通变量.

2022-10-16 17:09:43 95

原创 锁自旋的优缺点:

自旋会额外增加CPU资源的消耗.提高程序或线程的响应速度;

2022-10-16 10:46:16 88

原创 什么是shell

我们都知道在计算机中,计算机只能识别ASCII,即二进制,而程序中的编程语言或者用户输入的信息等,并不是ASCII,计算机根本就不能直接读懂。所以这时候就需要一个“翻译”。shell其实就是一个“翻译”。_shell是在操作系统内核与用户之间进行翻译,同时也是一种功能相当强大的编程语言_。shell必须是建立在UNIX或者Linux之上才有意义。所以在正式学习shell之前,我们需要掌握Linux或者UNIX知识。shell脚本就是指令的集合。

2022-10-16 09:30:16 159

原创 如何停止一个正在运行的线程

如果在子线程中用Thread.sleep(),需要对其进行异常捕获,然而捕获以后,线程的中断(讯息)将会被捕获且清除,从而子线程无法感知上层方法中--实例线程对象调用interrupt()对线程的中断,即。现在编码中,通过stop强行停止线程的方法已经被废弃。方法强行终止(不推荐使用该方法,目前该方法已作废)。可见,通过手动调用后,线程执行可以被中断。使用退出标志,使线程正常退出,也就是当。使用退出标志,使线程正常退出,也就是当。显示结果为false;方法完成后线程终止;

2022-10-15 17:40:03 2569

原创 如何让多个线程按顺序执行

在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的。本质上就变成了“单线程进行执行”。为了确保三个线程的顺序你应该先启动。一个线程中启动另一个线程,

2022-10-15 11:30:13 1507

原创 Mysql跨库跨表复制数据

1.1 复制旧表的数据到目标表(目标表结构于旧表结构一致)1.2在复制数据之前,也可以通过以下方式先创建出表结构;

2022-10-14 16:52:22 2559 1

原创 Excel数据过大,导出超时解决方案

问题:应用层面导出excel会出现超时情况,初步判断是数据增长太快,数据量太大,请求时间超过了设置的超时时间经过一番查找和测试,确定另外一种解决方案:整体思路是,后端在开始处理请求之后,维护一个请求的状态用来标记文件是否已经生成,如果文件已经生成,将文件上传到云端返回下载地址,将地址记录,直到下次请求时将地址返回,供前端同学下载。

2022-10-08 00:24:53 6694 3

原创 Spring框架支持哪几种Bean作用域?自动装配Bean有哪些方式?

Spring框架支持哪几种Bean作用域?自动状态Bean有哪些方式?

2022-10-07 00:11:40 179

空空如也

空空如也

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

TA关注的人

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