JVM 源码分析之 Jstat 工具原理完全解读 http://click.aliyun.com/m/8315/
JVM 源码分析之 Jstat 工具原理完全解读
http://click.aliyun.com/m/8315/
微服务架构下的事务一致性保证
中生代技术群分享第四十四期。传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的 api 访问,分布式事务不再适用微服务架构,传统分布式事务不是微服务中数据一致性的最佳选择。微服务架构中应满足数据最终一致性原则。
全世界最快的 JSON 解析器 – 比别的快 10x
jsoniter ( json-iterator )是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本
【SSH 内网穿透 + NGINX 反向代理】搭建微信本地开发环境
微信开发由于微信服务器要主动发送消息,所以 Web Server 必须暴露在公网环境中。
本地开发经常在内网,虽然有各种 ngrok 等第三方产品,不过要么付费使用官方服务、要么自己搭建服务麻烦、要么使用通过个人搭建的服务不安全,不如直接使用 ssh 实现内网穿透来得简单。
Java Web 前端到后台常用框架介绍
Java Web 前后端有一个庞大的生态系统,初入 Java EE 坑的你是否感到一阵迷茫。或许你有太多不懂的名词,新鲜的概念,那就来入个门儿吧。
Java 的业务逻辑验证框架 fluent-validator
这篇文章对 FluentValidator 做了一个全面的介绍,从显示的流式风格(Fluent Interface)API 调用,以及各种丰富多样的链操作方法,再到对 JSR303 – Bean Validation 规范的集成,最后介绍了高级点的注解方式验证、支持级联对象图和 Spring AOP 的集成。
Java 基础与提高干货系列——Java 反射机制
了解反射机制,以及 new 一个实例的另外一种方法。
从JDK源码角度看并发锁的优化
在CLH锁核心思想的影响下,JDK并发包以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。 在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队…
RESTful Web 服务:教程
在它提出十多年后的今天,REST 已经成为最重要的 Web 应用技术之一。随着所有技术朝着 API 方向发展,它的重要性有可能持续快速地增长。每门主要编程语言现在已经包含构建 RESTful Web 服务的框架。同样地,Web 开发者和架构师对 REST 和 RESTful 服务有一个清晰的理解是很重要的。这篇教程解释了 REST 架构,然后研究使用它构建通用地基于 API 的任务的细节。
Java 虚拟机类加载机制
看到这个题目,很多人会觉得我写我的 java 代码,至于类,JVM 爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的。随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性。闲话不多说,老规矩,先来一段代码吊吊胃口。
缓存更新的套路
我们先不讨论更新缓存和更新数据这两个事是一个事务的事,或是会有失败的可能,我们先假设更新数据库和更新缓存都可以成功的情况(我们先把成功的代码逻辑先写对)。
更新缓存的的 Design Pattern 有四种:Cache aside, Read through, Write through, Write behind caching,我们下面一一来看一下这四种 Pattern。
构建 Java 应用内存级缓存
这篇文章讲的是如何使用 Guava Cache 构建 Java 内存基本的缓存,Guava Cache 缓存类似于 ConcurrentMap,但不完全相同。
SSL/TLS 握手过程详解
我们知道,http 协议都是明文传输内容,在早期只展示静态内容时没有问题。伴随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,https 协议因此出现。如上图所示,在 https 加密中真正起作用的其实是 SSL/TLS 协议。SSL/TLS 协议作用在 http 协议之下,对于上层应用来说,原来的发送接收数据流程不变,这就很好地兼容了老的 http 协议,这也是软件开发中分层实现的体现。
SSL/TLS 握手是为了安全地协商出一份对称加密的秘钥,这个过程很有意思,下面我们一起来了解一下。
计算机程序的思维逻辑 (65) – 线程的基本概念
在之前的章节中,我们都是假设程序中只有一条执行流,程序从main方法的第一条语句逐条执行直到结束。从本节开始,我们讨论并发,在程序中创建线程来启动多条执行流,并发和线程是一个复杂的话题,本节,我们先来讨论Java中线程的一些基本概念。 线程表示一条单独的执行流,它有自己的程序执…
[[译] 如何建立高效推送通知](https://juejin.im/entry/58564…
事实上推送栏已经成了广告栏 Orz
RocketMQ源码解析:Message存储
???关注微信公众号:【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留言都将得到认…
计算机程序的思维逻辑 (78) – 线程池
上节,我们初步探讨了 Java 并发包中的任务执行服务,实际中,任务执行服务的主要实现机制是线程池,本节,我们就来探讨线程池。 基本概念 线程池,顾名思义,就是一个线程的池子,里面有若干线程,它们的目的就是执行提交给线程池的任务,执行完一个任务后不会退出,而是继续等待或执行新任务。…
后端的轮子(三)— 缓存
今天这一篇没想到会这么长,后面有一段是写网络模型的,和缓存本身的关系不大,只是写到那里就想到了这个问题,多写了一些,那一段是我自己的理解,肯定有不对的地方,欢迎讨论拍砖。 前言 前面花了一篇文章说数据库这个轮子,其实说得还很浅很浅的,真正的数据库比这复杂不少,今天我们继续轮子系…
从红包场景谈事务一致性
今天继续谈一下业务层改造相关的一个场景:领取红包。红包,是这几年最火的一类营销手段,从当年微信红包走红后,无论是电商还是互金,都开始加入了“红包”。红包场景本身并不复杂,但由于涉及到了资金的转移,就会引入事务一致性的问题,而且从我了解到的情况看,很多同学在处理这块业务的时候,刚…
模拟服务器返回数据|掘金技术征文
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布原文链接:模拟服务器返回数据 背景 模拟服务器返回的数据,在以下场景具有实际意义: 和服务器开发协商好开发接口,但服务器API尚未部署,想接口定义好就进行开发;服务器已部署,返回的数据不能测试到各种情况,希望返回…
基于 Token 的 WEB 后台认证机制
基于 Token 的 WEB 后台认证机制
思维导图学 Java 虚拟机
这篇文章是作者读完深入了解 java 虚拟机的读书笔记,可以作为学习 java 虚拟机的路线。
干掉状态:从 session 到 token
Json web token 起源
netty 源码分析之服务端启动全解析
netty 源码分析之服务端启动全解析。
Spring5源码解析-@Autowired
你有没有思考过Spring中的@Autowired注解?通常用于方便依赖注入,而隐藏在这个过程之后的机制到底是怎样,将在本篇中进行讲述。 @Autowired所具有的功能@Autowired是一个用来执行依赖注入的注解。每当一个Spring管理的bean发现有这个注解时候,它会…
java io 流重定向标准输入和输出
java io 流重定向标准输入和输出
99%的人都理解错了HTTP中GET与POST的区别
99%的人都理解错了HTTP中GET与POST的区别
做图服务器源码已出
阅读过 写一个高端做图服务器 一定很好奇这么高端的做图服务器是什么样子的。
现在代码出来了,可以一睹芳容。
现有系统实施微服务架构改进经验分享
博主根据自身的项目经验,介绍如何对现有架构进行调整,总结这过程中的相关技术选型,以及如何实施技改,并分享最终取得的非常让人意外的成果。
高手教你十分钟写个 RPC 框架
高手教你十分钟写个 RPC 框架
http://click.aliyun.com/m/8311/
白话网站架构演进
读写分离,负载均衡,DNS 动态解析,CDN, memcached, Redis, 动态扩容,你是否曾经被这些名词搞得晕头转向,然后发誓要搞清楚这些概念,然后就没有然后了。或许这篇文章可以让你下次和程序员聊天时可以插一两句话。
一个绚丽的downloading动效分析与实现!
闲逛之余,看到一个不错的downloading动效,这个动效用CJJ的话说难度还好,但本人觉得还比较灵动、带感、俏皮、有新意,好了话不多说,咱们先来撸一张高清无码gif图: 撸完,咱可以将整个动效简单划分为以下流程:1.BeforeProgress(显示进度前);2.InPro…
jsoniter:全世界最快的 JSON 解析器(Java & Go)
jsoniter(json-iterator)是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本
java 善假于物(二):利用 velocity 生成模板代码
不知道大家有没有这样的感觉,在平时开发中,经常有很多 dao、service 类中存着很多重复的代码,Velocity 提供了模板生成工具,今天我教大家怎么和这些大量的重复代码说再见。
后台性能测试不可不知的二三事
性能测试是后台服务测试中的一个重要环节。本文用一个真实发生过的线上事故作为案例,从流程、测试方法、性能关注点等几个方面介绍了性能测试需要关注的要点。
Tomcat 类加载器以及应用间 class 隔离与共享
Tomcat 的用户一定都使用过其应用部署功能,无论是直接拷贝文件到 webapps 目录,还是修改 server.xml 以目录的形式部署,或者是增加虚拟主机,指定新的 appBase 等等。
我的 Java 后端书架
阿里大牛,java 书单
Java 微服务:这个画饼是个谎言,但你却不能忽视它
本文深入介绍了 Java 的微服务开发,包括其定义和一些可选方案,如 Spring Boot、Dropwizard 及其他开源项目。
计算机程序的思维逻辑 (84) – 反射
上节介绍完了并发,从本节开始,我们来探讨 Java 中的一些动态特性,包括反射、类加载器、注解和动态代理等。利用这些特性,可以以优雅的方式实现一些灵活和通用的功能,经常用于各种框架、库和系统程序中,比如: 在 63 节介绍的实用序列化库 Jackson,利用反射和注解实现了通用的序列化 /…