
常见面试题
文章平均质量分 84
常见面试题
CherishTB
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
23种设计模式
定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。:抽象角色会使用接口或抽象类解决,真实角色是被代理的角色,代理角色代理真实角色后会有一些附加的操作,好处是可以使真实角色操作更加纯粹,不用关注一些公共的业务,公共交给代理角色,实现业务的分工,公共业务在扩展时,方便集中管理,缺点是一个真实的角色会产生一个代理角色,代码量会翻倍。:底层是反射机制,动态和静态代理角色一样,动态代理的代理是动态生成的,不是我们直接写好的,分为基于接口的动态代理和基于类的动态代理。原创 2022-08-22 16:44:52 · 288 阅读 · 1 评论 -
通信网络面试题
一般来说不会发生什么问题,但是还是有特殊情况出现:假设新连接和已经关闭的老连接端口号是一样的,如果前一次连接的某些数据仍然滞留在网络中,这些延迟数据在建立新连接之后才到达主机2,由于新连接和老连接的端口号是一样的,TCP协议就认为那个延迟的数据是属于新连接的,这样就和真正的新连接的数据包发生混淆了。互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层,基于TCP/IP的参考模型将协议分成四个层次,下图表示TCP/IP模型与OSI模型各层的对照关系。原创 2022-08-22 16:30:22 · 391 阅读 · 0 评论 -
JUC编程
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、 阻塞(Blocked)和死亡(Dead)5 种状态1.新建状态(NEW) :当程序使用 new 关键字创建了一个线程之后,该线程就处于新建状态,此时仅由 JVM为其分配内存,并初始化其成员变量的值2.就绪状态(RUNNABLE):当线程对象调用了 start()方法之后,该线程处于就绪状态。Java 虚拟机会为其创建方法调用栈和程原创 2022-08-22 16:13:04 · 255 阅读 · 0 评论 -
JVM面试
自定义的类加载器只需要继承ClassLoader,并覆盖findClass方法。CMS是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM 的参数加上“- XX:+UseConcMarkSweepGC”来指定使用 CMS 垃圾回收器。CMS 使用的是标记-清除的算法实现的, 所以在 gc的时候回产生大量的内存碎片,当剩余内存不能满足程序运行要求时,系统将会出现。............原创 2022-08-22 15:19:44 · 292 阅读 · 0 评论 -
JavaWeb相关
1.为保证服务器安全,上传文件应该放置在外界无法访问的目录下,比如web-INF目录2.为了防止文件覆盖现象发生,要为文件上传产生一个唯一的文件名(-uuid-时间戳-mds-位运算法)3.限制上传文件的最大值4.可以限制上传文件的类型,在收到上传文件名时,判断后缀是否合法.mp4,.txt,.jpg等。原创 2022-08-22 14:42:32 · 230 阅读 · 0 评论 -
经典排序算法
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。如果第一个比第二个大,就交换它们两个;这样共需要比较length-1轮,两两相比每一轮比较length-1-i次,每次比较出最大数。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。原创 2022-08-22 13:48:36 · 94 阅读 · 0 评论 -
Java面试_se基础
1、八大基本数据类型byte,short,int,long,float,double,char,boolean银行不使用浮点型,float是有限的离散的,要使用BigDecimal计算2、拆装箱问题(强制类型转化内存溢出问题)装箱:基本类型包装成引用类型拆箱:将包装类型转换为基本数据类型;int和Integer区别Java5开始引入了自动装拆箱的机制,在-128~127之间自动装箱时不会new新的integer对象,而是直接引用常量池中的integer对象,超过范围为false3、常量和变量原创 2022-05-30 21:26:27 · 97 阅读 · 0 评论