首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA高并发基础面试题(附答案)

这都不知道就不要去大公司面试了,丢人 java并发面试题(一)基础 本文整理了常见的Java并发面试题,希望对大家面试有所帮助,欢迎大家互相交流。...java如何实现多线程之间的通讯和协作? 锁 什么是可重入锁(ReentrantLock)?...请说明下java的内存模型及其工作流程。 为什么代码会重排序?...原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: java并发面试题(一)基础 http://ifeve.com/javaconcurrency-interview-questions-base...答案 可以阅读以下参考资料,知道答案后可以在回复中交流 Java线程池的分析和使用 Java线程池(第二题) 原子操作的实现原理 (锁 第一题) Java中的读写锁(锁 第二题) 如何设计客户端流控程序

2.9K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java基础Java基础语法

    前言 Java 以前自学过一写,现在工作了,时间太久有一些知识都遗忘了,今天开始就更新 Java 了,想着把之前的 Java 基础知识捡起来;从最基础的开始,打好 Java 基础,便于以后复习。...因此,在编写 Java 代码时,程序员需要遵守 Java 关键字的使用规则,以保证程序的正确性和可读性。...char自动升级为int,其实就是把字符的编码值赋值给i变量了 double d = 10;//int自动升级为double byte b = 127; //右边的整数常量值必须在-128~127范围...逻辑运算,布尔值是逻辑运算的基础Java 中的逻辑运算符有:与(&&)、或(||)、非(!)等,常用于对布尔值的运算和操作。 方法返回值,可以将布尔值作为方法的返回值,表示某种条件是否满足。...规定:正数的补码与反码、原码一样,称为三码合一; ​ 负数的补码与反码、原码不一样: ​ 负数的原码:把十进制 转为二进制,然后最高位设置为 1 ​ 负数的反码:在原码的基础

    65620

    Java基础

    即不能改变对象的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。 不可变对象有什么好处?...整型的包装类 valueOf 方法返回对象时,在常用的取值范围,会返回缓存对象。 浮点型的包装类 valueOf 方法返回新的对象。...值传递和引用传递 一般认为,java的传递都是值传递 值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。...他和成员内部类的区别在于局部内部类的访问权限仅限于方法或作用域。 静态内部类: 静态内部类和成员内部类相比多了一个static修饰符。只能访问外部类的静态成员变量与静态方法。...生产者消费者模式 生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。优点:支持并发、解耦。

    1.3K10

    Java基础

    最初重几十吨但一秒只能运算5000次的ENIAC(世界上第一台计算机),只能做非常小的应用,比如:某些情况的弹道计算。现在任何一个人的手机运算能力都可以秒杀那个年代地球上所有计算机运算能力的总和。...答:它是Java本身写好的一些程序,给程序员调用的。 Java程序员并不是凭空开始写代码,是要基于核心类库提供的一些基础代码,进行编程。 什么是JRE?...基础语法 2.1 注释 为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释。...变量的作用域 变量定义在哪个{}范围,就只在哪个大括号内有效。...任何一种颜色可以使用三原色来表示,简称RGB,其中R(红色),G(绿色),B(蓝色),而RGB中每一种颜色又用一个字节的整数来表示,最小值是0最大值是255 视频的储存 实际上视频和图片是一样的,把多张图片连续播放,在一秒钟连续播放

    15610

    java基础

    Java只有一种参数传递方式:那就是按值传递,即Java中传递任何东西都是传值。...在JAVA里,“=”语句不应该被翻译成赋值语句,因为它所执行的确实不是一个赋值的过程,而是一个传地址的过程 在JAVA中,方法的入参对于基本数据类型和字符串常量来说,传递的其实只是这个值本身的一个拷贝而已...".contains(".java")); System.out.println("Hello World.java".endsWith(".java")); System.out.println...处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。...; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

    55920

    Java内存与堆外内存

    一般情况下,Java 中分配的非空对象都是由 Java 虚拟机的垃圾收集器管理的,也称为堆内存(on-heap memory)。...彻底回收时,垃圾收集器会对所有分配的堆内存进行完整的扫描,这意味着一个重要的事实——这样一次垃圾收集对 Java 应用造成的影响,跟堆的大小是成正比的。过大的堆会影响 Java 应用的性能。...堆外内存意味着把内存对象分配在 Java 虚拟机的堆以外的内存,这些内存直接受操作系统管理(而不是虚拟机)。这样做的结果就是能保持一个较小的堆,以减少垃圾收集对应用的影响。...但是 Java 本身也在不断对堆内存的实现方式做改进。两者各有什么优缺点?...用new来分配对象内存是最基本的一种方式,Lawery提到: 在Java 5.0之前,分配对象的代价很大,以至于大家都使用内存池。

    4.4K40

    Java基础-初识Java

    2006年,J2SE 6.0 (1.6.0) Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2": J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java...ME 2009年4月20日甲骨文收购Sun公司,交易价格74亿美元 2011年,JavaSE7.0 2014年 ,JavaSE8.0 Sun公司的主要竞争对手是IBM,业务高度重合 Sun抱有很多先进的技术...Sun是一家极具创新能力的公司, 但是没能利用Java构建一个强有 力、可变现的生态系统,没打好Java这张牌。...2008年金融危机给sun公司致命的打击 2009年4月20日甲骨文以现金收购Sun微系统公司,交易价格74亿美元 Java三大版本 J2SE Java的标准版本 (Java2 Standard...此时,Java的各种版本被更名,取消其中的数字"2": J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME

    1.3K21

    Java基础

    最初重几十吨但一秒只能运算5000次的ENIAC(世界上第一台计算机),只能做非常小的应用,比如:某些情况的弹道计算。现在任何一个人的手机运算能力都可以秒杀那个年代地球上所有计算机运算能力的总和。...答:它是Java本身写好的一些程序,给程序员调用的。 Java程序员并不是凭空开始写代码,是要基于核心类库提供的一些基础代码,进行编程。 什么是JRE?...基础语法 2.1 注释 为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释。...变量的作用域 变量定义在哪个{}范围,就只在哪个大括号内有效。...任何一种颜色可以使用三原色来表示,简称RGB,其中R(红色),G(绿色),B(蓝色),而RGB中每一种颜色又用一个字节的整数来表示,最小值是0最大值是255 视频的储存 实际上视频和图片是一样的,把多张图片连续播放,在一秒钟连续播放

    7110

    Java基础

    JVM的整体结构JVM的整体结构主要由三个部分组成:类加载系统:负责加载本地中的Class文件,对其进行校验与转换最后形成可以被虚拟机直接调用的java.lang.Class并保存于方法区中。...Java中的值传递与引用传递值传递在方法的调用过程中,实参将其真实值传递给形参,该传递过程相当与将实参的复制一份传递到函数,对形参的操作不会影响到实参。...Java中的反射反射指的是在运行状态中,对于任意一个类都可以获得其中的属性与方法;对于任意一个对象,都可以调用其中的任意方法。这种动态获取信息以及动态调用对象方法的功能便是Java中的反射。...Java中的元注解以及注解可以加在什么地方?哪里用到了注解?...Java中的元注解包括:@Override、@Deprecated、@SuppressWarnings,分别用于标注重写类或方法、类或方法已过时和忽略警告。

    32320

    干货:Java多线程详解(附源码)

    一. java内存模型(JMM) 1.1 java内存模型(JMM)介绍 java内存模型决定一个线程对共享变量的写入何时对另一个线程可见。...这个的具体解释,大家请看《深入理解Java内存模型》里面关于happens-before规则的讲解。...其实就是java对象,在Java中,每一个对象都拥有一个锁标记(monitor),也称为监视器,多线程同时访问某个对象时,线程只有获取了该对象的锁才能访问。...4.6 线程优先级以及守护线程 在java中线程优先级范围是1~10,默认的优先级是5。 在java中线程分为用户线程和守护线程,isDaemon返回是true,表示它是守护线程。...当所有的用户线程执行完毕后,java虚拟机就会退出,不管是否还有守护线程未执行完毕。

    1.4K51
    领券