随笔 | 奇淫技巧 | Java:记return和短路运算符的妙用

在阅读AtomicStampedReference的源码中,在compareAndSet()方法发现一段代码: return expectedReference == current.reference && expectedStamp ......

大白话之必会Java Atomic | 线程一点也不安全(二):Atomic的ABA问题会导致什么情况?如何解决?

前言 第一章还没看过?点我可以穿越 阅读本篇文章,你需要了解以下知识: Atomic是什么?(点此跳转) 单向链表的原理 从上一章的内容,我们可以了解到,Atomic可以基本解决线程同步安全的问题。而本章我们将讨论Atomic的缺点与它的原子性。 AB ......

大白话之必会Java Atomic | 线程一点也不安全(一):比自增和synchronized更快速、靠谱的原子操作(调用C语言)

前言 阅读本篇文章,你需要对下方知识有所了解: synchronized关键词的作用 线程池的作用(这里) 不靠谱和慢动作 在多线程环境下: 操作靠谱程度执行速度 i++ 自增运算没戏不赖 synchronized贼棒太废 不靠谱的自增 操 ......

刨根问底 | 大白话:在使用注解后,框架是怎么知道你哪个方法使用了注解的?用@RequestMapping注解举例详解!

前言 阅读本篇文章,你需要理解以下的知识: 重要:反射 (参考) Java enum 接口的使用 了解注解是什么、该什么时候使用 最好接触过Spring(因为用@RequestMapping举例) 先说说注解 如果你熟悉Spring框架,你一定使用过这 ......

大白话之fail-fast | fail-safe:为什么会有这个机制?它有什么作用?

前言 阅读本篇文章,你需要了解下列知识: 多线程的实现(看过来) Iterator的使用 ArrayList的使用和如何实现Iterator 为什么会有这个机制? 举个栗子 有一杯水、两个人(黄渤和红雷) 黄渤拿起了水杯,开始喝水 红雷到达案发现场, ......

大白话 | 课堂实践:使用Iterator对数组进行遍历

前言 阅读本篇文章,你需要对以下知识有所了解: 接口(这儿有) Iterator的使用 Java 匿名内部类 构思 我们都知道,Iterator是一种迭代器,它的接口中有四种方法(JDK 1.8): public interface Iterator& ......

大白话之Java面向接口编程:最“正经”的中文实例讲解,看不懂来打我!

前言 作为一个正经博主,我会用最纯洁易懂的方式让你理解面向接口编程。 阅读本篇文章,你需要对以下知识有所了解: 面向对象编程基础知识 接口(这儿有) 实例 废话少说。打开你的IDE(没有?去下!),新建一个类,命名为Main,复制下方代码: inter ......

大白话之Java反射-初学最迷的概念:能干啥?咋用?

前言 初学时,反射、网络编程、IO是我最不能理解的三大模块。 当时查资料,给我的感觉是:写文章的都觉得我已经会了。 如今,我用实例尽可能简单地讲述反射这个东西。 能干啥? 人类文明分为三个阶段: 女娲创造人类 人类文明建立,地球产生秩序 人类灭亡 实例 ......

Spring: java.lang.NoSuchMethodError: clearCache | ClassNotFoundException | Error during artifact deployment 思路及解决办法

前言 一如既往的今天,打算打开WEB项目一如既往地修(写)BUG。就在我运行的时候,弹出了错误: java.lang.NoSuchMethodError: org.springframework.core.ResolvableType.clearCache ......

将Tomcat、MySQL从Linux迁移到Windows的心路历程(干货):令人恐惧的字符编码

前言 近日打算对服务端进行进一步的解耦,便购入了云数据库服务,将数据库独立,使得Tomcat主机独立运行,提高安全性和便利性。 心血来潮,想将服务器重装为Windows,便有了下面的一系列文章: 迁移MySQL 平时我都是使用Navicat对MySQL进行 ......

Github仅保留指定文件/文件夹当前Commit,删除所有历史记录,清除「敏感信息」

前言 之前在Github上发布过一个项目,今天突然想起来: 有个不该上传的东西被我上传上去了! 于是便修改了源代码,但是在History中还是能看到以前的提交记录! 慌! 在网上查找了半天,发现都是使用git filter-branch进行清除,但我的项目 ......

大白话之Docker(叁):制作一个运行Tomcat服务端的Docker镜像

前言 如没看过上一章,请点我跳转 上一章我们使用Tomcat镜像搭建了一个WEB服务端。 本章,我们将从零开始搭建一个Tomcat服务端。大体需要以下步骤: 在容器中安装一个系统(我使用Ubuntu) 在容器中安装JDK并配置环境变量以运行Tomcat ......