自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java org.apache.commons.net.ftp.FTPClient文件下载的坑

FTPClient调用retrieveFileStream获取InputStream流后,除了必须关闭InputStream,还要。方法才能继续使用FTPClient。

2022-08-23 14:39:22 434

原创 MVCC学习笔记

MVCC学习笔记MVCC多版本并发控制:通过隐藏列和版本链,实现并发读写、已提交读和可重复读事务隔离级别聚簇索引记录中的隐藏列trx_id:存储对记录进行修改的事务的idroll_pointer:存储指向undo日志的指针undo日志中的版本链undo日志:回滚日志,存储被修改前的记录流程1、开启事务2、查询开始3、创建readview,维护当前活动的事务id列表4、访问数据,获取版本链中最大的记录事务id5、判断记录事务id是否是活动中的事务id(活动中的事务:1、记录事务i

2022-03-31 00:11:14 149

原创 Java网络编程之InetAddress浅析

Java网络编程之InetAddress浅析一、InetAddress综述IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础。InetAddress是Java对IP地址的封装,几乎所有的Java网络相关的类都和它有关系,例如:serversocket,socket,URL,DataGramSocket,DataGRamPacket等。InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取Ine

2021-12-08 09:56:07 626

原创 作为程序员的你,下面这14种锁你都了解吗?

作为程序员的你,下面这14种锁你都了解吗?这里主要是讲锁的概念,这14种锁在概念范畴上可能有重叠,并不是完全的14种。1.CAScompare and set (比较更新,如果数据版本一致则更新否则不更新) 通过调用原子性汇编指令来实现原子性操作。如java中的AtomicLong,AtomicInteger等就是基于CAS实现。2.偏向锁加锁和解锁不需要额外消耗,和非同步方法仅纳秒级差距。适用于单线程或几乎无竞争的场景,如果竞争会升级为重量级锁带来额外消耗。3.轻量级锁竞争的线程不会阻塞,而

2021-12-01 10:12:49 3287

转载 算法及其时间复杂度习题(附答案)

一、单项选择题1.个算法应该是( )。A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D. A和C2.某算法的时间复杂度为O(n2),表明该算法的( )。A.问题规模是n2 B.执行时间等于n2C.执行时间与n2成正比 D.问题规模与n2成正比3.以下算法的时间复杂度为( )。void fun(int n) { int i=l; while(i<=n) i=i*2;}A. O(n) B. O(n2)

2021-03-09 11:52:32 37473 4

转载 @CallerSensitive学习笔记

解释这个注解是为了堵住漏洞用的。曾经有黑客通过构造双重反射来提升权限,原理是当时反射只检查固定深度的调用者的类,看它有没有特权,例如固定看两层的调用者(getCallerClass(2))。如果我的类本来没足够权限群访问某些信息,那我就可以通过双重反射去达到目的:反射相关的类是有很高权限的,而在 我->反射1->反射2 这样的调用链上,反射2检查权限时看到的是反射1的类,这就被欺骗了,导致安全漏洞。使用CallerSensitive后,getCallerClass不再用固定深度去寻找actua

2021-02-19 11:15:03 158

转载 DAO 模式

DAO 模式原文链接https://www.runoob.com/note/27029原文链接https://www.runoob.com/note/27029DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。对外提供相应的接口在面向对象设计过程中,有一些"套路”用于解决特定问题称为模式。DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接

2021-01-07 23:23:22 180

原创 ArrayList,LinkedList个人总结

什么是ArrayList?ArrayList是一个动态数组类,底层数据结构以数组结构存储数据,是顺序结构,利用数组的初始地址和偏移量来查找数据(索引),时间复杂度为O(1),利用数组单元的移动来实现修改和删除。在添加和插入新的单元前会自动判断数组容量,如果容量不足则会利用数组的复制实现动态扩容。适用于经常需要查询数据且较少需要修改和删除数据的场景。什么是LinkedList?LinkedList是一个链表类,底层数据结构以双链表结构存储数据,是链式结构,利用结点中存放的前后结点的引用来遍历链表并查找数

2020-12-02 16:37:58 96

原创 C#关键字static、virtual和abstract笔记

C#关键字static、virtual和abstract笔记static 静态可修饰类、类的构造函数,类的成员等;[访问修饰符] static class 类名 { //类的成员} static 静态函数构造名() { //语句} [访问修饰符] static 数据类型 数据成员 应用场景:类、类的构造函数或类的成员所引用或操作的信息与类有关,而与类的实例无关时作用:静态构造函数会自动调用,实现静态数据成员初始化静态类不必实例化直接就可以调用静态成员,实现更简单,迅速

2020-05-12 15:58:12 538

空空如也

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

TA关注的人

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