刘成

我有一个微信公众号,经常会分享一些Java技术相关的干货;如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。...

final、finally和finalize的区别总结

1、final Final可以用于成员变量(包括方法参数),方法、类。 Final成员  作为变量 变量一旦被初始化便不可改变(对于基本类型,指的是值不变;对于对象类型,指的是引用不变),初始化只可能在两个地方:定义处和构造函数。 作为方法参数 对于基本类型,定义成final参数没有什么意...

2019-02-07 15:47:23

阅读数 59

评论数 0

SpringMVC工作原理详解

SpringMVC的工作原理图: SpringMVC流程 1、  用户发送请求至前端控制器DispatcherServlet。 2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、  处理器映射器找到具体的处理器(可以根据xml配置、注...

2019-02-06 11:38:13

阅读数 112

评论数 0

并发、并行傻傻分不清楚?

今天,我们正在解决一个问题: 同时的,同时的愚蠢的困惑?线程在其生命周期中经历了什么? 知识给你解答生活中所有困难的问题。 =concurrent和parallel== 并发是指在一定时间内,多任务交替处理的能力。并行性是指同时处理多个任务的能力。 案例:当一个商场的销售员需要面对许多顾...

2019-01-29 17:51:25

阅读数 41

评论数 0

Java并发编程之阻塞队列与Fork/Join框架

阻塞队列 阻塞队列是支持两个附加操作的队列。这两个附加操作支持阻塞插入和移除方法: 阻塞启用的插入:当队列满时,它会阻塞插入元素的线程,直到队列不满意为止。 阻塞删除:当队列为空时,检索元素的线程等待队列变为非空。 阻塞队列通常用于生产者-消费者场景。生产者是向队列添加元素的线程,使用者是将...

2019-01-04 11:30:46

阅读数 70

评论数 0

Java数据流的所有应用场景全面总结

数据流是一种数据分发技术。数据生成器将数据记录写入顺序数据流。数据使用者可以按照相同的顺序从数据流中读取数据。这是一个用于数据生产者、数据流和数据消费者的简单数据流图:     数据流可以有很多变量 从“表面”的角度来看,数据流是一个非常简单的概念。数据生产者将记录存储在数据流中,然后...

2019-01-02 15:23:31

阅读数 96

评论数 0

Java Stream API实用指南

StreamAPI是在Java 8中引入的。它提供了一种声明性编程方法,用于迭代和执行集合上的操作。在Java 7及之前版本中,for和for each是唯一遍历集合的可用选项,这是一种 命令式编程方法。在本文中,我将向您介绍StreamAPI以及它如何提供对集合执行的常见操作的抽象。 在使用命...

2018-12-17 16:44:00

阅读数 36

评论数 0

记一位朋友斩获BAT技术专家Offer的面试经历

背景介绍 PS: 面试者是笔者以前的下属,多年的好朋友。 这是他今年早些时候出去面试,拿到BAT等多家一线互联网公司技术专家Offer的面试经历。 先介绍一下这位朋友的个人经历: 本科毕业,接近10年工作经验。跳槽之前,在国内某大型互联网公司里带一个8人左右的技术团队。 由于公司业务发...

2018-12-17 09:26:56

阅读数 208

评论数 1

Spring AOP用法详解

什么是AOP AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需 要为分散...

2018-12-16 10:43:35

阅读数 85

评论数 0

SLF4J源码解析(一)

提出问题 阅读源码之前,首先提几个问题 SLF4J是如何整合不同的日志框架的 Class Path中为什么只能有且仅有一种日志框架的binding 这段文字摘录自官网:In your code, in addition to slf4j-api-1.8.0-beta2.jar, you s...

2018-12-15 14:19:56

阅读数 54

评论数 0

全面解析Java HashMap类

HashMap也是一个常用的Java集合框架类,它涉及大量的知识,包括数组、链表、红黑树等,以及一些高效而巧妙的计算,并且这个类已经被改进了几个版本,不同版本之间也有一些差异,这里都是基于JDK8的源代码。像通常的源代码翻译一样,看看能否回答以下问题?(有些地方真的很难翻译,看看就知道了。) 问...

2018-12-15 10:26:50

阅读数 73

评论数 0

Java第三方支付接入案例(支付宝)

开源项目链接 Kitty 开源权限管理系统 项目地址:https://gitee.com/liuge1988/kitty 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 注册沙箱账号 到蚂蚁金服注册开发者账号,注册地址:h...

2018-12-14 19:03:37

阅读数 326

评论数 0

Java NIO之Selector

这篇文章来介绍一下另一个比较重要的概念----Selector。我们知道系统线程的切换是消耗系统资源的,如果我们每一个连接都用一个线程来管理,资源的开销会非常大,这个时候就可以用Selector。通过Selector可以实现一个线程管理多个Channel,如下图:   Selector使用 ...

2018-12-14 14:30:06

阅读数 29

评论数 0

Linux 驱动程序入门

驱动是具有入口和出口的一组方法的集合,这一组方法才是驱动的核心内容。 对于字符设备驱动程序,最核心的就是 file_operation 结构,这个结构实际上是提供给虚拟文件系统 [ VFS ] 的文件接口,它的每一个成员函数一般都对应一个系统调用。用户进程利用系统调用对设备文件进行诸如读和写操作时...

2018-12-13 15:14:03

阅读数 36

评论数 0

Java内存模型详解

一、Java内存模型 硬件处理 电脑硬件,我们知道有用于计算的cpu、辅助运算的内存、以及硬盘还有进行数据传输的数据总线。在程序执行中很多都是内存计算,cpu为了更快的进行计算会有高速缓存,最后同步至主内存,大概的交互如下图 为了使处理器内部的运算单元能够被充分的利用,处理器可能会对输入...

2018-12-13 14:57:20

阅读数 41

评论数 0

Java并发数据结构的基础

Java的并发能力的基础是Park()和unPark()方法、易失性变量、同步化、CAS操作和AQS队列。进入这些知识点并不容易。本节中提到的与锁相关的知识并不特别完整,还有许多细节我还没有完全理解,因此让我们稍后讨论关于锁的更多细节。 线程阻塞原语 Java的线程阻塞和唤醒是通过不安全的类公...

2018-12-13 14:34:29

阅读数 86

评论数 0

系统架构中为什么要引入消息中间件?

“在本文的开头,我们将讨论消息中间件的高频访问问题,它也将涵盖MQ中间件的一些常见技术问题。如果面试官看了你的简历中使用MQ中间件的经历,可能会有以下问题:在你的公司的生产环境中使用了什么消息中间件?为什么要将消息中间件引入系统?引入消息中间件的优点和缺点是什么?好,让我们逐一分析。 一、你们公...

2018-12-13 12:15:41

阅读数 231

评论数 0

Java重点基础:反射机制

一、什么是反射? Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。 二、反射的三种方式 这里需要跟大家说一下,所谓反射其实是获取类的字节码...

2018-12-13 11:13:55

阅读数 52

评论数 0

从源代码的角度理解Java设计模式的装饰模式

一、装饰模式介绍 修饰符模式定义:不改变原始对象的附加函数比生成子类更灵活。 适用场景:动态的给一个对象添加或者撤销功能。 优点:它能够在不改变原有对象的情况下动态扩展函数,使扩展函数按照期望的顺序执行,达到不同的效果。 缺点:更多的类,使程序复杂 类型:结构型。 类图: 源码分...

2018-12-12 13:40:04

阅读数 60

评论数 2

String居然还能这样玩!

Java 11 增加了一系列的字符串处理方法,如以下所示。 // 判断字符串是否为空白 " ".isBlank(); // true // 去除首尾空格 " Javastack ".stri...

2018-12-12 13:32:37

阅读数 62

评论数 2

你不可不知的Java引用类型之ReferenceQueue源码详解

定义 引用队列是用于存储要回收的引用对象的引用队列。 说明 对于软引用、弱引用和虚拟引用,如果希望在垃圾收集器回收对象以进行其他处理时得到通知,则需要使用引用队列。 当垃圾收集器扫描要回收的对象时,将对应的引用包装器类(引用对象)放入其注册的引用队列队列中。可以从队列中获得相应的对象信息,...

2018-12-11 21:35:11

阅读数 37

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭