面试
文章平均质量分 66
病入高黄了
这个作者很懒,什么都没留下…
展开
-
使用多线程(线程池ThreadPoolExecutor读取多个文件、计算多个文件总行数)小demo
包括 ThreadPoolExecutor、CountDownLatch、Callable、RandomAccessFile、Nio1.使用多线程读取多个文件。2.使用多线程获取多个文件的行数后计算几个文件的总行数。原创 2022-06-06 23:59:05 · 1165 阅读 · 2 评论 -
Redis的杂七杂八
一、SDS1.空间预分配空间分配用于优化SDS的字符串增长操作:当SDS的API对一个SDS进行修改并且需要对SDS进行空间拓展的时候,程序不仅会为SDS分配所必须的空间还会有额外的未使用的空间,额外未使用空间大小遵循如下规则:如果对SDS进行修改之后,SDS的长度(len属性值)小于1MB,则程序分配和len属性同样大小的未使用空间,此时SDS的len属性将和free属性相同。例:进行修改后SDS的len将变成13字节,那么程序也会分配13字节的未使用空间,SDS的buf数组长度将变成13(len原创 2022-06-06 23:52:26 · 155 阅读 · 0 评论 -
Spring事务失效的总结
事务失效1. final/static修饰方法Spring事务使用AOP,通过CGLIB或JDK动态代理生成代理类,使用final/static修饰方法会导致无法动态代理,继而导致事务失效。2. 使用非public修饰符修饰事务方法定义了错误的访问权限(非public修饰)就会使事务失效。protected TransactionAttribute computeTransactionAttribute(Method method, @Nullable Class<?> targetC原创 2022-02-14 14:52:12 · 922 阅读 · 3 评论 -
Java集合中的一些细节
集合ListArrayListadd()方法可以添加null,而且可以添加多个nullArrayList底层结构和源码ArrayList中维护了一个Object类型的数组elementData。// transient瞬间的,短暂的 使用transient修饰表示该属性不会被序列化transient Object[] elementData;当创建ArrayList对象时,如果使用的是无参构造方法,则初始elementData容量为0,第一次添加数据,则扩容elementDat原创 2021-06-01 09:53:56 · 104 阅读 · 0 评论 -
几个MySQL中容易忽略遗忘的点
MySQL备份与恢复数据库备份:图形化界面用久了就经常容易忘了命令怎么写dos窗口下输入mysqldump -u root -p -B databaseName1 [databaseName2 databaseNamen] > d:\\bak.sql表备份mysqldump -u root -p databaseName tableName1 [tableName2 tableNamen] > d:\\bak.sql恢复mysql中输入source d:\\bak.sql原创 2021-06-01 09:30:50 · 101 阅读 · 0 评论 -
Java反射小总结
反射相关Class类分析Class也是类,因此也继承Object类Class类对象不是new出来的,而是系统创建的对于某个类的Class对象,在内存中只有一份,因为类只加载一次每个类的实例都会记得自己是由哪个Class实例所生成通过Class可以完整地得到一个类的完整结构Class对象是放在堆内存中的类的字节码二进制数据,是放在方法区的,有的地方也称为类的元数据Class类常用方法String classpath = "com.xxx.Person";// 获取Person类对应的原创 2021-05-27 09:41:14 · 189 阅读 · 2 评论 -
synchronized小总结
synchronized关键字:互斥锁互斥锁:Java语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为"互斥锁"的标记,这个标记用来保证在任一时刻,只有一个线程访问该对象。关键字synchronized来与对象的互斥锁联系,当某个对象用synchronized修饰时,表明该对象在任一时刻只能由一个线程访问。同步的局限性:导致程序的执行效率要降低。同步方法(非静态的)的锁可以是this,也可以是其他对象(要求是同一个对象)。同步方法(静态的)的锁为当前类本原创 2021-05-27 09:33:11 · 91 阅读 · 0 评论 -
Java虚拟机-JVM高级特性 读书学习总结 持续更新
目录第二部分 自动内存管理第二章 Java内存区域与内存溢出异常1.运行时数据区域1.1程序计数器1.2Java虚拟机栈1.3本地方法栈1.4Java堆1.5方法区1.6运行时常量池1.7直接内存2.HotSpot虚拟机对象探秘2.1对象的创建第二部分 自动内存管理第二章 Java内存区域与内存溢出异常1.运行时数据区域1.1程序计数器每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储,这类内存区域被称为**“线程私有”的内存**特点:线程私有1.2Java虚拟机原创 2021-05-24 10:31:34 · 159 阅读 · 2 评论 -
某科技笔试程序题
第一题小明的女朋友最喜欢在网上买买买了,可是钱包里钞票有限,不能想买啥就买啥。面对琳琅满目的物品,她想买尽可能多的种类,每种只买一件,同时总价格还不能超过预算上限。于是她请小明写程序帮她找出应该买哪些物品,并算出这些物品的总价格。输入规范:每个输入包含两行。第一行是预算上限。第二行是用空格分隔的一组数字,代表每种物品的价格。所有数字都为正整数并且不会超过10000。输出规范:对每个输入,输出应买物品的总价格。输入示例1:10050 50输出示例1:100输入示例2:18850 4原创 2020-05-28 13:00:58 · 589 阅读 · 0 评论