摘要: 前言 本文中的题目来源于网上的一篇文章《百度搜索 “Java面试题” 前200页》,但该文章里面只有题目,没有答案。因此,我整理了一些答案发布于本文。本文整理答案的原则是尽量做到精简、点到即止(因为一般面试题的试卷里面的作答区域有限)。如果你有更好的答案,欢迎在评论区指出,或者给Github仓库提P 阅读全文
posted @ 2018-03-05 14:18 nnngu 阅读(520) 评论(0) 推荐(2) 编辑
摘要: 1、概念理解和知识铺垫 在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Bean的整个生命周期的,而在一个项目中,容器不一定只有一个,Spring中可以包括多个容器,而且容器有上下层关系,目前最常见的一种场景就是在一个项目中引入Spring和SpringMVC这两个框架,那么它其实就 阅读全文
posted @ 2018-03-04 23:14 nnngu 阅读(326) 评论(0) 推荐(4) 编辑
摘要: 1、关于AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。OOP允许开发者定 阅读全文
posted @ 2018-03-02 20:04 nnngu 阅读(698) 评论(1) 推荐(2) 编辑
摘要: 1、前言 理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序。 在学习GC前,你应该知道一个技术名词:“stop the world” ,无论你选择哪种GC算法,“stop the 阅读全文
posted @ 2018-03-01 20:11 nnngu 阅读(852) 评论(0) 推荐(4) 编辑
摘要: 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并向程 阅读全文
posted @ 2018-02-28 22:41 nnngu 阅读(335) 评论(0) 推荐(3) 编辑
摘要: 先来看看JVM运行时候的内存区域,如下图: ![][1] 大多数 JVM 将内存区域划分为 Heap(堆)、方法区、Stack(栈)、本地方法栈、程序计数器。其中 Heap 和 方法区 是线程共享的,Stack、本地方法栈 和 程序计数器 是非线程共享的。为什么分为线程共享和非线程共享的呢?请继续往 阅读全文
posted @ 2018-02-28 15:03 nnngu 阅读(361) 评论(0) 推荐(1) 编辑
摘要: 1、面向对象编程(OOP)有哪些优点? 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。 2、面向对象编程有哪些特性? 封装、继承、多态、抽象 封装 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Jav 阅读全文
posted @ 2018-02-25 22:55 nnngu 阅读(17465) 评论(2) 推荐(7) 编辑
摘要: 单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点! 1、懒汉 2、饿汉 3、双重校验锁 4、枚举 5、静态内部类 本文永久更新地址: "https://github.com/nnngu/LearningNotes/blob/master/Java%20Basis/019%20%E 阅读全文
posted @ 2018-02-24 21:46 nnngu 阅读(401) 评论(0) 推荐(1) 编辑
摘要: final关键字的含义 在`Java final`,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。 final变量 凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为 的都叫作 变量。 变量经常和 关键字一起使用,作为常量。 阅读全文
posted @ 2018-02-24 19:28 nnngu 阅读(405) 评论(0) 推荐(1) 编辑
摘要: 一、静态代理 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。 静态代理由业务实现类、业务代理类两部分组成。业务实现类负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理。在需要调用业务时,不是直接通过业务实现类来调用的, 阅读全文
posted @ 2018-02-24 16:33 nnngu 阅读(416) 评论(0) 推荐(1) 编辑