标签:空间

Java

队列

2

xiaoli.he 发布于 2019-08-25

如何理解队列 队列与栈做比较,就是队列是先进先出,队列本身就像一个管子一样。 队列 先进先出就是一个典型的队列。队列的应用十分广泛,特别是具有额外特性的队列,比如循环队列,阻塞队列,并发队列等,这些都是偏底层系统,框架,中间件的开发,都是有队列的身影,比如高性能的队列Disrup...

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

Java

Java性能 — NIO

16

darida 发布于 2019-08-25

网络通信中,最底层的是操作系统 内核 中的网络IO模型,分别为 阻塞式IO 、 非阻塞式IO 、 IO复用 、 信号驱动式IO 、 异步IO TCP工作流程 首先,应用程序通过 系统调用socket ,创建一个套接字,它是系统分配给应用程序的一个 文件描述符 其次,应用程序通过 ...

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

编程技术

golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

1

puefu.he 发布于 2019-08-25

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架go-micro 入门笔记2.1 mic...

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

编程技术

golang微服务框架go-micro 入门笔记1.搭建 go-micro环境

1

darida 发布于 2019-08-25

微服务的本质是让专业的人做专业的事情,做出更好的东西。 golang 具备高并发,静态编译等特性,在性能、安全等方面具备非常大的优势。 go-micro 是基于 golang 的微服务编程框架, go-micro 操作简单、编码高效、功能强大。但是网络上资料偏少,本系列文章定位最...

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

Java

Java多线程-程序运行堆栈分析

3

wenming.gapo 发布于 2019-08-25

class文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。 JVM运行时数据区 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 线程共享:所有...

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

Spring

Spring源码剖析5:JDK和cglib动态代理原理详解

19

zhuangli 发布于 2019-08-25

AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解 AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。 转自https://www.jianshu.com/u/668d0795a95b 本文是基于jdk1.8来对动态代理的底...

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

Spring

Spring 复盘| AOP

1

xubiao.zhuang 发布于 2019-08-25

Spring AOP 基础 Java 动态代理实现,阅读文章之前,你最好有以下基础: java动态代理 1、什么是 AOP ? AOP(Aspect Oriented Programming),即面向切面编程,它是 OOP(Object Oriented Programming,...

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

Spring

Spring源码剖析2:Spring IOC容器的加载过程

5

Harries 发布于 2019-08-25

spring ioc 容器的加载流程 1.目标:熟练使用spring,并分析其源码,了解其中的思想。这篇主要介绍spring ioc 容器的加载 2.前提条件:会使用debug 3.源码分析方法:Intellj idea debug 模式下源码追溯 通过ClassPathXmlA...

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

编程技术

【iOS】架构师之路~ 网络篇

18

puefu.he 发布于 2019-08-25

互联网协议按照功能不同分为osi七层和tcp/ip五层或tcp/ip四层,如下图: 套接字是工作在传输层和应用层之间的一个接口,将复杂的tcp/udp协议隐藏在了socket接口后面 并没有用过,做以下了解: WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务...

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

Java

Spring 复盘 | IOC

2

小丁 发布于 2019-08-25

全面进入复习模式,从 Spring 开始。 1、关于 Spring Spring 是一个轻量级的开源框架,是为解决企业应用开发的复杂性而创建的。我很不喜欢这种略显官方的说辞。千人千面,每个人对技术的理解都不一样。而在我的理解中,Spring 的主要就解决了两件事情(当然它还解决了...

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

Spring

探索SpringBoot-Spring源码之对象是如何注册到IoC容器中的?(十一)

Harries 发布于 2019-08-25

之前 探索SpringBoot 系列也是到了 探索SpringBoot-一起看看Spring源码之Resource(十) 。之前有提到过 Spring 容器最重要的阶段分为三个,分别是 Bean的发现,读取,注册 。今天我们来看看 Bean 的注册。 Bean的发现、读取请看 探...

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

Java

主流开源框架之OkHttp3深入了解

7

likai 发布于 2019-08-25

自上一篇自定义控件的完结,至今已经有一个月的时间,一直没有什么想写的,因此回到一开始写的初衷,看一些主流的开源框架的源码,深入的了解一下其原理,而不是只知其然,而不知其所以然。本篇是该系列第一篇——OkHttp3(源码以3.10版为准)。 基础 // 通过建造者模式构建OkHtt...

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

Java

JDK1.6 对 synchronized 的锁优化

5

zhuangli 发布于 2019-08-25

1. 背景 在 JDK 1.6 中对锁的实现引入了大量的优化。 目的 减少锁操作的开销。 2. 锁优化 在看下面的内容之间,希望大家对 Mark Word 有个大体的理解。Java 中一个对象在堆中的内存结构是这样的: Mark Word 是这样的: 2.1 适应性自旋锁 自旋锁...

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

Java

SRE 高延迟问题的罪魁祸首 System.gc()

4

changyuan.xu 发布于 2019-08-25

01 案例一: 某日,支付平台的开发人员找到 SRE, 需要 SRE 帮助解决一个棘手的问题。 他们发现一个调用第三方支付接口的应用里面,偶尔出现请求超时的情况 。第三方平台保证他们的服务 99% 在 10 秒 内完成,算上网络传输时间, 15 秒 足够了,尽管支付平台设置的超时...

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

Java

InfoQ 专访 Rahman:首届 JakartaOne 虚拟会议即将开幕,届时 Jakarta EE 8 也将发布

xubiao.zhuang 发布于 2019-08-25

首届 JakartaOne Livestream 虚拟会议将于美国东部时间 2019 年 9 月 10 日举行,届时从上午 7:00 开始将会组织 19 场 时长为一小时 的会议,届时 Jakarta EE 8 的正式发布也将同时举行。这些会议将专注于 Jakarta EE 和 ...

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

编程技术

golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

xubiao.zhuang 发布于 2019-08-24

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8.c...

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

Java

G1收集器中的to-space exhausted问题一则

4

Harries 发布于 2019-08-24

最近刚刚将自己的一个应用从CMS升级到G1,在一天早上,刚刚到办公室坐下,就收到手机一阵报警,去查看了监控,发现机器的内存出现了一个90度的涨幅,如下图所示: 在查看GC日志后,发现那个时间点附近出现了“to-space exhausted”这种日志 在这里,我比较奇怪的是为啥t...

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

Java

Java设计模式14:建造者模式

2

xubiao.zhuang 发布于 2019-08-24

什么是建造者模式 发现很多框架的源码使用了建造者模式,看了一下觉得挺实用的,就写篇文章学习一下,顺便分享给大家。 建造者模式是什么呢?用一句话概括就是建造者模式的目的是 为了分离对象的属性与创建过程 ,是的,只要记住并理解红字的几个部分,建造者模式你就懂了。 为什么需要建造者模式...

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