首页
学习
活动
专区
工具
TVP
发布

JAVA高级架构

分享技术,一起学习进步!
专栏作者
243
文章
256079
阅读量
83
订阅数
作为面试官,我是怎么快速判断程序员能力的?
技术面试是一个工程师成长到一定阶段后必然要承担的一项工作,优秀的技术面试官能帮助公司筛选出优秀的工程师,并且潜移默化的吸引候选人选择加入公司。相反,糟糕的面试不仅会错失优秀候选人,甚至还会给公司招来大麻烦。尽管技术面试如此重要,我还是了解到,很多公司的技术面试官都是“无证上岗”,hr 随便抓壮丁去面试,面试质量参差不齐。本文就这个问题,根据我自己的面试经验和思考,总结了一些面试技巧分享跟大家,希望有所帮助。
Java高级架构
2018-10-22
2K0
图解Java 垃圾回收机制
  Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区。关于对象分配内存问题,笔者的博文《JVM 内存模型概述》已经阐述了 如何划分可用空间及其涉及到的线程安全问题,本文将结合垃圾回收策略进一步给出内存分配规则。垃圾回收机制的引入可以有效的防止内存泄露、保证内存的有效使用,也大大解放了Java程序员的双手,使得他们在编写程序的时候不再需要考虑内存管理。本文着重介绍了判断一个对象是否可以被回收的两种经典算法,并详述了四种典型的垃圾回收算法的基本思想及其直接应用——垃圾收集器,最后结合内存回收策略介绍了内存分配规则。
Java高级架构
2018-09-29
5480
阿里面试回来,想和 Java 程序员谈一谈
来源:左潇龙 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。 其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论“面试前该不该刷题”这个话题,而这篇文章将会更加聚焦在面试前如何准备,以及工作当中如何学习这个话题
Java高级架构
2018-07-20
5730
Java阿里面试题
(1)JVM如何加载一个类的过程,双亲委派模型中有哪些方法? 类的生命周期:加载、(验证、准备、解析)链接、初始化、使用和卸载七个阶段 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持 Java 语言的运行时绑定(也成为动态绑定或晚期绑定)。 加载阶段:通过类的全限定名取得类的二进制流,转为方法区数据结构,在Java堆中生成对应的Class对象,作为对方
Java高级架构
2018-07-20
1.2K0
JVM并不是那么重量级
译者注:很多人误认为JVM是一个很重量级的框架,本文作者之前也是这么认为的,但是在这篇文章中,作者从几个层面分析了一下,可以看出JVM并不是我们想象中的那么“重”。以下为译文。 大多数情况下,我之所以反对Clojure,就是由于JVM。因为它实在是太重量级了。 这是几周前在ZA Tech科技公司的Slack团队中出现的声音。假期的时候观看了一些关于Clojure的讨论后发现演讲者们又一次又一次地提到了这个反对意见。 关于这一点,我在Slack中做过一段说明。现在,我为了更广泛的讨论而把它记录下来。 背景 我
Java高级架构
2018-04-19
1.6K0
jvm系列:jvm知识点总览
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你还怎么使剑法,你一掌打到一个武功高的人身上,那人没什么事,却把你震伤了,你还怎么打。同样两者也是相辅相成的,内功深厚之后,原来普通的一招一式威力也会倍增。 对于搞开发的我们其实也是一样,现在
Java高级架构
2018-04-19
8410
重读 JVM
1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1.1.1 程序计数器 内存空间
Java高级架构
2018-04-19
9240
垃圾回收算法与 JVM 垃圾回收器综述
我们常说的垃圾回收算法可以分为两部分:对象的查找算法与真正的回收方法。不同回收器的实现细节各有不同,但总的来说基本所有的回收器都会关注如下两个方面:找出所有的存活对象以及清理掉所有的其它对象——也就是那些被认为是废弃或无用的对象。Java 虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。其中最主流的四个垃圾回收器分别是:通常用于单 CPU 环境的 Seri
Java高级架构
2018-04-19
7650
深入了解 Java 之虚拟机内存
在讨论JVM内存区域分析之前,先来看一下Java程序具体执行的过程: Java 程序的执行过程:Java 源代码文件(.Java文件)-> Java Compiler(Java编译器)->Java 字
Java高级架构
2018-04-19
5300
JVM体系结构认知
虚拟机 何为虚拟机呢?虚拟机是模拟执行某种指令集体系结构(ISA)的软件,是对操作系统和硬件的一种抽象。其软件模型如下图所示: 计算机系统的这种抽象类似于面向对象编程(OOP)中的针对接口编程泛型(
Java高级架构
2018-04-19
7720
Java常见面试题及答案 11-20(JVM)
11.JVM内存分哪几个区,每个区的作用是什么? java虚拟机主要分为以下一个区: 方法区: 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法
Java高级架构
2018-04-19
1.3K0
JAVA高级面试总结-JVM篇
1.Sun HotSpot VM,是JDK和Open JDK中自带的虚拟机,也是目前使用范围最广的Java虚拟机。 2.JVM内存分布 程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节
Java高级架构
2018-04-19
1K0
《深入理解java虚拟机-高效并发》读书笔记
Java内存模型与线程 概述   多任务处理在现代计算机操作系统中几乎已是一项必备的功能,多任务运行是压榨手段,就如windows一样,我们使劲的压榨它运行多个任务,俱要high又要耍。并发则是另外一种更具体的应用场景。每秒事物处理数(Transactions per Second,tps)是最重要的指标。开发人员应该了解与运用并发。 硬件的效率与一致性   除了有软件上的并发,物理计算机也有并发问题。计算机的存储设备与处理器运算速度有几个数量级的差距,现代计算机都不得不加入一层高速缓存来作为内存与处理器之
Java高级架构
2018-04-19
5370
【深入Java虚拟机】之一:Java内存区域与内存溢出
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本
Java高级架构
2018-04-19
6890
Java高级工程师面试总结
面试技巧 1、背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目、技术都无法描述清楚的话,我想没有哪家公司会接受这样的,哪怕你是超级人才,你自我表述不行,估计也会为此头疼,所以,切记:一定要背好自己的简历,不要求你能全部记下,至少要熟记你最近所待过的两家公司,这两家公司里面你做过的项目,你负责的模块,项目里面用到的技术以及相对应的技术实现方案(这个尤为重要)。 2、深入了解并熟记部分Java基础知识 原因:
Java高级架构
2018-04-19
1.6K0
JVM内存管理--计算机内存和Java内存组件
JVM一向很好的帮我们管理内存,它就是一个贤内助:“向政府(内存空间)能要到地盘,还能有效的对自己的一亩三分地进行管理。”但是有时候呢,我们不懂怜香惜玉的一而再再而三的向它施压,把我们的一切不管好的坏的都扔给它,但是呢它也没有怨言,只是在地实在放不下的时候会悄悄的告知我们:“StackOverFlowError或者OutOfMemoryError。”既然它如此劳心劳力的付出,我们是不是也应该知道为什么它要抛出来这些异常呢?又或者我们通过一些方式避免掉这些异常让我们的JVM更欢快的奔跑在它的一亩三分地上呢!
Java高级架构
2018-04-19
1.1K0
深入理解Java虚拟机到底是什么
什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。 我们都知道java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释: 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处
Java高级架构
2018-04-19
5740
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档