摘要: http://blog.jobbole.com/109170/ https://blog.csdn.net/baiye_xing/article/details/73743395 G1垃圾收集器关键技术。 G1垃圾回收器是如何划分堆空间的呢? G1垃圾回收器将内存分成一个个小块区域,这些小块区域的大 阅读全文
posted @ 2018-08-03 15:09 buptyuhanwen 阅读(1692) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/Leo_wl/p/5393300.html https://www.cnblogs.com/Leo_wl/p/5393300.html 简述CMS垃圾回收器垃圾回收的几个流程 CMS作用于老年代的垃圾回收,但是也会扫描新生代的内容 1.初始标记阶段。用 阅读全文
posted @ 2018-08-03 14:36 buptyuhanwen 阅读(1846) 评论(0) 推荐(0) 编辑
摘要: 曾经出现哪些虚拟机内存溢出的问题呢?如何解决的呢? pregen space out of memory的问题,内存溢出问题。 tomcat这样设置: TOMCAT_HOME\bin\catalina.bat 中添加这样一句话: set JAVA_OPTS= -Xmx1024M -Xms512M - 阅读全文
posted @ 2018-08-03 14:29 buptyuhanwen 阅读(164) 评论(0) 推荐(0) 编辑
摘要: ?虚拟机运行时候内存主要有几块区域,是线程相关的吗,分别有什么作用? 程序计数器:线程私有,用来记录当前线程所执行的字节码的行数,使得在多线程执行的情况下线程切换后能回到正确的执行位置。程序计数器不会内存溢出。如果执行java方法,计数器会记录执行的字节码的行数;如果执行的是native方法,计数器 阅读全文
posted @ 2018-08-03 14:13 buptyuhanwen 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 是一种分布式系统中的数据分布方式。 将数据散落到一个闭环上,然后将服务器节点均匀放置到这个闭环上,那么每个服务器节点就能够处理它所在范围内的数据点。 考虑数据分布方式的好坏主要考虑三个点: 1. 扩容是否方便 2. 是否存在哈希倾斜 3. 元数据管理起来是否容易。 扩容方面: 一致性hash算法在扩 阅读全文
posted @ 2018-08-03 10:44 buptyuhanwen 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 多态的实现原理:父类的引用指向子类对象。同一个操作作用于不同的对象的时候有不同的具体实现。 什么是前期绑定和后期绑定呢?什么叫做绑定呢? 绑定的意思是:将方法调用和方法具体执行的主体联系在一起叫做绑定。 前期绑定:程序执行之前进行绑定,编译的时候就将方法具体执行的地址存好了直接调用就行了。 后期绑定 阅读全文
posted @ 2018-08-03 10:37 buptyuhanwen 阅读(463) 评论(0) 推荐(0) 编辑
摘要: synchronized 加到 static 方法前面是给class 加锁,即类锁;而synchronized 加到非静态方法前面是给对象上锁。 对象锁和类锁是不同的锁,所以多个线程同时执行这2个不同锁的方法时,是异步的。 类锁对该类的所有对象都能起作用,而对象锁不能。 大白话就是:一个线程执行同步 阅读全文
posted @ 2018-08-03 10:37 buptyuhanwen 阅读(3487) 评论(0) 推荐(0) 编辑
摘要: System.arrayCopy入参是两个已经建立好的数组,所以能够将一个数组中的数据复制到另一个数组中。 Arrays.copyOf方法底层调用到System.arrayCopy,不过只有一个入参数组,返回一个最新创建的数组。 System.arrayCopy入参是两个已经建立好的数组,所以能够将 阅读全文
posted @ 2018-08-03 10:16 buptyuhanwen 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 动态代理的意思是,有一个委托类有一个代理类,让代理类去实现委托类的方法,这样既可以对委托类的代码实现进行封装和隐藏,还能够在委托类的基础上添加额外的一些自定义处理。 两种代理方式 1.jdk原生的代理方式 2.cglib方式 使用jdk动态代理的流程 1.创建接口 2.创建委托类实现接口 3.创建代 阅读全文
posted @ 2018-08-03 10:03 buptyuhanwen 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 6.2无关性 ?java虚拟机如何保证平台无关,语言无关?java虚拟机只能够运行java程序吗? 因为java虚拟机只识别.class文件字节码。用不同语言编写的代码最后转存成.class文件就能够被java虚拟机识别和运行。 ?类加载器用来做什么呢? 1.加载一个类 2.确定一个类的唯一性 两个 阅读全文
posted @ 2018-08-03 09:47 buptyuhanwen 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 资料 http://www.iteye.com/topic/1123081 概念 java反射机制是说在程序的运行过程中,对于任意一个类或者对象,都能够知道它的所有属性和方法和构造方法,能够创建新的对象;这种动态获取属性或者调用方法的功能叫做java反射机制。 对于反射来说,最重要的就是Class类 阅读全文
posted @ 2018-08-03 09:35 buptyuhanwen 阅读(78) 评论(0) 推荐(0) 编辑