Java的每个对象中都有一个锁(monitor,也可以成为监视器) 并且wait(),notify()等方法用于等待对象的锁或者通知其他线程对象的监视器可用。...在Java的线程中并没有可供任何对象使用的锁和同步器。...这就是为什么这些方法是Object类的一部分,这样Java的每一个类都有用于线程间通信的基本方法 volatile关键字在Java中有什么作用?
自己经验有限,篇幅也有限,这里只是记录一些比较容易混淆或有难度和一些易忘的技术知识点,里面有一些也是面试阿里经常会被问到的问题,但是不保证答案全部正确,有错误的地方望大家指正 JVM相关 JVM内存是如何分配的...步骤其实很简单: 读取文件 排序 这里直接提供代码,分别是jdk 1.7和jdk 1.8的2个版本 1.7: import java.io.*; import java.util.*; import...; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import...java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main...乍一看这问题不要太简单,但是我挺佩服问这问题的面试官的,这问题向后衍生无论是广度还是深度都无可挑剔。
参考链接: 使用Java计算文本文件txt中的行数/单词数/字符数和段落数 基础 1. String是基础数据类型么? ...不是,String是一个类 而java的8大基本数据类型分别是: 逻辑类 boolean 文本类 char 整数类 byte, short, int, long 浮点类 double, float。
所有的 Java虚拟机实例必须在每个类或接口被 Java程序“首次主动使用”时才初始化它们。...如果你经常参加面试,一定会被问到这个 Map实现类,这个 Map实现类是在 jdk1.5中加入的,其在 jdk1.6/1.7中的主要实现原理是 segment段锁,而每个Segment 都继承了 ReentrantLock...八、java -> class -> 执行 ---- Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。...Java.lang.ClassNotFoundException Java.lang.NoSuchMetodException Java.io.IOException Exception:一般分为 Checked...【1】Checked 异常:只有 java语言提供了 Checked异常,Java 认为 Checked异常都是可以被处理的异常,所以 Java程序必须显示处理 Checked异常。
Java基础部分 1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思?...l 自定义类继承Thread类方式 l 自定义类实现Runnable接口方式 1.4 Java集合框架的基本接口有哪些?...1.6 Java中的两种异常类型是什么? Error:称为错误,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理。...1.8 Java中如何实现序列化,有什么意义? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。
Java 集合 1....推荐阅读:《Java 8系列之重新认识HashMap》 注:本块内容后期再做整理修改 9....并发环境下推荐使用 ConcurrentHashMap 推荐阅读:疫苗:Java HashMap的死循环 11. ConcurrentHashMap 和 Hashtable 的区别 后期补上 12.
JAVA NIO的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开 IO 设备(例如:文件、套接字)的连接。...在 Java 7 中引入了 NIO 的改进版 NIO2,它是异步非阻塞的IO模型。...ChannelInboundHandlerAdapter 与 SimpleChannelInboundHandler 的区别 ---- 【博客连接】:链接 本文来源程序猿进阶,由javajgs_com转载发布,观点不代表Java
制定标准: 这块内容其实非常重要,但大部分系统都是缺失的,笔者过往面试的同学中只有不到一成的同学能给出自己的系统 GC 标准到底什么样,其他的都是用的统一指标模板,缺少预见性,具体指标制定可以参考...今天的面试内容等主要参考了美团大大们的佳作,通过这段时间的面试童鞋们的沟通、反馈,发现不少问题都是重复的,但很多时候童鞋们并未能深入或者更有条例的讲解出来,导致于面试滑铁卢,所以接下来根据童鞋们的反馈、...Java面试百分百.jpg
对于springboot而言可以讲解一下自动装配、微服务与分布式的区别这两个点,有的可能会涉及与spring等框架的区别和常用注解。
Java面试百分百.jpg
一、MyBatis 与 JDBC 的区别 ---- 【1】JDBC 是 Java 提供操作数据库的 API;MyBatis 是一个持久层 ORM 框架,底层是对 JDBC 的封装。...Mybatis 会自动将 Java 对象映射至 SQL语句(比如查询的时候,用户输入了什么参数就是用什么作为条件,没输入的参数就应当过滤掉等)。...> where id=#{id} 【3】choose、when 和 otherwise 标签:选择其中的一个查询条件,一个满足即可,类似于 Java
其他面试问题参考: 简单介绍项目,怎么做的,为什么要做这个,用到了什么技术; 常见的协议有哪些?...AVL树(树高与节点数关系),红黑树; 一道场景题设计数据结构; 数据库:索引有哪些类型,分别应用场景; b+和红黑树用来做索引区别,b+和b树区别; 场景题:根据需求设计数据库表,写sql语句; java...基础:java语言特性(封装继承多态); 举例子说明以上三种特性; 接口和抽象类区别。
运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。...1:区别 (1)拦截器是基于java的反射机制的,而过滤器是基于函数回调。 (2)拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
请求来自于前端的web服务器,这可能是 Apache, IIS, Nginx等; 【2】Tomcat 作为独立服务器:请求来自于web浏览器; Tomcat 的工作一般分为三种: 【1】**bio:**传统的Java
编译时,Java编译器也会提示,这称之为类型安全。这样就为程序设置了一道安全防护。同样的,使用泛型还可以省去使用普通对象时繁琐的强制类型转换。相反,使用普通对象,编译时并不会提示。...9、什么是 java 序列化?什么情况下需要序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。...2:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。...Java中用于常见算法有4种: 1. 标记-清除算法(mark and sweep) 分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收掉所有被标记的对象。...Java面试百分百.jpg
4.jpg 今日份其他面试问题: 哈希原理; 哈希结构和b+tree谁的速度更快; 如何分库分表; 分布式事务解决方案; kafka如何解决不能传送大于10k的消息; nacos和eruika如何选型
对于任意一个类,都需要由加载它的类加载器和这个类本身来一同确立其在Java虚拟机中的唯一性。 为什么需要双亲委派?...里无法获取,负责加载/lib下的类。...扩展类加载器(Extension ClassLoader):Java实现,可以在java里获取,负责加载/lib/ext下的类。...但又说volatile不能保证原子性(java程序员很熟悉这句话:volatile仅仅用来保证该变量对所有线程的可见性,但不保证原子性)。...其他面试内容: 1、Hashmap的底层实现,效率提升了多少(用时间复杂度表示)? 2、如何用两个栈实现一个队列,最大容量是多少? 3、讲一下OSI七层模型?
Java面试——Linux 一、如果知道一个文件名称,怎么查这个文件在 Linux下的哪个目录,如:要查找 tnsnames.ora文件 1 find / -name tnsnames.ora 2 #...还可以用locate 来查找 3 locate tnsnames.ora 二、Linux 中如何查看某个端口是否被占用 netstat -anp | grep 端口号 三、如何查看所有 Java进程 ps...-ef | grep java 四、怎么对命令进行取别名 alias la='ls -a' 五、什么是交换空间:交换空间是 Linux使用的一定空间,用于临时保存一些并发运行的程序。
领取专属 10元无门槛券
手把手带您无忧上云