线程安全:Vector使用了 Synchronized 来实现线程同步,是线程安全的,而
11.JVM内存分哪几个区,每个区的作用是什么? java虚拟机主要分为以下一个区: 方法区: 1. 13.简述java垃圾回收机制? 在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。 15.java内存模型 java内存模型(JMM)是线程间通信的控制机制.JMM定义了主内存和线程之间抽象关系。 到了初始化阶段,才真正开始执行类中定义的Java程序代码。 17. 简述java类加载机制? 系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。
在前面【《从Java面试题来看源码》-LinkedBlockingQueue 源码分析】的文章中,我们看到有一个toString方法是这样的: public String toString Helpers类用于并发包输出字符串,该类只在输出数组的时候获取锁,而不是在toString中获取锁 Java11中用到了Helpers.collectionToString(this)的方式输出字符串 ,并且与Java8是不同的。 先看看Java11中Helpers类的写法: /** * Collection.toString() 的一种实现,适用于有锁的类。 Java11中是: toString():我要输出了,队列你先把当前值给我 队列:放下原来的事,把toString()要的数据准备好,给了toString()后,继续做原来的事 toString:我可以输出了
类加载机制: 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。 类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。 4)分代收集算法:一般是把Java堆分为新生代和老年代,根据各个年代的特点采用最适当的收集算法。新生代都发现有大批对象死去,选用复制算法。 (2)JVM常见的调优参数包括: -Xmx 指定java程序的最大堆内存, 使用java -Xmx5000M -version判断当前系统能分配的最大堆内存 -Xms 指定最小堆内存, 通常设置成跟最大堆内存一样 11. 数据库的四大特征,数据库的隔离级别? 数据库的四大特征: (1)原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。
Java的String这个类是我在一开始学习的时候遇到的,起初一直把它误认为是一个基本的数据类型,以为它就是很简单的一个底层的实现。
前言 最近一直都在面试,整理了几家公司常问的三大框架面试题,现在把它带答案整理好在这里分享给大家,希望对大家有所帮助。 以下为 Spring 常见面试问题 1 、什么是 Spring 框架? Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。 Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 在 Java 中依然注入有以下三种实现方式: 1. 构造器注入 2. Setter 方法注入 3. 接口注入 4 、请解释下 Spring 框架中的 IoC ? 2、Spring MVC 的优点: 答: 1)它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java 组件.并且和 Spring 提供的其他基础结构紧密集成. 2)不依赖于
11、是否可以从一个static方法内部发出对非static方法的调用? 12、Integer与int的区别 13、Math.round(11.5)等於多少? java可以归类到那种? 216、java笔试题及答案(java难度笔试题) 217、java笔试题大全带答案(经典11题) 218、成员变量用static修饰和不用static修饰有什么区别? 224、java反射的使用场合和作用、及其优缺点 225、java中String类的面试题大全含答案 226、写一个方法,实现字符串的反转,如:输入abc,输出cba 227、String类为什么是final 265、类ExampleA 继承Exception,类ExampleB 继承ExampleA 266、Java异常处理try-catch-finally的执行过程 267、java异常处理面试题常见选择题含答案 用Java写一个排序系统 277、java笔试手写算法面试题大全含答案 转自java面试题网
/javascript-in-plain-english/do-you-know-javascript-1f2b44461333 翻译 | web前端开发(ID:web_qdkf) 在本文中,将分享11 11、导入&&导出 输出是什么?
在Java中,引用级别一共有四种,分别为: 强引用就是一般程序中的引用,例如 Student student = new Student(); ---- 软引用(java.lang.ref.SoftReferenct 示例如下所示: ---- 弱引用(java.lang.ref.WeakReferenct)当GC的时候,只要发现存在弱引用,无论系统堆空间是否不足,均会将其回收。 示例如下所示: ---- 虚引用(java.lang.ref.PhantomReference)如果对象持有虚引用,其实与没有引用是一样的。
java面试题 定义一个int型的数组:int[] arr = new int[]{12,3,3,34,56,77,432}; 让数组的每个位置上的值去除以首位置的元素,得到的结果,作为该位置上的新值。
Java编程语言只有值传递参数。 当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。 1.Java中没有指针,所以也没有引用传递了,仅仅有值传递。不过,可以通过对象的方式来实现引用传递。类似java没有多继承,但可以用多次implements接口实现多继承的功能。 2.在Java应用程序中永远不会传递对象,而只传递对象的引用。因此是按引用传递对象。但重要的是要区分参数是如何传递的。 3.Java应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java应用程序是按值传递对象引用的。 4.Java应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的,没有一种按引用传递。
今天的面试题应该是常问的SpringBoot的两大特点1.
解释一下什么是Java的自动装箱和拆箱自动装箱和拆箱就是基本数据类型及其对应的包装类型能够进行自动转换,自动装箱就是基本数据类型可以自动转化成其包装类型,比如说一个Integer集合,可以直接使用.add 解释一下Java的异常处理机制Java的异常处理机制主要分为抛出异常,捕捉异常。异常处理机制一般使用try,catch,finally,throw,throws这五个关键字进行异常的抛出和处理。 解释一下Java是如何处理异常,及其常见的异常类型Java中的异常处理是如果在try语句块中发生了异常,则会抛出一个异常对象,然后去执行相应的catch语句块去捕捉该异常对象,如果找不到catch语句块
好啦,接着是常规的每日两道Java面试题,不过今天有四道,希望大家可以每天看一看,加深印象1. 解释一下Java的垃圾回收机制Java的垃圾回收机制就是Java运行程序会不定时将已经分配出去但是不再使用的内存给回收起来,并且占有该内存的对象也会自动销毁。一般都在堆内存进行垃圾回收。2. 解释一下Java的线程是什么,怎么创建和启动线程在Java中,线程是程序执行的一条路径,每个Java程序都至少有一个线程,也就是主线程,同时也可以创建其他线程加入主线程中,这些线程可以同时执行其他代码,
Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM ,如下图所示: 共包含 208 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单 Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。 11. 抽象类必须要有抽象方法吗? 不需要,抽象类不一定非要有抽象方法。 Java 容器都有哪些?
接: Java常见面试题① Java常见面试题② 1 Collection 和 Collections的区别 这可不是单数和复数。 Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。 Collection是个java.util下的接口,它是各种集合结构的父接口。
好啦,接着是常规的每日两道Java面试题,希望大家可以每天看一看,加深印象1.
解释一下什么是Java的JVM虚拟机,有什么作用Java的虚拟机JVM,也是java程序的运行环境,作用是将源程序编译成字节码,并在虚拟机上解释执行这些字节码文件,从而实现跨平台性,有JVM的存在,使得 Java程序无需进行修改即可在另一个平台直接执行,具有非常良好的跨平台性和可移植性。 解释一下Java的封装,继承和多态封装指的是保护数据和行为,将属性隐藏,然后提供公共方法访问数据。一般设置属性用private修饰符修饰属性来实现封装。封装有助于数据的保护,并防止数据不必要的修改。 在Java中使用extends关键词后面跟的就是父类的类名。继承有助于代码复用和减少代码冗余。并且可以添加或者覆盖新的属性和方法。多态指的是同一个行为或方法有不同的表现形式。 在Java中,多态发生在两个对象拥有共同的超类,并且他们被赋值给超类变量。当一个超类对象引用子类对象时,则该变量可以访问超类和子类的所有属性和方法。
那么该对象是不能引用的,这个算法的缺点是对象相互循环引用,计数器永远不为0 可达性分析算法:一个GC Roots对象为起点,从这些节点向下搜索,这个路径被称为引用链,当对象没有被引用链相连时,该对象是不可取的 java 悲观的认为,不加锁的并发操作一定会出问题,在java中使用就是利用各种锁 乐观锁认为对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用尝试更新,不断重新的方式更新数据。 乐观的认为,不加锁的并发操作是没有问题的,在Java中使用就是无锁编程,常常采用的是CAS算法,典型的例子就是原子类,通过CAS自旋实现原子操作的关系 自旋锁 在java中,自旋锁是指测试获取锁的线程不会立即阻塞 distinct \quad col) / count(*) ,表示字段不重复的比例 索引项不能参与计算,保持列“干净” 尽量的扩展索引,不要新建索引 选择索引的目的是为了使查询的速度变快 MySQL面试题 = Integer.MAX_VALUE(232-1) ScheduledThreadPool:具有定时定期执行任务功能的线程池 线程池的单例 单例模式 单例模式(Singleton Pattern)是Java
Java面试题 什么是面向对象,谈谈你对面向对象的理解 面向过程 对比面向过程,面向对象是两种不同的处理问题的角度 面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者(对象)、及各自需要做什么 虚拟机(JVM) JDK、JRE、JVM三者区别和联系 JDK Java Development Kit Java工具开发包 JRE Java Runtime Environment Java运行环境 hashCode()定义在JDK的Object.java中,Java中的任何类都包含有hashCode()函数。 在Java中,堆是Java虚拟机所管理的内存中最大的一块,是所有线程共享的一块内存区域,在虚拟机启动时创建。 Spring板架里面就是用的ThreadLocal来实现这种隔离 Redis面试题集 Redis Spring是什么 轻量级的开源的J2EE框架。