- 博客(14)
- 收藏
- 关注
原创 面向对象(面试)
这样做的目的是为了简化数据库操作的编写和管理,提高开发效率,同时也可以更灵活地切换或替换不同的数据库。通过使用工厂模式、DAO模式、模板方法模式等设计模式,可以将JDBC的细节隐藏在底层,使得上层的Java代码与具体的JDBC实现解耦,提高代码的可维护性和可扩展性。这样做的目的是为了使得Java代码不直接依赖于具体的JDBC实现,从而可以更轻松地切换或替换不同的JDBC实现,而不需要修改大量的Java代码。子类可以重用父类的属性和方法,并且可以在此基础上添加新的属性和方法,从而实现代码的重用和扩展。
2024-04-02 08:50:36
378
1
原创 Java基础(面试)
如果请求的栈深度过大,虚拟机栈可能会抛出StackOverflowError(栈溢出)的异常,如果虚拟机的实现允许虚拟机栈动态扩展,当内存不足以扩展栈的时候,会抛出OutOfMemoryError(内存溢出)的异常。虚拟机栈表示Java方法执行的内存模型,每调用一个方法,就会生成一个栈帧用于存储方法的本地变量表、操作栈、方法出口等信息,当方法执行完毕之后就会弹出相应的栈帧。自动装箱时,如果数据在 -128 ~ 127 之间,则不会创建新的对象,而是直接使用缓存中已经创建好的对象,直接进行自动装箱。
2024-04-01 15:04:24
702
原创 Kafka学习及面试
Producer作为Kafka中的消息生产者,负责将消息发送到Topic中。应用程序和客户端可以通过Producer将消息发布到Kafka中,实现高效的消息传输和处理。
2024-03-27 10:41:38
617
1
原创 HBase学习
HRegionServer是HBase中负责数据存储和数据访问的关键组件,它负责管理表和处理表的数据,并与HMaster协同工作以保证整个HBase集群的正常运行。1、每个HRegionServer负责管理多个Region,每个Region对应表中的一部分数据。HRegionServer负责处理数据的读取、写入和删除操作。2、HRegionServer负责处理Region的分裂和合并。
2024-03-26 14:34:44
695
原创 Java反射机制(面试)
这个时候我们可以通过input标签的隐藏域来标识处理该请求的方法名,请求提交到Servlet程序之后,我们通过隐藏域的值来判断具体该调用哪一个方法处理请求,在这里我们可以使用if-else分支来判断,但是if-else语句的使用会使得代码的扩展性降低。通过字节码反射出对象的类型以及每个类对应的方法和属性的操作耗费的实践远远大于正常Java代码执行的时间,降低了程序的性能。当我们获取到input的隐藏域之后,通过隐藏域中方法名可以反射出具体的方法,然后通过invoke调用即可。
2024-03-26 11:18:58
434
原创 Java集合面试
len - 1 = 15 = B(1111),当集合的大小为2的幂次方时,hash &(len - 1)的值完全取决于hash值,使得与运算的值(xxxx)四个位置的数均可以取到 0 和 1 ,使得每个位置出现冲突的概率相同;HashTable的底层实现是数组+链表,链表主要用于解决哈希冲突,并且整个数组都是Synchronized修饰的,所以HashTable是线程安全的,但是锁的粒度太大,竞争激烈效率低下。LinkedList底层是链表实现的,元素的读取速度慢,添加和删除元素速度快,
2024-03-25 15:34:35
281
原创 设计模式(笔试+面试)
客户端使用抽象工厂来创建一系列相关的对象,而不需要知道这些对象的具体类。在实际的开发当中,传统的MVC三层架构需要控制层调用服务层,服务层调用dao层,dao层操作数据库,在对象调用过程中就需要手动的使用new关键字创建对象,此时类之间的依赖程度较高,耦合性就变高了。构建型(11种):策略模式,责任链模式,模板方法模式,观察者模式,迭代子模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式。行为型(7种):适配器模式,代理模式,装饰器模式,外观模式,桥接模式,组合模式,享元模式;
2024-03-25 11:36:03
806
原创 浏览器输入网址之后,到看到网页,发生了什么(学习至小林coding)
然后你的收货方式有两种,一就是菜鸟驿站会有对应的派发员,如果你需要的话他们就可以根据你的详细地址送到你的楼下,然后通过你的电话和姓名联系你进行收货。这里的派发网点就好比一个个的路由器,而从菜鸟驿站将包裹派发到你手里这个过程就好比一个交换机的工作场景,菜鸟驿站不是只为你一个人服务的而是为在那附近的用户服务的,此时菜鸟驿站就充当一个交换机的功能将各个用户进行连接(用户就扮演着电脑主机的角色)发送包的时候,先查询ARP缓存, 如果保存有对方的MAC地址,就直接使用该地址作为目标地址。
2024-01-24 11:12:05
996
1
原创 Java—IO(学习至二哥的Java进阶之路)
int read(byte b[], int pos, int len) //从pos位置开始读取数据,读取长度为len然后放入到b数组中。void write(byte b[], int pos, int len) //将数组b中从pos位置开始写入数据,长度为len。System.out.println("文件读取异常..." + file1);System.out.println("文件读取异常..." + file2);System.out.println("文件写入异常..."+ file2);
2024-01-22 17:38:44
1049
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人