-
最全多线程经典面试题和答案
Java实现线程有哪几种方式? 1、继承Thread类实现多线程 2、实现Runnable接口方式实现多线程 3、使用ExecutorService、Callable、Future实现有返回结果的多线程 多线程同步有哪几种方法? Synchronized关键字,Lock锁实现,分布式锁等。 Runnable和Thread用哪个好? Java不支持类的多重继承,但允许你实现多个接口。所以如果你要继承…... -
JVM的内存分配、运行原理、回收算法机制
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线程私有的。 1. 堆(Heap) 堆内存是所有线程共有的,可以分为两个部分:年轻代和老年代。下图中的…... -
高并发与多线程的关系、区别、高并发的技术方案
什么是高并发? 高并发(High Concurrency)是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致系统在这段时间内执行大量操作,例如对资源的请求,数据库的操作等。 高并发的处理指标? 高并发相关常用的一些指标有: 1.响应时间(Response Time) 响应时…... -
java程序员的必用的9款开发工具
今天推荐java程序员开发利器,包含如如下: 开发环境: Eclipse IntelliJ IDEA IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 性能调优 JVM调优:VisualVM VisualVM 是一款免费的…... -
史上最全Java多线程面试60题,含答案大赠送!
【BAT必考系列!多线程60题】 多线程有什么用? 线程和进程的区别是什么? ava实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 线程中的wait()和sleep()方法有什么区别? 多线程同步有哪几种方法? 什么是死锁?如何避免死锁? 多线程之间如何进行通信? 线程怎样拿到…... -
阿里Java P系列技术要求(P5-P7)
阿里p系列薪资(最新数据比这个高1倍左右) 阿里P5(高级研发工程师) 工作要求: 能独立完成日常工作,并能够对一些方案提出自己的建议。 基本考核就是能上手独立完成工作,熟练掌握。 技能要求(熟练): 1、程序设计和开发。 2、工作中需用到的Java开发的技术点以及相关的其他技术点。 3、工作中需用到…... -
UML是什么?UML常用图以及建模工具有哪些?
“ 在做项目设计方案的时候,理解为需求后,我们都会做技术设计方案,这个时候就需要用到UML建模,涉及到UML常用图形以及工具画图,以下我会详细介绍UML图形和我个人推荐的UML建模工具。 UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件…... -
算法思想与经典算法
“ 这是整个架构师连载系列,分为9大步骤,我们现在还在第一个步骤:程序设计和开发->数据结构与算法。 我们今天讲解重点讲解算法。 算法思想 1 贪心思想 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对…... -
数据结构与算法详解
“ 架构师进阶系列之独孤九剑,这套秘籍如果你能完整学会,年薪至少60万起,今天是架构师进阶连载开启篇。 Java程序员成长为架构师进阶步骤 未来我会用1-2个月在实战为大家讲解架构师的九大必备技能。 架构师进阶系列之独孤九剑九大步骤: 1-程序设计和开发 2-操作系统要求 3-Java开发 4-Web开发 5-网络安全 6-数据库设计 7-架构设计要求 8-运维能力要求 9-产品业务要求 …...