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