线程 原理 方法java

Android开发之线程间通信

Android开发之线程间通信 当我们的软件启动的时候,计算机会分配进程给到我们运行的程序,在进程中包含多个线程用于提高软件运行速度。 在android网络请求中,我们知道在日常开发中不能在子线程中跟新ui,否则报错Only the original thread that created a vi ......
线程 Android

Docker 工作原理分析

docker 容器原理分析 docker 的工作方式 Namespace 容器对比虚拟机 Cgroups 容器看到的文件 Mount namespace chroot rootfs Volume(数据卷) 打包一个go镜像 总结 参考 docker 容器原理分析 docker 的工作方式 当我们的程 ......
原理 Docker

CopyOnWriteArrayList 是如何保证线程安全的?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在上一篇文章里,我们聊到了ArrayList 的线程安全问题,其中提到了 CopyOnWriteArrayList 的解决方法。那么 CopyOnWriteArrayList 是如何 ......
CopyOnWriteArrayList 线程

redisson分布式锁原理剖析

redisson分布式锁原理剖析 ​ 相信使用过redis的,或者正在做分布式开发的童鞋都知道redisson组件,它的功能很多,但我们使用最频繁的应该还是它的分布式锁功能,少量的代码,却实现了加锁、锁续命(看门狗)、锁订阅、解锁、锁等待(自旋)等功能,我们来看看都是如何实现的。 加锁 //获取锁对 ......
分布式 redisson 原理

ADPCM(自适应差分脉冲编码调制)的原理和计算

ADPCM 用于解决 DPCM 的差值宽度问题, 通过定义一个差值表(例如IMA ADPCM 中使用 89个固定差值, 取值从7到32767), 将差值的范围放宽到16bit, 此时差值在数组中的编号只需要6bit就可以表示(0 - 88), 再进一步只记录编号的变化值, 就将变化量压缩到了4bit... ......
脉冲 编码 原理 ADPCM

Android 内存缓存框架 LruCache 的实现原理,手写试试?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在之前的文章里,我们聊到了 LRU 缓存淘汰算法,并且分析 Java 标准库中支持 LUR 算法的数据结构 LinkedHashMap。当时,我们使用 LinkedHashMap 实 ......
缓存 框架 LruCache 原理 内存

Solon v1.11.0 发布,Hello Java

一个更现代感的 Java 应用开发框架:更快、更小、更自由。没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态。主框架仅 0.1 MB。 @Controller public class App { public static void main(String[] args ......
Solon Hello 11.0 Java 11

python进阶(28)import导入机制原理

前言 在Python中,一个.py文件代表一个Module。在Module中可以是任何的符合Python文件格式的Python脚本。了解Module导入机制大有用处。 1. Module组成 一个.py文件就是一个module。Module中包括attribute, function等。 这里说的a ......
原理 机制 python import

基于jenkins+kubernetes的cicd流程实践一:环境搭建及方案原理

1.基础环境:Centos7.9,kubernetes:v1.21.5 node-1@112(master):docker,containerd,harbornginx(80),git,etcd node-2@109(master/worker):docker,containerd,ingress_ ......
kubernetes 流程 原理 jenkins 环境

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

Nginx (Engine X)是一个轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 ......

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

Nginx 安装非常的简单,且Nginx 启动特别容易,并且几乎可以做到24小时不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。接下来我们要针对于安装和运维操作进行实战和分析。 ......
深入浅出 实战 原理 服务器 指南

大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-中

本篇详细描述hoodie数据读写流程,进一步加深对数据湖技术的理解。理论后转战集成Spark的使用,通过spark-shell和spark-sql实现hoodie的插入数据、查询数据、更新数据、删除数据、覆盖数据、时间旅行查询等示例,了解创建表、修改表结构、查询分区、删除分区基本用法,为进一步使用奠... ......
数据 双管齐下 下一代 实战 原理

大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-下

本篇演示了Hudi集成Spark的Scala编程示例,并一步步操作说明如何使用DeltaStreamer从Kafka里读取数据写入到Hudi表的HDFS中,接着集成Flink的环境准备,通过基于yarn-session的Flink的sql-client方式提交任务实现插入数据和流式读取数据,了解字节... ......
数据 双管齐下 下一代 实战 原理

大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-后续

本篇实战Hudi集成Flink SQl编程示例实现从生成器表写入Hudi表,打包集群验证;然后通过Hudi Flink CDC实现采集MySQL binlog日志写入Kafka再入到hudi表的完整示例,了解Hudi Flink的基础调试只是,最后通过Hudi集成Hive实现Flink Hive C... ......
数据 双管齐下 下一代 实战 原理

Java外包程序员的技术出路

学习的两个目的: 应付面试 应付工作(解决问题) 首先要明白学习的目的,不同阶段,不同技术的学习目的是不一样的。 有些技术,仅仅是应用级别的,有些技术是原理级别的(主要还是应试)。所以不同技术、不同时间学习方式需要改变。 学习方法: mysql、redis等日常使用技术: 直接就要熟练掌握,因为日常 ......
程序员 出路 程序 技术 Java

整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

在 javascript 中内置了一个 Date 对象,可用于实现一些日期和时间的操作。 本文整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法。 ......
日期 对象 时间 天数 常用

HashMap为何线程不安全?HashMap,HashTable,ConcurrentHashMap对比

这两天写爬虫帮组里收集网上数据做训练,需要进一步对收集到的json数据做数据清洗,结果就用到了多线程下的哈希表数据结构,猛地回想起自己看《Java并发编程的艺术》框架篇的时候,在ConcurrentHashMap的章节看到过使用HashMap是线程不安全的,HashTable虽然安全但效率很低,推荐 ......
HashMap ConcurrentHashMap 线程 HashTable

redis集群之主从复制集群的原理和部署

最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构、原理以及部署;本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等; 一、主从集群的介绍 redis的主从复制集群为了提高效率降低客户端等待时长,主从间的数据同步采用的是弱一致性的策略,即客户端请求发到主机后,不 ......
集群 主从 原理 redis

redis集群之分片集群的原理和常用代理环境部署

上篇文章刚刚介绍完redis的主从复制集群,但主从复制集群主要是为了解决redis集群的单点故障问题,通过整合哨兵能实现集群的高可用;但是却无法解决数据容量以及单节点的压力问题,所以本文继续介绍redis的分片集群;分片集群即将不同的数据分发到不同的redis实例(或者主从集群),每个redis实例 ......
集群 原理 常用 环境 redis

<七>深入理解new和delete的原理

new ,delete 运算符 int *p =new int; delete p; 看一下汇编代码 可以看到new 和delete 运算符其实也是 operator运算符重载函数的调用 malloc和new malloc 按字节开辟内存 new在开辟内存的时候需要指定类型 new int[10] ......
原理 delete new lt gt

基于桶的排序之基数排序以及排序方法总结

基于桶的排序之基数排序以及排序方法总结 作者:Grey 原文地址: 博客园:基于桶的排序之基数排序以及排序方法总结 CSDN:基于桶的排序之基数排序以及排序方法总结 说明 基于桶的排序有两种,分别是计数排序和基数排序。 但是这两种排序应用范围有限,需要样本的数据状况满足桶的划分 计数排序算法说明见: ......
基数 方法

java并发数据结构之CopyOnWriteArrayList

CopyOnWriteArrayList是一个线程安全的List实现,其在对对象进行读操作时,由于对象没有发生改变,因此不需要加锁,反之在对象进行增删等修改操作时,它会先复制一个对象副本,然后对副本进行修改,最后将修改后的副本对象写回,从而保证操作的线程安全,下面我们看一下具体的代码实现。 构造函数 ......

Java9-17新特性一览,了解少于3个你可能脱节了

你能通过一篇简单、连续、直观的文章就明白Java8之后Java未来整体发展的趋势,为之后几年适应Java相关工作打下基础;你可以通过了解Java9-17的新特性,为以后的面试加分…… ......
一览 特性 Java9 Java 17

Java对象拷贝原理剖析及最佳实践

作者:宁海翔 1 前言 对象拷贝,是我们在开发过程中,绕不开的过程,既存在于Po、Dto、Do、Vo各个表现层数据的转换,也存在于系统交互如序列化、反序列化。 Java对象拷贝分为深拷贝和浅拷贝,目前常用的属性拷贝工具,包括Apache的BeanUtils、Spring的BeanUtils、Cgli ......
拷贝 原理 对象 Java

KVC原理与数据筛选

作者:宋宏帅 1 前言 在技术论坛中看到一则很有意思的KVC案例: @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) NSInteger age ......
原理 数据 KVC

【图像处理笔记】SIFT算法原理与源码分析

【图像处理笔记】总目录 0 引言 特征提取就是从图像中提取显著并且具有可区分性和可匹配性的点结构。常见的点结构一般为图像内容中的角点、交叉点、闭合区域中心点等具有一定物理结构的点,而提取点结构的一般思想为构建能够区分其他图像结构的响应函数或者从特征线或轮廓中进行稀疏采样。Harris角点检测器便是运 ......
图像处理 算法 源码 图像 原理

JavaScript入门③-函数(2)原理{深入}执行上下文

被JavaScript的闭包、上下文、嵌套函数、this搞得很头痛,这语言设计的,感觉比较混乱,先勉强理解总结一下???。● 为什么有闭包这么个东西?闭包包的是什么?● 什么是词法作用域?● 函数是如执行的呢? ......
上下文 JavaScript 函数 上下 原理

Java lambda表达式基本使用

代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法。 1.1 案例 有以下List<Integer>对象: List<Integer> list = Arrays.asList(1, 3, 5, 7, 9, 2, 4 ......
表达式 lambda Java

盘点JAVA中基于CAS实现的原子类, 你知道哪些?

前言 JDK中提供了一系列的基于CAS实现的原子类,CAS 的全称是Compare-And-Swap,底层是lock cmpxchg指令,可以在单核和多核 CPU 下都能够保证比较交换的原子性。所以说,这些原子类都是线程安全的,而且是无锁并发,线程不会频繁上下文切换,所以在某些场景下性能是优于加锁。 ......
原子 JAVA CAS

关于 .NET 在不同操作系统中 IO 文件路径拼接方法,升级 .NET 7 后注意到的一个知识点

.NET 现在支持跨平台这件事情已经是众所周知的特点了,虽然平台整体支持跨平台了,但是我们的代码如果真的想要实现跨平台运行其实还是有些小细节要注意的,今天想要记录分享的就是关于 文件I/O操作时路径的拼接问题。 在 Windows 环境下我们常见的路径格式如下: D:\Software\AppDat ......
知识点 路径 NET 文件 方法