Java并发编程原理: 线程之间的互斥与协作机制 Java

Java并发编程原理: 线程之间的互斥与协作机制

可能在synchronized关键字的实现原理中,你已经知道了它的底层是使用Monitor的相关指令来实现的,但是还不清楚Monitor的具体细节。本文将让你彻底Monitor的底层实现原理。 管程 一个管程可以被认为是一个带有特殊房间的建筑,这个特殊房间只能被一个线程占用。这个房间包含很多数据和代码。 如果一个线程要占用特殊房间(也就是红色区域),那么首先它必须在Hallw...
阅读全文
全文检索原理 Java

全文检索原理

搜索简介 搜索实现方案 传统实现方案 根据用户输入的关键词(java), 应用服务器使用SQL语句查询数据库, 将查询到的结果返回给用户. 特点: 如果数据量很大, 用户量大, 数据库服务器压力随之增大, 导致查询速度变慢. Lucene实现方案 根据用户输入的关键词(java), 应用服务器通过Lucene提供的API查询索引库, 索引库返回搜索结果给应用服务器...
阅读全文
系统体系结构框架 DoDAF 编程技术

系统体系结构框架 DoDAF

什么是 DoDAF ? 核心概念 DoDAF所描述的体系结构的核心概念 : 1.活动:不特定于将输入(资源)转换为输出(资源)或更改其状态的单个组织,武器系统或个人的工作。 2.资源:生产或消费的数据,信息,执行者,物料或人员类型。 ①物资:感兴趣的设备,装置或物资,不区分其用于行政或作战目的。 ②信息:某种感兴趣的事物的状态,它以任...
阅读全文
关于启动数字化转型的策略 软件架构

关于启动数字化转型的策略

一个传统企业为什么要做数字化转型,数字化转型转什么和数字化转型怎么转? 绝大多数的企业希望 解决三个方面的问题,通过数字化转型解决: 业务的增长、客户的满意, 解决内部的管理和效率提升, 还有能不能探索发现以及洞见自己是不是有新的商业模式,为企业未来的持续发展增加更多的动能。 虽然数字技术——从机器人过程自动化(RPA)到分析和人工智能(AI)——开...
阅读全文
【Java 并发编程】轻量级锁和偏向锁详解 Java

【Java 并发编程】轻量级锁和偏向锁详解

问题背景 Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchronized效率低的原因。因此,这种依赖于操作系统Mutex Lock所实现的锁我们称之为“重量...
阅读全文
SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)? 软件架构

SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)?

如何保证服务的高可用性 HA(High Availability)? 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。方法论上,高可用是通过冗余+自动故障转移来实现的。 我们都知道,单点是系统高可用的大敌,单点往往是系统高可用最大的风险和敌人,应该尽量在系统设计的过程中避免单点。 方法论上,高可用...
阅读全文
Java HashSet 的实现源码解析 Java

Java HashSet 的实现源码解析

HashSet 是一个没有重复元素的集合。基于HashMap实现。 简介 HashSet定义: public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable 它是由HashMap实现的,不保证...
阅读全文
Go 语言教程之结构体 Java

Go 语言教程之结构体

Hello,大家好,我是小栈君,最近因为工作的事情延误了一点分享的进度,但是我会尽量抽时间分享关于IT干货知识,还希望大家能够持续关注“IT干货栈”哦。 闲话不多说,今天给大家继续分享关于Go语言的教程知识之结构体。 对象 在介绍结构体之前,我们先讲讲编程语言中的对象的概念吧,因为在相关的程序开发过程中,我们通常是面向对象进行编程,就...
阅读全文
Loading...