-
-
0
-
0做这个好多年了
-
6关键字volatile是Java虚拟机提供的最轻量级的同步机制。当一个变量被定义成volatile之后,具备两种特性: 1.保证此变量对所有线程的可见性。当一条线程修改了这个变量的值,新值对于其他线程是可以立即得知的。而普通变量做不到这一点。 2.禁止指令重排序优化。普通变量仅仅能保证在该方法执行过程中,得到正确结果,但是不保证程序代码的执行顺序。
-
0
-
16sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会; 线程执行 sleep()方法后转入阻塞(blocked)状态,而执行 yield()方法后转入就绪(ready)状态; sleep()方法声明抛出 InterruptedException,而 yield()方法没有声明任何异常;
-
0
-
6GC这块也是面试的重点,面试长问,实际上如果只一般公司的面试涉及的并不深,最基本的算法还是要了解的,几种收集算法都比较简单,相信大家都知道,这里个大家简单的回顾下。 标记-清除 这是垃圾收集算法中最基础的,首先标记那些要被回收的对象,然后统一回收。 缺点是效率不高,内存碎片多,优点是算法简单。 复制算法 为了解决效率问题,复制算法将可用内存按容量划分为相等的两部分,然后每次只使用其中的一块,当一块内存用完时
-
0大家有遇到过那种不守时的面试官吗。我遇到了一个,他定的时间是10点30电话面试,结国40多了都没消息 发消息给他他说一会联系我。结果就到了快一点还是没消息
-
1今年你的目标任务是什么
-
1大佬们问一下java后端面试都问什么啊,背八股文就可以了吗
-
0亲爱的java面试吧的吧友们:大家好! @小黄人吐泡泡 为本吧吧主候选人得票最多者,共计0张真实票数,根据竞选规则,官方最终批准其成为本吧正式吧主。公示期三天。 吧主上任后,请严格遵守吧主协议 https://tieba.baidu.com/mo/q/newapply/rule?from=task,履行吧主义务,积极投身本吧的发展建设,也请广大吧友进行监督。如出现违规问题,请至贴吧反馈中心进行反馈或者投诉http://tieba.baidu.com/pmc/reportBazhu
-
41. 静态类的.class语法:网页链接 2. 普通类对象的getClass()⽅法:new Test().getClass() 3. 通过Class对象的forName()⽅法: Class.forName(“com.zhenai.modules.guide.utils.GuideUtil"); 4. 对于包装类,可以通过.TYPE语法⽅式:Integer.TYPE
-
01. 概念: 是指两个或两个以上的进程在执⾏过程中,因争夺资源⽽造成的⼀种互相等待的现象,若⽆外⼒作⽤,它们都将⽆法推进下去。此时称系统处于死锁;
-
3需要的请参考二楼的▶️◀️某信
-
11需要的请参考二楼的▶️◀️某信
-
11需要的请参考二楼的▶️◀️某信
-
1需要的请参考二楼的▶️◀️某信
-
1需要的请参考二楼的▶️◀️某信
-
12我们平时使用idea开发,并且项目都是部署到像Tomcat容器上的,所以很少用到JDK自带的一些命令,实际上JDK提供了很多命名用来查看Java程序在运行时的一些信息,这里说一些简单常见的,有兴趣的可以多去了解测试下。 jps jps:Java Virtual Machine Process Status Tool 用来查看Java进程 ,相当于Linux下的ps命令,只不过它只列出Java进程。 jstat jstat:JVM Statistics Monitoring Tool jstat可以查看Java程序运行时相关信息,可以通过它查看堆信息的相关情况。 jinfo jinfo:Java Configura
-
01. Java虚拟机是线程私有的,它的生命周期和线程相同。 2. 虚拟机栈描述的是Java方法执行的内存模型: 每个方法在执行的同时 都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 3.虚拟机栈中是有单位的,单位就是栈帧,一个方法一个栈帧。一个栈帧中他又要存储,局部变量,操作数栈,动态链接,出口等。 解析栈帧: 1. 局部变量表:是用来存储我们临时8个基本数据类型、对象引用地址、returnAddress类型。
-
3标记-清除 这是垃圾收集算法中最基础的,首先标记那些要被回收的对象,然后统一回收。 缺点是效率不高,内存碎片多,优点是算法简单。 复制算法 为了解决效率问题,复制算法将可用内存按容量划分为相等的两部分,然后每次只使用其中的一块,当一块内存用完时,就将还存活的对象复制到第二块内存上,然后一次性清除完第一块内存,下次回收再将第二块上存活对象复制到第一块。 解决了标记-清除算法的效率和内存碎片问题,缺点是浪费了
-
0
-
1首先注解是什么? Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。 Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation对象,然后通过该 Annotation 对象来获取注解中的元数据信息。 上面是注解的定义,可以从中总结以下几个关键的点: 干什么的:用来在程序中对元素(元素就是Java中的类、方法等)关联其他信息的。 是什么:它是一个接口,一个特殊的接口。 怎么用:通过反
-
11. 调优时机: a. heap 内存(老年代)持续上涨达到设置的最大内存值; b. Full GC 次数频繁; c. GC 停顿时间过长(超过1秒); d. 应用出现OutOfMemory 等内存异常; e. 应用中有使用本地缓存且占用大量内存空间; f. 系统吞吐量与响应性能不高或下降。 2. 调优原则: a. 多数的Java应用不需要在服务器上进行JVM优化; b. 多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题; c. 在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合
-
0内存溢出(Out Of Memory)经常简称为OOM,在jvm中主要分为方法区、堆、栈、本地方法栈、程序计数器这几部分,其中程序计数器是唯一不会出现OOM的,也就是说其他区域都会出现OOM。下面来分别说明几个区域出现OOM的情况及特征。 1. java堆溢出(heap) Java堆内存主要用来存放运行过程中所有的对象,该区域OOM异常一般会有如下错误信息: java.lang.OutofMemoryError:Java heap space 可以通过dump的内存快照就能分析,到底是由于程序原因导致的内存泄露,还是由于没
-
2Java 使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息。 Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类为java.lang.Throwable,Throwable 下面又派生了两个子类:Error 和 Exception, Error 表示应用程序本身无**服和恢复的一种严重问题,程序只能挂掉,例如,说内存溢出和线程死锁等系统问题。 Exception 表示程序还能够克服和恢复的问题,其中又分为
-
0亲爱的各位吧友:欢迎来到java面试