灯灯灯灯 灯灯灯灯
2年前
阿里面试被问到【垃圾回收器】,不会怎么办??
垃圾回收器GC分类与性能指标垃圾回收器概述1.垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。2.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。3.从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性1.语法层面:Lambda表达式、switch、
Easter79 Easter79
2年前
tomcat性能调优和性能监控(visualvm)
tomcat服务器优化1、JDK内存优化根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这
Wesley13 Wesley13
2年前
Java 208 道面试题:Java 基础模块答案
目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在2010年之前的状态;第二,近几年JDK更新和发布都很快,Java的用法也变了不少,加上Java技术栈也加入了很多新的框架,比如SpringBoot、SpringCloud等,但类似的面试题却极少。相比与这些问题,我的这208道面试题,包含了以下4个特点
Wesley13 Wesley13
2年前
Java NIO
简介引入NIO的原因1.因为BIO都是阻塞的IO,为了使Java能支持非阻塞I/O,JDK引入了NIO,可以将NIO理解成是NonblockI/O.(也有书说是newIO)2.BIO编程中,每当有一个新的客户端请求过来时,服务器端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接,在并发量
Stella981 Stella981
2年前
JVM笔记(2)
第一部分  第一张走进Java     这一章主要讲述的是Java发展的历程和不同公司研发Java虚拟机(虚拟机家族丰富的恩怨纠葛)。在这个虚拟机家庭中HotSpot以他独有的优势在虚拟机中独占鳌头,经久不衰。还有就是最后一节是一个实战事例,就是自己编译JDK(如果window系统可以安装VMware下安装Li
Wesley13 Wesley13
2年前
J.U.C并发包诞生的那些事儿
前言J.U.C是java包java.util.concurrent的简写,中文简称并发包,是jdk1.5新增用来编写并发相关的基础api。java从事者一定不陌生,同时,流量时代的今天,并发包也成为了高级开发面试时必问的一块内容,本篇内容主要聊聊J.U.C背后的哪些事儿,然后结合LockSupport和Unsafe探秘下并发包更底层的哪些代码,有可
Wesley13 Wesley13
2年前
HttpClient学习 使用 详解
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpCl
Wesley13 Wesley13
2年前
Java GC详解
最近在抽时间阅读JDK的源码,主要是GC还有Safepoint相关的源码,发现很多我在之前拜读网上各种JVM原理大作时候由于没有看源码导致我对于底层原理的误解。果然,一百个人读水浒传,就有一百种水浒传。还是需要更加深入的了解下源码,才能更好地理解JVM,进行调优。这个系列,将在讲述JavaGC各种原理的基础上,结合对应的源码分析,
Wesley13 Wesley13
2年前
Javassist简介
Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的ShigeruChiba(千叶滋)所创建的。它已加入了开放源代码JBoss应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态"AOP"框架。它可以用来检查、”动态”修改以及创建Java类。其功能与jdk自带的反射功能类
Wesley13 Wesley13
2年前
JAVA 泛型中的通配符 T,E,K,V 傻傻分不清楚 ?
前言Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带