Shadow

手机智眼——智慧视觉

不羁的心 提交于 2020-08-09 11:09:15
“你给我智眼 帮我辨认食物的热量 你给我智眼 帮我翻译冗长的文章 你给我智眼 帮我找到购物的地方 你给我智眼 帮我走出不认识物品的情况……”   二哈先给大家唱首歌,希望大家喜欢,嘿嘿。因为二哈今天给大家介绍的流量入口就和歌词有关系——“智慧视觉,您的手机智眼”。    智慧视觉是通过手机扫图或扫码的方式触发快服务的。具体的触发方式如下: 【01页面】点击智慧视觉图标进入【02页面】 【02页面】点击功能图标开始自动识别,进入【03页面】 【03页面】点击服务卡片进入【04页面】服务详情页 ----结束   目前呢,智慧视觉主要支持功能如下:   l 识物:识别所扫描物品并给出简介。   l 购物:识别所扫描物品并给出购物页面。   l 卡路里:识别所扫描物品并给出食品的热量。   l 翻译:识别文字并翻译。   在这里讲个有趣的事情,记得有一次二哈和同事一起吃茶歇,茶歇上的水果里面有一个这样的东西(如下图)。当时我和我的小伙伴都惊呆了(可能也是我们的知识比较局限,见过的大佬应该是一眼就能看出来吧),这个东西形状像苹果,颜色有点像猕猴桃但是还有点淡,摸上去还挺硬的,所以这到底是个啥呢……当时大家观察了半天,都没有下口。这时候,有个同事拿出华为手机,打开智慧视觉用“识物”功能扫了一下这个东西,结果居然是“梨”……有个“大胆”的同事拿起来,尝了一口,“还真是梨”。大伙顺着线索查了一下

阿里云开放平台微前端方案的沙箱实现

雨燕双飞 提交于 2020-08-09 08:46:15
导读 微前端已经成为前端领域如今比较火爆的话题,关于微前端价值的讨论,可以参考克军的 《拥抱云时代的前端开发框架——微前端》 。微前端在技术方面,有一个始终绕不过去话题就是前端沙箱。本篇具体探讨一下,在微前端领域如何实现前端沙箱。 背景 应用沙箱可能是微前端技术体系里面最有意思的部分。一般来说沙箱是微前端技术体系中不是必须要做的事情,因为如果规范做的足够好,是能够避免掉一些变量冲突读写,CSS 样式冲突的情况。但是如果你在一个足够大的体系中,总不能仅仅通过规范来保证应用的可靠性,还是需要技术手段去治理运行时的一些冲突问题,这个也是沙箱方案成为微前端技术体系的一部分原因。 首先纵观各类技术方案,有一个大前提决定了这个沙箱如何做:最终微应用是 单实例 or 多实例 存在宿主应用中。这个直接决定了这个沙箱的复杂度和技术方案。 • 单实例:同一个时刻只有一个微应用实例存在,此刻浏览器所有浏览器资源都是这个应用独占的,方案要解决的很大程度是应用切换的时候的清理和现场恢复。比较轻量,实现起来也简单。 • 多实例:资源不是应用独占,就要解决资源共享的情况,比如路由,样式,全局变量读写,DOM. 可能需要考虑的情况比较多,实现较为复杂。 最开始我们的想法是: 从业务场景:我们可能存在的情况是当用户操作一个产品 A 的同时和另一个产品 B 发生了关联操作,需要唤醒应用 B 做操作

分布式_分布式事务_强事务(CP)_两阶段提交协议

末鹿安然 提交于 2020-08-09 05:57:16
一、两阶段提交协议 第一阶段:提交请求阶段/投票阶段 两阶段协议就是通过两次协商来完成一个事务操作。一般第一个事务的发起方叫做 协调者。其他服务叫做参与者。第一步,协调者会通知其他系统,我们要执行一个事务啦。其他系统这时会通知协调者自己是否准备好执行事务。如果都可以执行,则进入第二步。如果有一个系统说自己不能执行事务,则整个分布式事务回滚。上图: 上图表示了投票阶段所有系统的操作过程,这里假设的是所有系统都是正常的情况下的流程。假设短信服务或者积分服务中的一个宕机了或者因为某某原因(也许积分服务这边也在执行某个事务,卡着等待了。)没有告知用户服务自己已经准备好,那么用户服务会认为事务发起失败,直接报错。如果是用户服务挂了,那么其他参与者就会一直等待用户服务的消息,需要自己写超时逻辑。要是都没问题,则进入第二阶段:提交执行阶段。 第二阶段:提交执行阶段 直接上图: 此时所有服务执行事务,并且用户服务统计各个系统的事务执行结果。如果所有系统都执行成功,则整个分布式事务执行成功。 如果此时用户服务(协调者)宕机,则其他服务就收不到用户服务下发的事务提交消息,就会一直卡着等待。因为二阶段提交默认只有协调者有超时时间,那么参与者需要自己写超时处理流程。 如果此时短信服务或者积分服务宕机或者操作执行失败,那么用户服务则会收到失败的消息,通知各个系统回滚事务。要是这个时候用户服务也挂了

图解 Java 垃圾回收机制,写得非常好!

夙愿已清 提交于 2020-08-09 05:49:19
什么是自动垃圾回收? 自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制。 所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象;而未使用中的对象(未引用对象),则没有被任何指针给指向,因此占用的内存也可以被回收掉。 在用 C 之类的编程语言时,程序员需要自己手动分配和释放内存。而 Java 不一样,它有垃圾回收器,释放内存由回收器负责。本文接下来将介绍垃圾回收机制的基本过程。 第一步:标记 垃圾回收的第一步是标记。垃圾回收器此时会找出哪些内存在使用中,还有哪些不是。 上图中,蓝色表示已引用对象,橙色表示未引用对象。垃圾回收器要检查完所有的对象,才能知道哪些有被引用,哪些没。如果系统里所有的对象都要检查,那这一步可能会相当耗时间。关注Java技术栈微信公众号,回复:JVM46,可以获取一份超全 JVM 调优攻略。 第二步:清除 这一步会删掉标记出的未引用对象。 内存分配器会保留指向可用内存的引用,以供分配新对象。 压缩 为了提升性能,删除了未引用对象后,还可以将剩下的已引用对象放在一起(压缩),这样就能更简单快捷地分配新对象了。 为什么需要分代垃圾收集? 之前说过,逐一标记和压缩 Java 虚拟机里的所有对象非常低效:分配的对象越多,垃圾回收需时就越久。不过,根据统计,大部分的对象,其实用没多久就不用了。 来看个例子吧。(下图中

花6小时整理的网上最全的系统服务,想PF降到50以下的进,经典中的经典

痴心易碎 提交于 2020-08-09 04:09:21
[转贴]本人整理了6个小时终于搞定SERVICES.MSC所有服务达,我以我的ADSL动态拔号服务器为例 ,等下有些我不能禁止的,其实你们在网吧的客户机还是可以禁止的,我会在旁边用括号说明,哈哈,这样大家可以根据自己需要,需要关闭还是不需要关闭 嘿嘿绝对降低大家开机时候的PF哦 嘿嘿我估计下你们什么都没有装,把这些服务关闭和以前我发的优化XP帖,客户机PF至少都可以达到60以下,当然高手再把相应的XP特效和其他东东禁止的话50以下都行不是吹的啦,很正常的。 为了让大家不乱,我按从上到下连续的讲解全部服务,哈哈比你们网上的都知道一部分强多了吧,绝对值得收藏啊,我自己已经存了达。 好久不出什么帖了,为了让广大网盟兄弟朋友门能够收到更多有价值的东东,就做下来从早上9点多到现在3点左右自己写了一个帖,有些是收集的,经过我测试后保留的,有些是我自己已经禁止,使用了很旧没有造成影响的。 绝对实用好东西哦,让你们网吧的客户机跑的更快,大家觉得好,就顶我一下就行了,也不浪费我的辛苦汗水啊,绝对值得收藏,我都实践过达,你们到网上搜索到的服务,汗。。。要不就是不全,就是有2种观点,一下有的说这个能关,一下有的说,这个不能关 呵呵 我现在详细解释给大家,就不会迷茫了 嘿嘿 当然其他朋友有不同建议,你们回帖在上面,我会考虑你们的想法,修改的! 1:Alerter服务:选择“手动/禁用”是明智之举。

网络模型介绍

南楼画角 提交于 2020-08-09 02:58:00
物理层主要作用是定义物理设备如何传输数据 数据链路层在通信的实体间建立数据链路连接 网络层为数据在结点之间传输创建逻辑链路 传输层 向用户提供可靠的端到端(End-to-End)服务 传输层向高层屏蔽了下层数据通信的细节 应用层 为应用软件提供了很多服务 构建与TCP协议之上 屏蔽网络传输相关细节 来源: oschina 链接: https://my.oschina.net/u/2441327/blog/4310661

面试题:Java对象不再使用时,为什么要赋值为null?

时间秒杀一切 提交于 2020-08-08 18:09:04
前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。 鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析“对象不再使用时赋值为null”这一操作存在的意义,供君参考。本文尽量不使用专业术语,但仍需要你对JVM有一些概念。 示例代码 我们来看看一段非常简单的代码: public static void main(String[] args) { if (true) { byte[] placeHolder = new byte[64 * 1024 * 1024]; System.out.println(placeHolder.length / 1024); } System.gc(); } 我们在if中实例化了一个数组placeHolder,然后在if的作用域外通过System.gc();手动触发了GC,其用意是回收placeHolder,因为placeHolder已经无法访问到了。来看看输出: 65536 [GC 68239K->65952K(125952K), 0.0014820 secs] [Full GC 65952K->65881K(125952K), 0.0093860 secs] Full GC 65952K-

Java Class类

送分小仙女□ 提交于 2020-08-08 17:53:24
1、简介 在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。    Class 类的实例表示正在运行的 Java 应用程序中的类和接口。 每一个类都有一个Class对象( 类A,类A的对象a1, 用双等号操作符来比较对象:a1.getClass()==A.class;应该返回的是true。 ),每当编译一个新类就产生一个Class对象,基本类型 (boolean, byte, char, short, int, long, float, and double)有Class对象,数组有Class对象,就连关键字void也有Class对象(void.class)。Class对象对应着java.lang.Class类,如果说类是对象抽象和集合的话,那么Class类就是对类的抽象和集合。   Class类没有公共的构造方法,Class对象是在类加载的时候由Java虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个Class对象

【了不起的开发者】华为开发者大会2020(Together)已向你发来邀请~

淺唱寂寞╮ 提交于 2020-08-08 15:39:55
2019华为开发者大会在东莞松山湖举行 大会以”AI&IRethink Possibilities”为主题 汇集全球5000+合作伙伴和开发者 共同探讨全场景智慧化的未来趋势 开启全球终端产业革命性体验。 华为开发者大会2020(Together)如约而至 9月10日起,我们将在东莞松山湖 带来主题演讲、技术论坛、和行业大咖的松湖对话 加入Codelabs与全球开发者一同感受代码魅力 加入Tech. Hour与华为专家 一对一聊技术、交朋友,碰撞出新的火花 更有好玩又有趣的互动体验,等你一起来探索 无论是以何种方式参与 我们都欢迎您的到来 点击“ 了解详情 ”选择门票种类,挑选适合你的门票! (提交支付前请核实报名信息) 来这里,让你从强变得更强 让你看见世界,被世界看见 精彩不止于此 华为开发者! 9月10日 ,我们不见不散! 原文链接: https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203319447822070008&fid=23 原作者:洛惜陌 来源: oschina 链接: https://my.oschina.net/u/4478396/blog/4479292