
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Linux 实时查看日志文件,最主要使用的就是tail命令。linux tail命令用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。...
在sql 条件中,如何在 where in()中想传入参数,如果直接 where in(:seqList),当传入单个值,seqList:= ‘80’ 是没问题的,但是初入多个值时,seqList:= ‘80,90’ ,因缺少单引号,导致查询结果不对。使用正则变换函数 regexp_substr()测试数据: 20,30,40。

内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。2.1、内存泄漏由于长期保持某些资源的引用,垃圾回收器无法回收它,从而使该资源不能够及时释放,也称为内存泄露。因而尽量不要将所有引用都使用为强引用,可以在合适的地方使用弱引用和软引用。2.2、超大对象保存多个耗用内存过大或当加载单个超大的对象时,该对
一、原理图二、加锁机制咱们来看上面那张图,现在某个线程要加锁。如果该线程面对的是一个redis cluster集群,他首先会根据hash节点选择一台机器。紧接着,就会发送一段lua脚本到redis上,那段lua脚本如下所示:为啥要用lua脚本呢?因为一大坨复杂的业务逻辑,可以通过封装在lua脚本中发送给redis,保证这段复杂业务逻辑执行的原子性。这段lua脚本是什么意思呢?KEYS[1]: 代表
一、基础概念指令: ps作用: 主要是查看服务器的进程信息选项含义:-e:等价于 ‘-A’ ,表示列出全部的进程-f:显示全部的列(显示全字段)二、执行结果列的含义说明:UID: 该进程执行的用户idPID: 进程idPPID: 该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程C: cpu的占用率,形式是百分数(%)STIME: 进程的启动时间TTY: 终端设备,发起
在单用户环境下,在操作数据库是不需要考虑其他用户会修改同一个数据。但是在多用户的情况下,多个事务可能会修改同一个数据,最终会得到错误的数据结果。Oracle数据库是通过 multiversion consistency model(多版本数据一致性模型)、还有不同类型的锁、事务隔离保证数据的一致性。通过这种方式,数据库可以向多个并发用户提供在某一个时间点所对应的数据库数据。由于不同版本的数据块可以

一、网关介绍大家都知道在微服务架构中,一个系统会被拆分为多个微服务,那么作为客户端如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用。这样的架构会存在诸多的问题:1、每个业务都需要鉴权、限流、权限校验、跨域等逻辑 ,如果每个业务都各自为战,自己造轮子实现一遍 ,就会很蛋疼,完全可以抽出来,放到一个统一的地方去处理。2、如果业务量比较简单的话,这样的方
Oracle中的 GROUP_CONCAT 函数用于将多行数据合并为一行,并以指定的分隔符分隔各个值。在Oracle中,没有直接的GROUP_CONCAT函数,但可以使用 LISTAGG 函数来实现类似的功能。

PL/SQL 提供了 %TYPE 和 %ROWTYPE 两种特殊的变量,用于声明与表的列相匹配的变量和用户定义数据类型,前一个表示单属性的数据类型,后一个表示整个属性列表的结构,即元组的类型。-- 数据表TB_TRANS_RECORD-- 定义一个与表TB_TRANS_RECORD中FEE类型相同的变量DECLARE-- 定义一个与表TB_TRANS_RECORD结构相同的数组DECLARE--

一、如何判断某个对象是否是垃圾1.1、引用计数法在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失一般性,如果一个对象没有任何引用与之关联,则说明该对象基本不太可能在其他地方被使用到,那么这个对象就成为可被回收的对象了。缺点: 这种方式的特点是实现简单,而且效率较高,但是它无法解决循环引用







