摘要:在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁入队服务教程在它提出十多年后的今天,已经成为最重要的应用技术之一。随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性。
JVM 源码分析之 Jstat 工具原理完全解读 http://click.aliyun.com/m/8315/
JVM 源码分析之 Jstat 工具原理完全解读
http://click.aliyun.com/m/8315/
中生代技术群分享第四十四期。传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的 api 访问,分布式事务不再适用微服务架构,传统分布式事务不是微服务中数据一致性的最佳选择。微服务架构中应满足数据最终一致性原则。
jsoniter ( json-iterator )是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本
微信开发由于微信服务器要主动发送消息,所以 Web Server 必须暴露在公网环境中。
本地开发经常在内网,虽然有各种 ngrok 等第三方产品,不过要么付费使用官方服务、要么自己搭建服务麻烦、要么使用通过个人搭建的服务不安全,不如直接使用 ssh 实现内网穿透来得简单。
Java Web 前后端有一个庞大的生态系统,初入 Java EE 坑的你是否感到一阵迷茫。或许你有太多不懂的名词,新鲜的概念,那就来入个门儿吧。
这篇文章对 FluentValidator 做了一个全面的介绍,从显示的流式风格(Fluent Interface)API 调用,以及各种丰富多样的链操作方法,再到对 JSR303 – Bean Validation 规范的集成,最后介绍了高级点的注解方式验证、支持级联对象图和 Spring AOP 的集成。
了解反射机制,以及 new 一个实例的另外一种方法。
在CLH锁核心思想的影响下,JDK并发包以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。 在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队…
在它提出十多年后的今天,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,利用反射和注解实现了通用的序列化 /…
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68064.html
摘要:浅谈秒杀系统架构设计后端掘金秒杀是电子商务网站常见的一种营销手段。这两个项目白话网站架构演进后端掘金这是白话系列的文章。 浅谈秒杀系统架构设计 - 后端 - 掘金秒杀是电子商务网站常见的一种营销手段。 不要整个系统宕机。 即使系统故障,也不要将错误数据展示出来。 尽量保持公平公正。 实现效果 秒杀开始前,抢购按钮为活动未开始。 秒杀开始时,抢购按钮可以点击下单。 秒杀结束后,按钮按钮变...
摘要:业务具体介绍,本系统是一个共享图书的小程序项目,企业级,创业项目。具体业务流程类似共享自行车,也有设计押金月卡季卡等等。以上是单个页面的实现基本文件目录。其中还涉及微信支付环节。 本博客 猫叔的博客,转载请申明出阅读本文约3分钟适读人群:Java后端、Java初级、小程序前端 本文是两个GitHub项目的序章,旨在指导初级程序员完成一个企业级共享项目的前后端代码实践,丰富自身的实战经...
摘要:小项目的内容基本就是维护订单表,订单状态,用户表等,小程序还要解决微信登录,微信支付等等微信。后台管理系统待施工,其实这部分和小程序差不多,改改直接用,出来往的服务一扔,就给甲方用了。 引言:最近一直在做一些小的小程序项目,小项目虽然小,但是前后端和管理系统都还是需要的。在甲方极低的预算下,人工又显得极其紧张,所以我大概摸索出了一套能用尽量少的代码,尽量减少单人工作量,又能实现实际需求...
摘要:积少成多,最后造成内存泄漏。前端内存泄漏的影响,都是发生在客户机器上,而且基本上现代浏览器也会做好保护机制,一般自行刷新之后都会解决。但是,一旦后端绘制内存泄漏造成宕机之后,整个服务器都会受影响,危险性更大,搞不好年终奖就没了。 引言 Memory Leak 是最难排查调试的 Bug 种类之一,因为内存泄漏是个 undecidable problem,只有开发者才能明确一块内存是不是需...
摘要:其中经历了入门到放弃系列的火热,想起了此题目,可直到其热度褪去依然没有开写。再之前的实习也是上午面试下午入职的。 这是前几篇前端面试文章的结尾,是很多个月前就该写下的事情。其中经历了入门到放弃系列的火热,想起了此题目,可直到其热度褪去依然没有开写。不能再拖了,否则事情估计都快忘光了。 面试过程 依然是某金融集团的外包,这次换了一个外包公司。首先是电话面试,还是还是些常见的前端问题,自己...
阅读 4547·2021-09-10 11:22
阅读 529·2019-08-30 11:17
阅读 2563·2019-08-30 11:03
阅读 430·2019-08-29 11:18
阅读 3454·2019-08-28 17:59
阅读 3218·2019-08-26 13:40
阅读 3156·2019-08-26 10:29
阅读 1136·2019-08-26 10:14