- 博客(15)
- 收藏
- 关注
原创 java集合笔记二 —— List集合(概念方法,list集合去重,模拟栈结构)
底层数据结构是链表,查询慢,增删快线程不安全,效率高添加功能:public void addFirst(Object obj):在该集合开头插入指定的元素public void addLast(Object obj)将指定的元素追加到此列表的末尾。// 这个方法相当于add(Object)。获取功能:public Object getFirst():返回此集合中的第一个元素。getLast():返回此列表中的最后一个元素。
2024-12-08 17:32:47
779
原创 Java集合容器面试题(2024最新版)
Hash,一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。所有散列函数都有如下一个基本特性**:根据同一散列函数计算出的散列值如果不同,那么输入值肯定也不同。
2024-12-08 17:30:46
1001
原创 Java集合容器面试题(2024最新版)(1)
Hash,一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。所有散列函数都有如下一个基本特性**:根据同一散列函数计算出的散列值如果不同,那么输入值肯定也不同。
2024-12-08 17:28:45
960
原创 java集合——面试题
Collection1. ListArraylist: Object数组Vector: Object数组LinkedList: 双向循环链表2. SetHashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部是通过 LinkedHashMap 来实现的。
2024-12-08 17:26:44
984
原创 Java语言程序设计与数据结构(基础篇)课后练习题 第十三章(二)
使用上面的Circle,Rectangle ,Octagon类来测试sumArea()方法。
2024-12-08 17:24:44
946
原创 Java语言程序设计与数据结构(基础篇)课后练习题 第十一章 (一)
Faculty f = new Faculty(“程序员2”,2300.0,“time”,“grade”,“老李”,“北京”,“123456789”,“145662@email”);Staff sta = new Staff(“程序员3”,2300.0,“post”,“老周”,“北京”,“123456789”,“145662@email”);清单10-6.,,,,,前面的课程清单都找不到。因为之前circle等的类都删除了,这里就写了一个Date对象,想要返回其他的再去看看前面课程吧。
2024-12-08 17:22:44
866
原创 Java设计模式之三:适配器模式
通过上述的栗子,我们可以知道适配器模式其实就是一种转换器,它将原本无法直接使用的对象通过中间的转换器,转成了相互兼容可以使用的对象,那么对应到代码世界中我们应该怎样使用适配器模式呢?1、当我们想要使用一个已经存在的接口,但是它不符合现有的接口数据规范,导致无法直接去访问,此时我们可以创建一个适配器就能间接去访问这个类中的方法;适配器模式的代码编写方式有两种一个是基于类的适配器模式,另一个是基于对象的适配器模式。适配者(Adaptee):需要适配的类或适配者类,如上面的两相插头。适配者(Adaptee)
2024-12-08 17:20:43
521
原创 Java虚拟机(JVM)面试题大全
回收后,已用和未用的内存都各自一边。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。但是,即使这样,Java也还是存在着内存泄漏的情况,java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。
2024-12-08 17:18:42
991
原创 JAVA经典面试题附答案(持续更新版)_java面试题
2.String能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”abc”(直接赋一个字面量);其实和String str=new String(“abc”)(通过构造器构造)还是有差异的。
2024-12-08 17:16:42
888
原创 Java系统线上生产问题排查一把梭
无法使用调试工具从远程附加进程快速恢复为先,即使在结婚,也得赶紧修复线上问题。而且生产环境流量大、网络权限严格、调用链路复杂,因此更容易出问题,也是出问题最多的环境。2 监控生产环境出现问题时,因为要尽快恢复应用,就不可能保留完整现场用于排查和测试。因此,是否有充足的信息(日志、监控和快照)可以了解历史、还原bug 场景。最常用的就是 ELK 的日志了,注意:确保错误、异常信息可被完整记录到文件日志确保生产上程序的日志级别是INFO以上。
2024-12-08 17:14:40
977
原创 Java类的初始化和清理
如果你调用了,编译器会提示找不到匹配的构造器。当类中没有构造器时,编译器会说"你一定需要构造器,那么让我为你创建一个吧"。但是如果类中有构造器,编译器会说"你已经写了构造器了,所以肯定知道你在做什么,如果你没有创建默认构造器,说明你本来就不需要"。5 this关键字对于两个相同类型的对象和,你可能在想如何调用这两个对象的peel()方法:a.peel(1);b.peel(2);如果只有一个方法peel(),那么怎么知道调用的是对象的peel()方法还是对象的peel()方法呢?
2024-12-08 17:12:40
1057
原创 java的Future和FutureTask
如果在主线程中需要执行比较耗时的操作时,但又不想阻塞主线程时,可以把这些作业交给Future对象在后台完成,当主线程将来需要时,就可以通过Future对象获得后台作业的计算结果或者执行状态。下面的例子模拟一个会计算账的过程,主线程已经获得其他帐户的总额了,为了不让主线程等待 PrivateAccount类的计算结果的返回而启用新的线程去处理, 并使用 FutureTask对象来监控,这样,主线程还可以继续做其他事情, 最后需要计算总额的时候再尝试去获得privateAccount 的信息。
2024-12-08 17:06:33
1022
原创 java流行使用开源的数据库连接池DBCP
/定义一个静态的driver常量将mysql数据库驱动地址作为字符串初值赋值可以myeclipse中找到。//定义一个静态的driver常量将mysql数据库驱动地址作为字符串初值赋值可以myeclipse中找到。//初始创建多少个连接。
2024-12-08 17:02:31
335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅