Java面试题(一):面向对象

博主头像 1. 面向对象 1.1 什么是面向对象 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节。 对比面向过程,是两种不同的处理问题角度。 面向过程更注重事情的每一步骤和顺序,而面向对象更注重事情有哪些参与者(对象)、以及各自需 ...

MyBatis拦截器

博主头像 一、拦截对象和接口实现示例 MyBatis拦截器的作用是在于Dao到DB中间进行额外的处理。大部分情况下通过mybatis的xml配置sql都可以达到想要的DB操作效果,然而存在一些类似或者相同的查询条件或者查询要求,这些可以通过拦截器的实现可以提升开发效率,比如:分页、插入和更新时间/人、数据权限 ...

性能分析之CPU分析-从CPU调用高到具体代码行(JAVA)

通常情况下,性能报告中只说CPU使用率高的时候,并不能帮助定位问题。因为CPU高会有多种不同的情况。CPU有五种状态(us sy id wa st), 在vmstat中能显示出来,这个想必很多人都清楚。在代码消耗CPU的时候(这也是通常性能分析中会遇到的),是US状态的CPU。当然还存在一种情况,就 ...

烂大街的 Spring 循环依赖问题,你觉得自己会了吗

博主头像 在关于Spring的面试中,我们经常会被问到一个问题:Spring是如何解决循环依赖的问题的。 这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,对其实现原理进行深入分析! 什么是循环依赖? 举个例子 / ...

java语言中“==”和“equals”方法的区别

博主头像 1.“==”操作符是用来比较两个变量的值是否相等,如比较的是引用对象,则比较引用对象的内存地址是否相同,也就是是否指向同一个对象。 2.“eqauls”方法仅用于比较引用对象,默认行为是比较引用对象所指向的对象值是否相等,无论引用对象是否指向的统一对象,只要两个对象的值是相等的,则返回true。 3 ...

Java SPI 与 Dubbo SPI 有什么区别?

博主头像 作者:废物大师兄 来源:www.cnblogs.com/cjsblog/p/14346766.html SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制。本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时 ...

Redisson 分布式锁实现之前置篇 → Redis 的发布/订阅 与 Lua

博主头像 开心一刻 我找了个女朋友,挺丑的那一种,她也知道自己丑,平常都不好意思和我一块出门 昨晚,我带她逛超市,听到有两个人在我们背后小声嘀咕:“看咱前面,想不到这么丑都有人要。” 女朋友听后,羞的满脸通红,我想女朋友虽然丑但是对我很好,我不会嫌弃她的 后面两个人继续嘀咕:“是啊,那男人真丑!” 卧槽,小丑 ...

SpringBoot2 参数管理实践,入参出参与校验

博主头像 但是在日常开发中,碍于很多客观因素,很少有时间去不断思考和优化代码,所以只能从实际情况的角度去思考如何构建系统代码,保证以后自己还能读懂自己的代码,在自己的几年编程中,实际会考虑如下几个方面:代码层级 ...

终于把 TCP 与 UDP 协议整明白了!

博主头像 网络编程有三个要素,分别是IP地址、端口号和通信协议,那本文主要讲述的是TCP与UDP这两种通信协议,以及编程的实现。 首先,我们需要了解一下IP地址、端口号、通信协议的相关知识。 一、IP地址 网络中的计算机使用IP地址来进行唯一标识,IP地址有IPv4和IPv6两种类型。IPv4采用十进制或二进 ...

Java注解的使用

博主头像 一、理解Annotation jdk5.0新增的功能。 是代码里的特殊标记,可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。 在JavaSE中,注解的使用目的比较简单。在JavaEE与Android中注 ...

枚举类

博主头像 ##一、枚举类的使用 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类。 当需要定义一组常量时,强烈建议使用枚举类。 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 ##二、如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 //自定义枚举类 class Season { ...

一个牛逼的 Java 字节码类库!

博主头像 作者:rickiyang 出处:www.cnblogs.com/rickiyang/p/11336268.html Java 字节码以二进制的形式存储在 .class 文件中,每一个 .class 文件包含一个 Java 类或接口。 Javaassist 就是一个用来处理 Java 字节码的类库。它 ...

面试中你有遇到这些Spring Cloud常问题吗?知道如何完美解答吗?

博主头像 为什么需要学习Spring Cloud 不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带来如下的几个问题: **代码结构混乱:**业务复杂,导致代码量很大,管理会越来越困 ...

醒酒菜:动画图解核心内存区--堆

博主头像 端午佳节一下子就过完了,大家是不是还沉迷在假期的欢乐气氛中无法自拔?今天阿Q为大家准备了上好的“醒酒菜”——JVM运行时数据区的核心内存区——堆。 堆的概述 一般来说: 一个Java程序的运行对应一个进程; 一个进程对应着一个JVM实例(JVM的启动由引导类加载器加载启动),同时也对应着多个线程; ...

<123···200>