标签:Atom

Java

ASM 实现 Hook Lambda 和方法引用 | 数据采集

3

xiaoli.wang 发布于 2020-07-14

一、前言 本文是前作「 Lambda 设计参考 」的实战部分,具体将介绍如何使用 ASM 对 Java 8 Lambda 表达式和方法引用进行 Hook 操作。 在此之前会介绍一些基础概念和字节码相关的知识方便大家对这块内容的理解,最后会给出一个完整的代码供大家参考。 二、脱糖 ...

阅读(2)评论(0)赞 (0)

Java

JVM优先级线程池做任务队列

darida 发布于 2020-07-14

我们都知道 web 服务的工作大多是接受 http 请求,并返回处理后的结果。服务器接受的每一个请求又可以看是一个任务。一般而言这些请求任务会根据请求的先后有序处理,如果请求任务的处理比较耗时,往往就需要排队了。而同时不同的任务直接可能会存在一些优先级的变化,这时候就需要引入任务...

阅读(5)评论(0)赞 (0)

Java

Netty编程实战之:Reactor反应器模式

dulong 发布于 2020-07-12

前一节中我们提到, Netty 入门的两个准备工作, 一是 Java NIO ,二是 Reactor反应器模式 , 这节我们来了解 Reactor反应器模式 如果不知道 Java NIO 的话,那么推荐先去看一下 Java NIO : Netty编程实战之:掌控NIO 什么是Re...

阅读(11)评论(0)赞 (0)

Java

JAVA多线程——并发

3

xiaoli.he 发布于 2020-07-12

线程状态图: 图来自 Java线程的6种状态及切换(透彻讲解) 初始、就绪、运行、等待、阻塞(synchronized)、终止。 Thread.sleep(millis)一定时间后自动恢复执行, 不释放对象锁 。 Object.wait()直接 释放锁 ,一直等待,知道notif...

阅读(8)评论(0)赞 (0)

Spring

SpringBoot 源码解析——源码模块功能分析

6

yanxinchi 发布于 2020-07-12

点击上方 " Java指南者 "关注,  星标或置顶一起成长 免费送 1024GB 精品学习资源   源码结构 代码在 IDEA 中打开后的整体目录结构如下图所示: 可以看见整体的结构目录是比较清晰的,主要源码模块分为 spring-boo...

阅读(7)评论(0)赞 (0)

Java

SpringBoot2 整合JTA组件,多数据源事务管理

2

小丁 发布于 2020-07-12

本文源码: GitHub·点这里 || GitEE·点这里 一、JTA组件简介 1、JTA基本概念 JTA即Java-Transaction-API,JTA允许应用程序执行分布式事务处理,即在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序...

阅读(12)评论(0)赞 (0)

Spring

SpringBoot2 整合JTA组件,多数据源事务管理

2

hanze 发布于 2020-07-12

一、JTA组件简介 1、JTA基本概念 JTA即Java-Transaction-API,JTA允许应用程序执行分布式事务处理,即在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序对JTA的支持极大地增强了数据访问能力。 XA协议是数据库层面的一套分布式事务管理的规范...

阅读(8)评论(0)赞 (0)

Java

深入理解Java并发编程(四):CAS操作以及jdk1.8后的优化

likai 发布于 2020-07-12

说到CAS之前,先来看看乐观锁与悲观锁: 悲观锁认为: 每个线程在对一数据进行操作时,都会有其他线程来并发修改 ,所以在获取数据的时候就上锁来进行操作,synchronized和lock就是一种悲观锁的策略。也就是先上锁再操作。 乐观锁认为: 每个线程在对以数据进行操作时,没有其...

阅读(8)评论(0)赞 (0)

Java

深入理解Java并发编程(一):JMM(Java内存模型)详解

2

dulong 发布于 2020-07-12

JMM是一个抽象的概念:描述的是一组围绕原子性、有序性、可见性的规范。其定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是共享变量。 JMM规定:所有共享变量存储在主内存中,每条线程有自己的工作内存,线程的工作内存保存了被该线程...

阅读(6)评论(0)赞 (0)

Java

Java面试宝典2020系列 MySQL篇(一)

4

yanxinchi 发布于 2020-07-12

MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License)...

阅读(10)评论(0)赞 (0)

Spring

Spring IOC与AOP源码分析,吊锤面试官 SO easy!

6

likai 发布于 2020-07-12

本文对Spring相关知识点做了归纳整理,包括 Spring 优势、其框架结构、核心思想,并对IoC思想及AOP思想进行手动实现,增强对Spring 核心思想的理解。之后对Spring IoC、AOP 的实现方式和特性进行介绍,并对照源码理解其实现思路。 Spring 优势 方便...

阅读(9)评论(0)赞 (0)

Java

【012期】JavaSE面试题(十二):多线程(2)

2

hanze 发布于 2020-07-12

开篇介绍 大家好,我是 Java最全面试题库 的 提裤姐 ,今天这篇是JavaSE系列的第十二篇,主要总结了Java中的多线程问题,多线程分为三篇来讲,这篇是第二篇,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养...

阅读(6)评论(0)赞 (0)

Java

基于Mina的配置中心(四)

6

hellas 发布于 2020-07-11

基于Mina的配置中心(四) 继续编写 Server 端代码,接下来是 handler 消息处理器 MinaServerHandler 在 IoHandlerAdapter 中有以下方法。 看名字就可以看出,有处理异常、接收消息,发送消息、连接打开,连接关闭、进入空闲状态等方法。...

阅读(14)评论(0)赞 (0)

Java

啃碎并发(七):深入分析Synchronized原理

51

puefu.he 发布于 2020-07-09

前言 记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是, 随着学习的进行我们知道在JDK1.5之前sy...

阅读(20)评论(0)赞 (0)

Java

Java 并发和多线程基础合集

darida 发布于 2020-07-09

你背不下的书,总有人能背下来。你做不出的题,总有人能做出来。你愿意拖到明天的事,总有人今天就能做完。 1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","...

阅读(8)评论(0)赞 (0)

Java

Java面试宝典2020系列 JVM篇(二)

8

尖兵 发布于 2020-07-09

Java内存模型(Java Memory Model,JMM)是Java虚拟机规范定义的,用来屏蔽掉Java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现Java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模...

阅读(9)评论(0)赞 (0)

Java

并发编程之ThreadLocal、Volatile、synchronized、Atomic关键字

1

likai 发布于 2020-07-09

前言 对于 ThreadLocal、Volatile、synchronized、Atomic 这四个关键字,我想一提及到大家肯定都想到的是 解决在多线程并发环境下资源的共享问题 ,但是要细说每一个的特点、区别、应用场景、内部实现等,却可能模糊不清,说不出个所以然来,所以,本文就对...

阅读(9)评论(0)赞 (0)

Java

啃碎并发(六):Java 线程同步与实现

32

xiaoli.wang 发布于 2020-07-08

前言 为何要使用Java线程同步?Java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时,将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。 但其并发编程的根本,就是使线程间进行正...

阅读(16)评论(0)赞 (0)