![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
脑干缺失不影响打字
只有足够努力,才能看起来毫不费力
展开
-
Java基础
1、Java基础1.1 面向对象OOP1.1.1 面向对象开发特点:继承、多态、封装多态: 重载:发生在同一类中,要求方法名相同,但是参数列表不同 重写:发生在继承关系种,遵循两同两小一大原则:两同(方法名相同,参数列表相同),两小(如果返回类型是基本类型则要完全一致,如果是对象类型则需要小于父类的返回类型;方法抛出的异常一定要小于父类抛出的异常),一大(访问权限要大于父类) 1.2 面向对象六大基本原则 单一职责原则:一个类只做一件事情 依赖倒置原则:面向接原创 2020-11-08 09:44:50 · 101 阅读 · 0 评论 -
简述Java类加载机制
我们先来讲一下类的生命周期:原创 2020-10-30 10:45:52 · 327 阅读 · 0 评论 -
简单介绍一下JMM
在讲Java内存模型的时候,我们先来了解一下CPU与硬盘的一个关系。我们都知道CPU是中央处理器,可以非常快速的计算,但是IO却是十分耗费时间的操作。你可以这样理解,我计算1+1可能只要1ms,但是我这个1要在硬盘里面读取的话就需要1s了,那么我这个操作就需要1s(近似)。那么实际上CPU使用情况仅仅使用了1ms,但是反馈给用户的结果却是1s。这是很离谱的操作。为了解决这种情况,计算机有一个高速缓存(Cache),我们先把文件里的1先读到缓存里面,在CPU要用的时候,直接往缓存里面拿数据,那么这样的效率原创 2020-10-24 21:49:19 · 537 阅读 · 0 评论 -
ThreadPoolExecutor主要参数?
ThreadPoolExecutor3 个最重要的参数:corePoolSize:核心线程数,线程数定义了最小可以同时运行的线程数量。 maximumPoolSize:线程池中允许存在的工作线程的最大数量 workQueue:当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,任务就会被存放在队列中。ThreadPoolExecutor其他常见参数:keepAliveTime:线程池中的线程数量大于corePoolSize的时候,如果这时没有新的任务提交,核心...原创 2020-10-14 15:31:47 · 743 阅读 · 0 评论 -
建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC
建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC原创 2020-10-13 20:50:32 · 662 阅读 · 0 评论 -
Synchronized和ReentrantLock怎么回答?
文章目录1、synchronized和ReentrantLock的区别2、synchronized(1)加锁原理(2)可重入实现(2)[Synchronized在什么时候获取什么锁?](https://blog.csdn.net/weixin_43878297/article/details/105781307)3、ReentrantLock提到多线程,肯定离不开线程的同步方式,线程的同步方式有三种一、同步方法块二、同步方法三、锁接下来面试管肯定矛头直指synchronized和Lock的区别?原创 2020-09-15 19:49:16 · 167 阅读 · 0 评论 -
MySQL事务怎么回答?
文章目录1、数据库事务有哪些特性?2、数据库可能存在的问题3、不可重复读和幻读的区别4、事务的隔离级别5、MySQL数据库默认事务隔离级别了解数据库事务吗?讲一下数据库隔离级别?数据库事务有哪些特性?1、数据库事务有哪些特性?ACID可能你们都不会陌生,而ACID就是数据库事务能够做的东西A Atomicity 原子性C Consistency 一致性I Isolation 隔离性D Durability 持久性我们分别讲一下,ACID分别代表什么?1、A Atomicity 原子性原创 2020-09-14 19:19:10 · 105 阅读 · 0 评论 -
线程安全的HashTable、ConcurrentHashMap和SynchronizedMap
面试官:HashMap是线程安全的吗?你:不是线程安全的,因为……(balabala)面试官:很好,那既然是线程不安全的话,有什么可以替代他的呢?你:HashTable、ConcurrentHashMap、和SynchronizedMap面试官:你能讲一下他们具体的底层原理,为什么是线程安全的吗?你:……面试官:好的,那我们今天的面试就到这里,回家等联系吧文章目录1、讲一下HashTable为什么是线程安全的?2、讲一下SynchronizedMap为什么是线程安全的?3、讲一下Concu.原创 2020-09-12 00:01:51 · 341 阅读 · 0 评论 -
Java多线程怎么回答?
文章目录1、进程和线程的区别Java多线程一定是作为Java研发必问的点,如果问你对Java多线程了解吗?你回答说了解一点,但是没有具体使用过,那你直接回家等通知就好了。作为渣渣二本大学的软件专业,我们对多线程一知半解的,就算进了团队,做的项目也只是CURD,多线程也是用不上啊。那怎么办呢?硬背呗,还能怎么办?下面自己总结了一下多线程在面试中被问到次数比较多的问题1、进程和线程的区别1、资源分配:进程是操作系统分配资源的基本单位 线程是CPU执行的基本单位2、从属关系:一个进程至少原创 2020-09-10 22:24:09 · 173 阅读 · 0 评论 -
TCP三次握手四次挥手怎么回答?
相信我把tcp三次握手,四次挥手列为面试必问问题,在座的各位都不会有意见。那么tcp握手和挥手那么经常被问,你真的确保自己能回答的好吗?原创 2020-09-08 17:11:34 · 486 阅读 · 0 评论 -
String a = new String(“a“+“b“)到底产生了多少对象?
在做百度的笔试题的时候,出现了这样的一道题目String a = new String(“a”+“b”)问产生了多少个对象?我们首先来复习一下一些基本的常识1、当我们使用String a = "a",生成一个对象的时候会发生什么事情?首先JVM会去找常量池,看看有没有“a”这个字符串常量, 如果有得话,直接返回引用 如果没有得话,在常量池创建一个字面量,并返回引用 //这里只会创建一个对象,就是常量池里面的 String a = "abc"; String b =.原创 2020-09-05 23:53:45 · 5153 阅读 · 9 评论 -
Java GC怎么回答?
文章目录引言引言Java和C++最大的不同点就是Java能够自动回收内存,而Java垃圾回收虽然程序员一般不用去管,但是也要知道其中的道道,一下是我在看《深入理解JVM》的一些小小的心得,不一定正确,有错误欢迎大家指正!首先我们要知道Java垃圾回收机制做了一件什么事情?Java垃圾回收机制就是对内存中不需要的对象(主要是对象),和类进行回收Java垃圾回收机制主要解决了什么问题?1、哪些对象要回收2、...原创 2020-09-04 15:31:34 · 276 阅读 · 0 评论 -
剑指offe【31-67】
文章目录31、整数中1出现的次数32、把数组排成最小的数33、丑数34、第一个只出现一次的字符31、整数中1出现的次数求出1 ~ 13的整数中1出现的次数,并算出100~ 1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路:public class Solution {原创 2020-08-31 21:45:05 · 270 阅读 · 0 评论 -
一个对象从0到1又为0发生了什么事情?
Java是一门面向对象的编程语言,Java程序运行的过程中,无时无刻都有对象被创建出来,对于程序员来说,创建一个对象仅仅是一个new关键字而已,那么对于虚拟机来讲,对象创建是怎么的一个过程呢?1. 类加载过程在Java中,所谓类的加载是指将类的相关信息加载到内存。在Java中,类是动态加载的,当第一次使用这个类的时候才会加载,加载一个类时,会查看其父类是否已加载,如果没有,则会加载其父类。2. 对象分配内存在类加载检查完毕之后,接下来就是虚拟机为新生的对象分配内存了。对象所需内存大小在类加载完.原创 2020-08-25 13:49:05 · 222 阅读 · 0 评论 -
剑指offer【1-30】
文章目录1、数组的查找2、替换空格3、从尾到头打印链表1、数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) { //分出行和列 int hang=array.le原创 2020-08-12 22:46:55 · 232 阅读 · 0 评论 -
Java必会设计模式【持续更新中】
First Head 设计模式1、策咯模式1、策咯模式在面试字节跳动的时候,面试官就让我用代码实现一下策略模式,说实话,当时我是很慌张的。在面试深信服的时候面试官也问了一下设计模式的单例模式,那时候我还不是很懂设计模式,然后我就把《First Head设计模式》给啃完了,但是就是简单过了一遍。这次面试字节跳动的时候又来,干…(省略内心1000字的问候)但是还是要好好写。首先我们要知道策略模式是干了一件什么事情?策咯模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于原创 2020-08-10 00:11:14 · 293 阅读 · 0 评论 -
【字节跳动提前批】
文章目录算法题1.汽车行驶2.用Java实现策略模式3.线程池里面有什么参数开始提问1.Java有那些默认的类加载器2.mysql数据隔离级别3.mysql索引什么时候会失效4.redis有哪些数据类型5.springboot有哪些特性6. tcp的拆包和粘包7.http和https的区别算法题1.汽车行驶有N个汽车站成环状,你有一辆无限油量的车,一开始油量为零,你可以去汽车站加油,每个汽车站有gas[i]的油,到下一站要油耗cost[i]的油,如果你能环绕一圈,请给出出发的站点,如果不能,请返回-1原创 2020-07-28 21:11:07 · 263 阅读 · 0 评论 -
Java子类继承父类的函数调用关系及静态代码块调用
创造一个父类public class A { public final static String NAME="父类———:"; public static String aStatic=NAME+"静态域"; public final static String aFinalStatic=NAME+"final修饰的静态域"; public static String c=NAME+"重名的静态域"; static { System.out.println(NAME+"静态代码原创 2020-07-09 10:15:59 · 832 阅读 · 0 评论 -
《深入理解Java虚拟机》
看《深入理解Java虚拟机》的一份学习笔记。包括虚拟机运行时的数据区域对象布局,以及对象创建、访问判断对象是否已死,以及GC的收集器和收集算法、GC的过程类加载机制线程以及锁的优化,升级其中大部分是课本的内容加上自己的理解,为防止文件失效,我将该学习笔记上传GitHub了,希望对你有帮助GitHub地址:https://github.com/WeirdeQL/StudyFile.git...原创 2020-06-13 16:49:54 · 168 阅读 · 0 评论 -
HashMap常考点!
什么是hashMap?这里分两种:在jdk1.7以前,他是基于数组+链表来实现的,使用链表来处理冲突(头插法),这样在同一个hash值得数据比较多的情况会产生查询变慢的一个问题所以在jdk1.8以后,对hashMap进行了一个调优,即使用数组+链表+红黑树来实现(尾部插入),实际上就是对查找的速度实行了一个优化,当链表长度超过阈值(8)之后,我们就会把链表转化成为红黑树为什么链...原创 2020-04-30 11:52:10 · 312 阅读 · 0 评论 -
【一看就懂】Synchronized在什么时候获取什么锁?
Synchronized在什么时候获取什么锁?附上代码实例讲解,一看就懂。原创 2020-04-27 01:31:56 · 446 阅读 · 0 评论 -
java代码块和静态代码块的区别
要解释这件事件,我们通过一个例子来说明一下:我们分别创建了静态代码块,构造代码块,show()还有一个局部代码块package test;/***@time 2020年4月20日:上午10:16:09*@author Weirdo*@version 1.0**/public class StaticCode { int age; // static 代码块 ...原创 2020-04-20 10:45:22 · 1331 阅读 · 0 评论 -
Java Arrays.sort()对二维数组排序
今天在解决leetcode的合并区间出现了需要用到二维数组的排序,突然间想起来自己对于这方面不是很懂,虽然自己可以实现,但是实现起来很麻烦,我想看看网上有没有人有好的想法或者API直接调用。然后就被我发现了这个东西 java中Arrays.sort()对二维数组进行排序然后就发现了新大陆,调用这个方法,完美解决二维数组排序的问题int [][]a = new int [5][2];//...原创 2020-03-29 13:18:44 · 3982 阅读 · 0 评论 -
Java 的浅拷贝 和 深拷贝
今天想去了解一下java常用的几大类,里面的一些方法的原理的时候,发现一个以前师弟问我的问题,但是很尴尬,我没回答上来。现在在看Object类的时候,发现了clone()这个方法,想起来那时候师弟问我的java对象的深拷贝…现在才来填坑//object类里面的源代码protected native Object clone() throws CloneNotSupportedExcepti...原创 2020-03-21 01:26:23 · 74 阅读 · 0 评论