Java天下第1
Java后端工程师。
展开
-
2021-07-29 京东java实习生面试题
1. 在浏览器输入 URL,按下回车之后的流程? 首先在本地hosts里检查有没有配置的IP地址映射,有的话返回这个IP,没有的话就去DNS里寻找,DNS找到该IP后,开始建立连接,也就是三次握手: 1. 首先客户端发送SYN=1,seq=a(a是随机生成的一个数),然后客户端状态变为SYN-SENT;2. 服务端接收到客户端的信息后,看到SYN=1,说明要建立连接了,他就设置SYN=1,ACK=1,ack=a+1,seq = b(b是随机生成的的一...原创 2021-07-29 11:49:14 · 368 阅读 · 0 评论 -
大厂面试必问——JVM虚拟机内存模型是什么,1.8前后的区别能讲讲吗?
# JVM内存模型图(1.8前后)JVM在执行Java程序时,会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间。(JDK8之后JVM的内存区域如下图)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611160908298.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4u原创 2021-06-11 16:57:44 · 301 阅读 · 0 评论 -
冲击大厂Java工程师_面试复习题——GC回收机制以及相应GC算法篇
》》》堆的分区1.Eden区Eden区位于Java堆的年轻代,是新对象分配内存的地方,由于堆是所有线程共享的,因此在堆上分配内存需要加锁。而Sun JDK为提升效率,会为每个新建的线程在Eden上分配一块独立的空间由该线程独享,这块空间称为TLAB(Thread Local Allocation Buffer)。在TLAB上分配内存不需要加锁,因此JVM在给线程中的对象分配内存时会尽量在TLAB上分配。如果对象过大或TLAB用完,则仍然在堆上进行分配。如果Eden区内存也用完了,则会进行一次Minor原创 2021-06-11 16:07:47 · 131 阅读 · 0 评论 -
面向大厂编程 —— 搜集来的面试题,大厂直通车
https://blog.csdn.net/a745233700?t=1Java虚拟机:类加载机制与双亲委派模型转载 2021-06-10 21:37:18 · 206 阅读 · 0 评论 -
用过哪些 Map 类,都有什么区别,HashMap 时线程安全的吗,并发下使 用的 Map 是什么,他们的内部原理分别是什么,比如存储方法,hashcode, 扩容,默认容量等。
主要用过 HashMap,HashMap 不是线程安全的,并发下使用的 Map 是 ConcurrentHashMap,HashMap 是数组+链表+红黑树(JDK1.8 增加了红黑树 部分)实现的。HashMap 中 Node[] table 的默认长度 length 是 16,所能容纳的最大容量数据 的 Node(键值对)个数为 threshold=length*Loadfactor。也就是说,在数组 定义好长度之后,负载因子越大,所能容纳的键值对个数越多。结合负载因子的定义公式可知,thresho原创 2021-02-02 23:02:25 · 811 阅读 · 0 评论 -
2021年最新Java后端开发面试题总结(三十一道经典题目)——JAVA 基础篇
请关注订阅,本专栏会详细讲解 微服务AlibabaCloud,实现网站的开发本篇内容专门为从事Java后端开发的面试者提供帮助,精准解决面试遇到的问题,欢迎讨论文章目录一、JAVA 中的几种数据类型是什么,各自占用多少字节。二、String 类能被继承吗,为什么?三、String,StringBuffer,StringBuilder 的区别。四、ArrayList 和 LinkedList 有什么区别。五、讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数 据,构造函数,字段。当 new原创 2021-01-28 21:04:37 · 779 阅读 · 0 评论 -
cookie与session的区别
1.cookie和session产生的原因web应用时代,客户端与服务器需要进行频繁的动态交互,但由于http协议的无状态连接,访问用户与后端服务器的交互状态(会话)无法保持。例子:购物网站上,用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了2.http协议的无状态连接解释:是指协议对于事务处理没有记忆能力。服务器并不知道你是否曾经访问过这个页面,也不记得你曾经访问过多少次好处:节省时间,使服务器更容易支持大量并发的H原创 2020-08-31 21:04:02 · 145 阅读 · 0 评论 -
socket网络编程 长连接 短连接 什么时候用 区别等等
TCP/IPTCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议UDP包括DNS、TFTP等协议https://blog.csdn.net/action5362603/article/details/84792903https://www.cnblogs.com/ldy-blogs/p/9252388.h原创 2020-08-23 21:43:29 · 366 阅读 · 0 评论 -
JAVA事务的概念
一、什么是事务事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durabili原创 2020-08-19 21:36:47 · 199 阅读 · 0 评论 -
JavaWeb三大组件 Servlet,Filter,Listener
JavaWeb三大组件: Servlet,Filter,Listener1 Servlet在Java web b/s架构中,servlet扮演了重要的角色,作为一个中转处理的容器,他连接了客户端和服务器端的信息交互和处理。简单来说,客户端发送请求,传递到servlet容器,而servlet将数据转换成服务器端可以处理的数据再发送给服务器端,再数据处理之后,再传递到servlet容器,servlet再转译到客户端,完成了一次客户端和服务器端的信息交互。 Servlet是通过Java编写的,因为他也具备原创 2020-08-19 09:56:08 · 344 阅读 · 0 评论 -
spring的 DispatcherServlet 中 /和/*的区别
其中/和/*的区别:< url-pattern > / </ url-pattern > 不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。< url-pattern > /* </ url-pattern > 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。 总之,关于web.xml的url映原创 2020-08-12 21:42:10 · 410 阅读 · 2 评论 -
Java 如何重写对象的 equals 方法和 hashCode 方法
前言:Java 对象如果要比较是否相等,则需要重写 equals 方法,同时重写 hashCode 方法,而且 hashCode 方法里面使用质数 31。接下来看看各种为什么。一、需求:对比两个对象是否相等。对于下面的 User 对象,只需姓名和年龄相等则认为是同一个对象。二、解决方案:需要重写对象的 equals 方法和 hashCode 方法package com.yule.user.entity;import org.springframework.util.StringUtil...原创 2020-08-11 12:22:44 · 344 阅读 · 0 评论 -
编程语言面试题之新版javase基础语法篇之运算符《下》
写个⽅法,传递两个⾮0的int数值进去,实现变量交换的⽅式,有⼏种⽅式?简介:java数据类型划分考点:java基础类型的划分和运算⽅式⼀ public static void swap(int a, int b){ System.out.printf("a=%d, b=%d",a,b); a = a + b; b = a - b ; a = a - b; System.out.printf("\na=%d, b=%d",a,b); }⽅式⼆ 异或运算 (⼀个数与另⼀个数异或两次是其原创 2020-08-09 21:33:59 · 183 阅读 · 0 评论 -
编程语言面试题之新版javase基础语法篇之运算符《上》
1 你知道 运算符 &和&&、|和||的区别吗?& 按位与操作只有对应的两个⼆进制数为1时,结果位才为11&1 = 11&0 = 00&1 = 00&0 = 0| 按位或操作有⼀个为1的时候,结果位就为11|1 = 11|0 = 10|1 = 10|0 = 0& 和 && 都可以实现 和 这个功能区别:& 两边都运算,⽽ && 先算 && 左侧,若左侧为原创 2020-08-09 14:27:16 · 152 阅读 · 0 评论 -
面试题 3.一个有十亿条记录的文本文件,已经按照关键字排好序存储,设计算法,可以从文件中快速查找指定关键字的记录
3.一个有十亿条记录的文本文件,已经按照关键字排好序存储,设计算法,可以从文件中快速查找指定关键字的记录。答: 十亿条记录对应的数据量在GB量级,分成100份,每份10MB 放入内存无压力每份第一条记录关键字和此纪录对应文件偏移量扫入内存 随机IO100次很快就能定位出指定关键字所在的记录块 然后把相应记录块拿到内存 二分法朝朝...原创 2020-05-01 22:12:54 · 984 阅读 · 0 评论 -
面试题 2.实现多线程的方法有哪几种?
2.实现多线程的方法有哪几种?答:JVM允许程序并发的运行多个线程,Java中,多线程的实现一般有三种方法:1.实现Runable接口,并且实现该接口的run()方法执行start()的顺序不代表线程执行的顺序2.继承Thread类,重写run()方法3.实现Callable接口,重写call方法(提供返回值,可以抛出异常)一般推荐使用Runable方式,因为只有run()方...原创 2020-05-01 21:49:07 · 536 阅读 · 0 评论 -
面试题 汇总各大厂BAT面试题 经典题汇总 2020-05-03更新
1.抽象类和接口有什么区别?答:抽象类和接口很相似,有时候甚至可以互换,但是也有很大的区别。1.接口是公开的,不能有私有,抽象类可以有私有。2.如果一个类中有抽象方法,那么他必须是抽象类。3.接口中的所有方法都没有方法体。4.抽象类可以声明方法的存在而不去实现它5.抽象类的子类实现方法必须有相同或者更高级别的访问级别6.抽象类不能被实例化,可以创建一个对象指向其具体子类的一个实例7...原创 2020-05-01 21:31:12 · 185 阅读 · 0 评论