对象一定分配在堆中吗?有没有了解逃逸分析技术?虚拟机为什么使用元空间替换了永久代?什么是Stop The World ? 什么是OopMap?什么是安全点?
一文了解JVM发展史!
本文主要介绍Java程序员应该在2020年学习的一些基本和高级工具。如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。
小伙伴们,请听题~~说说进程和线程的区别?知道synchronized原理吗?那锁的优化机制了解吗?
链表和数组是数据类型中两个重要又常用的基础数据类型。数组是连续存储在内存中的数据结构,因此它的优势是可以通过下标迅速的找到元素的位置,而它的缺点则是在插入和删除元素时会导致大量元素的被迫移动,为了解决和平衡此问题于是就有了链表这种数据类型。
JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。JRE 是什么?JRE 是支持 Java 程序运行的标准环境。
说说进程和线程的区别?进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率。由于进程是资源分配和调度的基本单位,因为进程的创建、销毁、切换产生大量的时间和空间的开销,进程的数量不能太多,而线程是比进程更小的能独立运行的基本单位,他是进程的一个实体,可以减少程序并发执行时的时间和空间开销,使得操作系统具有更好的并发性。
Java是很多人一直在用的编程语言,但是有些Java概念是非常难以理解的,哪怕是一些多年的老手,对某些Java概念也存在一些混淆和困惑。 所以,这篇文章会介绍四个Java中最难理解的四个概念,去帮助开发者更清晰的理解这些概念。
Selector允许一个单一的线程来操作多个Channel,如果我们的应用程序中使用了多个Channel,那么使用Selector很方便的实现这样的目的,但是因为在一个线程中使用了多个Channel,因此也会造成了每个Channel传输效率的降低。
JDK 15已经于2020年9月15日如期发布,本文详细介绍了JDK 15的新特性。
关于RabbitMQ,你了解多少?
本文主要介绍用本地浏览器连接远程服务器进行bug调试的两种方法。
众所周知,在java里是不能给构造函数写返回值的,如果在低版本的编译器定义一个构造器写上返回值可能会报错,高版本里面他就是一个普通的方法。可如果构造函数没有返回值,比如Test t = new Test()我们new一个对象的时候是怎么赋值的呢?
从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:“Java中的对象就一定是在堆上分配的吗?”这个问题呢?看来,我们从接触Java就被灌输的这个观点值得我们怀疑。
在作业中,项目使用文件上传。 这个功能很常见。 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件。 它是怎么发生的? 经过许多问题之后,事实证明这是由于Tomcat的配置所致!
在作业中,项目使用文件上传。 这个功能很常见。 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件。 它是怎么发生的? 经过许多问题之后,事实证明这是由于Tomcat的配置所致!
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。
什么是堆污染呢?堆污染是指当参数化类型变量引用的对象不是该参数化类型的对象时而发生的。我们知道在JDK5中,引入了泛型的概念,我们可以在创建集合类的时候,指定该集合类中应该存储的对象类型。 如果在指定类型的集合中,引用了不同的类型,那么这种情况就叫做堆污染。
Java行业的谁人不知SSM框架呢?除非你告诉我刚学Java,我就相信你不知道SpringMVC。关于SringMVC的由来和干嘛用的基本都不用介绍了,基本都知道了。但有一点可以肯定的是:有很多人只停留在SpringMVC使用层面,对于SpringMVC的底层原理和源码却没有深入了解过。
说起JavaScript,大家都知道是一门脚本语言。那么ES是什么鬼呢?ES全称ECMAScript ,是JavaScript语言的国际标准。最近,我总结了25条JavaScript的基础特性相关的知识点,大家一起看一下吧~