- 博客(9)
- 收藏
- 关注
原创 Java面试-Git&Linux
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理各种信息。Git和VCS,Subversion 或 Perforce这些版本控制工具使用起来很像但是他们在对信息存储和认知方式有很大差异:①记录快照,非差异比较:其它版本控制工具是记录累积的差异,是基于差异控制;而Git是在提交或保存项目状态时,对当前文件都创建一个快照并保存快照索引,如果文件没有修改就不会重新存储文件,只保留之间文件存储地址。②Git所有操作都是本地操作。
2024-06-29 17:33:38
560
原创 Java面试--锁
① 就是执行操作时觉得不会出现任何问题,在提交的时候对对应的数据进行验证。② 更适合读操作多的场景,因为不加锁会让读操作的性能提升。①认为执行任何操作都可能会出现问题,每一个都上了锁,执行完才会释放锁,会造成线程阻塞和死锁的情况。② 更适合写操作多的场景,因为先加锁可以保证数据的正确。
2024-06-18 10:43:45
517
原创 Java面试--Redis
③定期删除: 定时删除和惰性删除的结合体,每隔一段时间抽取设置过期的key检测是否过期(默认是1s执行10次清除,每次抽取5个检测),过期就清除。②惰性删除: 用到key的时候再去判断过没过期,过期就清除,可以节省cpu的资源,但是对内存不友好。①定时删除: 每个key都需要创建一个定时器,到时间就会清除key,所以对内存很友好,但是会占用cpu的大量资源去处理过期。①RDB:一定时间内将内存数据以快照的形式保存在硬盘中,也就是某个片段的数据写到临时文件中替换上次的持久化文件。优点:安全,几乎不丢失数据。
2024-06-12 18:13:43
853
原创 Java面试--jvm
防止核心API被篡改:如果都让各个类加载器去加载的话,用户自己也编写一个Object类的话,系统中会出现多个不同的Object类,Java中最基础的方法也无法保证,就会混乱。轻GC: 普通GC,当新对象在伊甸园区申请内存失败时,进行轻GC,会回收可回收对象,没有被回收的对象进入幸存区,新对象分配内存极大部分都是在伊甸园区,所以这个区GC比较频繁。优点:并发速度快,低停顿。⑤轻GC后,进入老年代的大小大于老年代的可用内存会,第一次轻GC进入老年代要2MB,第二次的时候会判断是否大于2MB,不满足就会重GC。
2024-06-05 17:37:58
569
原创 Java面试--框架--MyBatis
是一个半自动化的orm(关系映射)框架,只用关心sql就好了,因为内置JDBC不需要花时间去处理数据库驱动和连接等过程。sql注入:在应用输入参数时输入恶意查询语句或插入语句,在sql解析执行是进行攻击。比如:在登录时输入密码时加入or语句,此时用${}就会出现sql注入问题。#{}:相当于标识符?,可有效解决sql注入问题;${}:相当于字符串拼接,直接拼接,会有sql注入问题。
2024-06-03 17:03:23
819
原创 Java面试--MySQL
事务是对数据库中进行一系列回滚或提交的操作,用来保存数据的完整性和一致性。索引是一种高效获取数据的数据结构,相当于目录,占用物理空间。默认B+树结构,或者hash结构。
2024-05-28 16:01:46
676
原创 Java面试--多线程
线程是程序最小的调度单位,进程包含多个线程。如打开电脑任务管理器会看到多个进程在运行,进程可能含有很多功能,这些功能又由很多线程去执行。多线程是多个线程并发执行的技术。Jvm中栈都是独立不共享的,一个线程一个栈,启动五个线程就会开辟出五个栈内存,每个栈和每个栈之间,互不干扰,各自执行各自的,这就是多线程并发,出现多线程就是为了提高效率。JMM 是Java内存模型( Java Memory Model),简称JMM。
2024-05-27 18:00:00
1232
原创 Java面试--集合
哈希表根据关键码值(Key,Value)而直接进行访问的数据结构。它通过把关键码值key映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表也叫哈希表。哈希冲突根据一定的规则放进存放哈希值的数组中,下标为1的数组已经有值了,后面根据规则,判定某个数也需要放到下标为1的数组中,这样就导致了只有一个位置两个人都要坐,就引起了冲突。(不同的key值产生的哈希值是一样的)。
2024-05-23 18:51:47
992
原创 JAVA面试--基础
面向过程:它是一种具体化的思想,具体化某一个实体对象。如:想吃番茄炒蛋,就得去超市买鸡蛋,番茄所需要的具体食材,然后去一步步去炒去实现。面向对象:这是Java的一种编程思想,是模型化的,将某一具体事情对象抽象成某一类事情对象,但面向对象底层还是面向过程。如:想吃番茄炒蛋不需要自己去做,去饭店报菜单即可,不想吃番茄鸡蛋换其它也可以。面向编程思想实现离不开四大特性:抽象,封装,继承,多态。
2024-05-22 18:48:57
842
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人