首页 文章 精选 留言 我的

精选列表

搜索[全场景互联],共10008篇文章
优秀的个人博客,低调大师

GeoMesa时空基础及应用场景

PPT下载地址:https://yq.aliyun.com/download/3266 视频回看:https://yq.aliyun.com/live/793 内容概要:GeoMesa是一款开源的基于分布式计算系统的面向海量时空数据查询与分析的工具包。本报告首先介绍了GeoMesa基于HBase系统的整体架构与部署架构,其次,分析了其时空索引原理与算法实现,最后简要介绍了GeoMesa与Spark、Kafka、Lambda等开源系统或架构的整合方式。 讲师:肖斐——阿里云数据库技术专家 直播地址HBase生态+Spark社区钉钉大群方式一:扫码入群看直播方式二:Link入群看直播https://dwz.cn/Fvqv066s 直播时间:每周二 18:00-18:30 分享;18:30- 18:45~ 问答

优秀的个人博客,低调大师

violate关键字使用场景

先看一段代码: package com.fsun.research.thread.violate; public class MainTest { private static boolean ready; private static class CounterThread implements Runnable{ @Override public void run() { while(!ready){ } } } public static void main(String[] args) { new Thread(new CounterThread()).start(); System.out.println("主线程睡眠300毫秒"); try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } ready=true; } } 上面的例子中run方法会陷入到死循环中,这是因为CounterThread线程在主线程改变ready值之前已经从主内存中读取了ready的值到自己的工作内存(主线程睡眠300毫秒就是为了保证这一点),由于在while循环中不停大量的循环读取,jvm为了提高读取效率,对于这种高并发读取的情况是从线程的工作内存来读取,即使当主线程睡眠醒来改变了ready的值并更新了主内存但却并没有什么用。 再看下面一个例子: package com.fsun.research.thread.violate; public class MainTest { private static boolean ready; private static class CounterThread implements Runnable{ @Override public void run() { System.out.println("ready====="+ready); try { Thread.sleep(1000); //睡眠1秒 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("1秒后读取到ready的值"+ready); } } public static void main(String[] args) { new Thread(new CounterThread()).start(); System.out.println("主线程睡眠300毫秒"); try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } ready=true; } } 主线程睡眠300毫秒为了保证CounterThread在主线程更新ready之前从主内存中读取到ready的值。CounterThread在睡眠1秒之后又读取ready的值,此时读取到了主线程更新过后的值。为了使程序的执行流程可控加入了线程休眠,实际上在测试的过程中不加入线程休眠,只要线程不在短时间内频繁的读取ready的值都没有出现读取到的ready的值错误的情况。 可见在高并发的情况下,对于共享变量jvm并不能保证每个线程读取到的值都是一样的。为了解决这个问题,jvm引入了violate关键字,使用violate关键字来进行声明的变量,每次都会从主内存读取,jvm不会为每个工作线程进行缓存。

优秀的个人博客,低调大师

【播放器--场景】纯音频播放

本文将演示使用阿里云播放器3.0.0版本如何实现纯音频播放,目前因为播放器视频支持mp4播放,音频支持mp3播放,所以用户只需要使用setLocalSource的模式来播放音频文件即可. 以安卓为例: 1.初始化播放器相关的代码 AliyunVodPlayer aliyunVodPlayer = new AliyunVodPlayer(this); 2.组装一个结构体AliyunLocalSource AliyunLocalSource.AliyunLocalSourceBuilder asb = new AliyunLocalSource.AliyunLocalSourceBuilder(); asb.setSource("http://m128.xiami.net/260/1260/6641/376016_14750_l.mp

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册