- 博客(34)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注

原创 ALBERT 与ELECTRA,小排量的大飞机
前言随着BERT的横空出世,目前越来越多优秀的预训练语言模型涌现出来,学习的步伐跟不上发展的速度。BERT 刚出来时,感觉,可预期的时间内,只要预训练目标任务足够好,相信效果会有更进一步提升。预训练语言模型名称特点机构ELMO自回归语言模型,双层BiLSTMAllenNLPBERT自编码语言模型,Transformer谷歌GPT,GPT 2.0自...
2019-11-03 16:13:04
1719
原创 javascript实现 sleep函数
javascript 通过 Promise 和async&await 实现sleep函数const sleep = (delay) => new Promise((_) => setTimeout(_, delay))const repeatedTest = async () => { await sleep(1000) console.log("First") await sleep(1000) console.log("Second") await
2021-12-13 11:15:50
651
原创 单例模式及其九种实现
文章目录介绍实现1、懒汉式,线程不安全2、懒汉式,线程安全3、饿汉式4、双检锁/双重校验锁(DCL,即 double-checked locking)5、登记式/静态内部类6、枚举7、volatile关键字8、使用ThreadLocal实现单例模式(线程安全)9、使用CAS锁实现(线程安全) 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确
2021-11-13 15:29:09
408
原创 javascript 浅冻结、深冻结与解冻
1、javascript 浅冻结var obj = { prop: function() {}, foo: 'bar'};// 新的属性会被添加, 已存在的属性可能// 会被修改或移除obj.foo = 'baz';obj.lumpy = 'woof';delete obj.prop;// 作为参数传递的对象与返回的对象都被冻结// 所以不必保存返回的对象(因为两个对象全等)var o = Object.freeze(obj);o === obj; // trueObj
2021-09-03 09:51:49
3082
原创 DNS 预获取(dns-prefetch)--web开发的DNS优化
**DNS-prefetch** (****) 是尝试在请求资源之前解析域名。这可能是后面要加载的文件,也可能是用户尝试打开的链接目标。1、为什么要使用 dns-prefetch?当浏览器从(第三方)服务器请求资源时,必须先将该跨域域名解析为 IP地址,然后浏览器才能发出请求。此过程称为 DNS解析。DNS 缓存可以帮助减少此延迟,而 DNS解析可以导致请求增加明显的延迟。对于打开了与许多第三方的连接的网站,此延迟可能会大大降低加载性能。dns-prefetch 可帮助开发人员掩盖 DNS解析延迟。.
2021-08-26 10:20:10
598
原创 设计模式总结
文章目录1、**设计模式的六大原则****1.1、构建型模式** 5种**1.2、结构型模式 7 种****1.3、行为型模式11 种**2、**工厂模式****2.1、简单工厂模式****2.2、工厂方法模式****2.3、抽象工厂模式****3、单例模式****3.1.饿汉式****3.2.懒汉式****4、建造型模式****5、原型模式****6、适配器模式****7、桥接模式****8、组合模式****3.1.不使用组合模式的设计方案****3.2.使用组合模式的设计方案****3.3.组合模式中的
2021-06-20 18:37:01
1783
1
转载 浏览器性能优化实战
当我们在做性能优化的时候,我们究竟在优化什么?浏览器底层是一个什么架构?浏览器渲染的本质究竟是什么?哪些方面对用户的体验影响才是最大的?有没有业内一些通用的标准或标杆参考?都 1202 年了,雅虎军规还有没有用?性能分析工具都有哪些?我们怎么进行打点分析才是合适的?本文为你一一讲解这些。了解了这些问题,可能你在做性能优化的时候才能更加得心应手。1. 性能优化的本质1.1 展示更快,响应更快性能优化的目的,就是为了提供给用户更好的体验,这些体验包含这几个方面:展示更快、交互响应快、页面无卡顿情况。更
2021-05-17 18:21:10
1036
转载 美团弹性伸缩系统的技术演进与落地实践
转自 美团技术团队文章链接弹性伸缩具有应突发、省成本、自动化的业务价值。平台侧将各业务零散、闲置资源进行整合,形成一个大规模资源池,通过弹性调度、库存管控技术在公司运营成本和业务体感中寻求较好的平衡。本文将介绍美团弹性伸缩系统落地过程中面临的技术挑战、推广以及在运营层面的一些思考。在美团这种多样化的业务场景中落地弹性伸缩,与业界公有云、自建私有云的公司相比,既有共性又有自己的特点,希望能为大家提供新的思路或者启发。前言稳定、高效、可靠的基础设施是互联网企业应对业务高峰流量的底层基石...
2021-04-01 21:52:41
472
转载 新一代垃圾回收器ZGC的探索与实践
转自https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.htmlZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:停顿时间不超过10ms; 停顿时间不会随着堆的大小,或者活跃对象的大小而增加; 支持8MB~4TB级别的堆(未来支持16TB)。从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介绍ZGC在低延时场景中...
2021-03-30 22:43:44
210
原创 gradle 相关问题汇总
Question 1:Could not find method google() for arguments [] on repository container。因为某个墙的存在,google()和jcenter()有时候无法访问,导致gradle无法解决依赖问题。解决办法,使用阿里云的镜像替代,一方面可以解决依赖问题,另一方面也提高了访问速度。https://maven.aliyun.com/mvn/guide仓库名称阿里云仓库地址阿里云仓库地址(老版)源地址centra
2021-03-29 19:47:09
331
原创 Chromeium 服务模型
目的将Chrome代码库移至面向服务的模型。这将产生可重用和解耦的组件,同时还减少重复。它也允许Chrome小组和其他小组尝试新功能,而无需修改Chrome。背景Chrome的体系结构存在各种问题和局限性:组件一致性差: 特定于功能的代码散布在不同的模块和流程中,例如平台和浏览器功能以及Blink和[chrome,组件,内容] /浏览器+渲染器中的代码。 似乎不相关的功能具有直接或间接的依赖关系纠缠,从而难以隔离离散的服务代码以实现重用,安全性和稳定性(例如,网络服务)。 ...
2020-12-04 10:56:07
612
原创 android追踪工具Trace概述
systrace systrace 是分析 Android 设备性能的主要工具。不过,它实际上是其他工具的封装容器:它是 atrace 的主机端封装容器,是用于控制用户空间跟踪和设置 ftrace 的设备端可执行文件,也是 Linux 内核中的主要跟踪机制。systrace 使用 atrace 来启用跟踪,然后读取 ftrace 缓冲区并将其全部封装到一个独立的 HTML 查看器中(虽然较新的内核支持 Linux 增强型柏克莱封包过滤器 (eBPF),但以下文档内容仅适用于 3.18 内核(无 eFPF
2020-09-09 21:12:31
11291
原创 Andorid 使用systrace进行性能分析
systrace 命令会调用 Systrace 工具,您可以借助该工具收集和检查设备上在系统一级运行的所有进程的时间信息。本文档说明了如何通过命令行生成 Systrace 报告。在搭载 Android 9(API 级别 28)或更高版本的设备上,您还可以使用“系统跟踪”系统应用生成 Systrace 报告。如需运行 systrace,请完成以下步骤:从 Android Studio 下载并安装最新的 Android SDK 工具。安装 Python 并将其添加到工作站的 PATH 环境变量中。..
2020-09-04 20:56:44
214
原创 Android系统Trace概览
系统跟踪概览“系统跟踪”就是记录短时间内的设备活动。系统跟踪会生成跟踪文件,该文件可用于生成系统报告。此报告可帮助您了解如何最有效地提升应用或游戏的性能。Android 平台提供了多种不同的跟踪信息获取途径:Android Studio CPU 性能剖析器“系统跟踪”应用Systrace 命令行工具Perfetto 命令行工具在您与应用交互时,Android Studio CPU 性能剖析器可实时检查应用的 CPU 使用率和线程活动。您还可以检查方法跟踪记录、函数跟踪记录和系统跟踪记录中的
2020-09-04 20:35:26
6623
翻译 Google C++ 代码样式指南
代码规范对于一个项目、一个团队乃至一个公司是十分重要的要求。国内有阿里发布的的《Java 开发手册》,但是Java只是众多流行语言中的一个,很多语言由于语法规则、编译过程、内存管理等与Java存在较大的差异。本文通过翻译Google C++ Style Guide来展示C++编码过程中需要注意的规范。背景C ++是许多Google开源项目使用的主要开发语言之一。每个C ++程序员都知道,该语言具有许多强大的功能,但是这种功能带来了复杂性,从而使代码更容易出现错误,并且难以阅读和维护。本指南的目的是通
2020-07-17 09:54:42
389
原创 微服务与 Spring Cloud 相关组件汇总与分析
微服务目前越来越火,阿里巴巴2019双十一将微服务作为核心,接受了中国剁手党的洗礼。但是涉及到微字,就体现了他的组件非常多,同一个功能的组件,Spring Cloud可能有一个基础版本。其他大厂可能在相关基础上,做出了一系列的优化和修改,参生了很多不同版本,同时不同组件功能有重合。本文目的是梳理相关组件的概念,整理出其优缺点与适用场景。Spring Cloud Netflix:核心组件,可以...
2019-11-16 23:00:06
592
原创 80行代码爬取510w条搜狐新闻
本文介绍分布式爬取搜狐新闻的方法基于redis 实现分布式基于newspaper实现正文抽取 newspaper3k for python3没有使用scrapy,python原生多线程实现本地文件存储(对于ES,MongoDB自行添加代码支持,不难,但是本人侧重于使用本地txt存储)获取所有新闻url通过拼接Base URL即可访问到当天所有的新闻列表,一千多条的样子。存入redi...
2019-11-12 23:35:22
843
2
原创 开放域机器阅读理解近期进展-EMNLP2019 SemanticRetrievalMR和GoldEn Retriever
开放域QA从大规模无监督文本中(千万级以上)通过检索+机器阅读理解的方法已经成为当前学术界和工业界研究的热点。一方面存在很多挑战,另一方面对于实际开放域问答有着非常重要的现实意义。目前主流检索平台(百度,谷歌,bing)已经实现和应用相关技术在线上的产品中。存在的挑战1.一次检索,并不能检索出问题的所用支撑事实。提高第一次检索的准确率和产生多次相关检索成为该问题的研究重点。2. 如何中到的...
2019-11-12 14:06:58
770
原创 MySQL性能监测工具--SQLyog
SQLyogSQLyog 是目前我见到的最优秀的Mysql数据库监测工具之一,界面优美,非侵入式,能够实时和非实时监控数据库,支持监控多机。连接数网络IO查询数(SELECT,INSERET,DELETE)缓存miss数CPU以及磁盘IO(SSH)高级功能日志分析数据迁移(master->slave)查询分析等使用该软件是收费的,有14天免费试用期 官方地...
2019-11-03 23:47:52
1443
原创 NetData ---Linux web可视化性能监测工具
NetData 是一款界面美观,监控种类齐全的Linux性能监测工具功能介绍Netdata对系统和应用程序进行分布式、实时、性能和健康监控。它是安装在所有系统和容器上的高度优化的监视代理。Netdata使用高度交互的web仪表板,对其运行的系统(包括web服务器、数据库和应用程序)上发生的所有事情提供了无与伦比的实时洞察。它可以独立运行,不需要任何第三方组件,也可以集成到现有的监控工具链(P...
2019-11-03 15:16:02
1798
原创 百度百科全站爬取教程
百度百科全站 目前有16,330,473个词条这里介绍一个基于scrapy的分布式百度百科爬虫,能够全量爬取百度百科的词条github地址特性百科类网站全站词条抓取,包括百度百科、互动百科、wiki中英文站点;支持断点续爬;支持缓存百科词条页面;可分布式部署;经过单机测试,在i9-9900K 内存64G 100M网络带宽下,百度百科词条一天可以抓取大概50w条(默认系统配置下);...
2019-11-03 15:12:00
4733
原创 ACL 2018 和 2018 AAAI 接受关于知识图谱的论文简述
Variational Reasoning for Question Answering with Knowledge Graph
2018-05-08 19:07:34
2907
原创 hadoop datanode 无法启动之 namenode ID 不一致解决办法。
如何验证集群namenode ID和datanode ID 一致首先我们将文件存在/usr/local/hadoop_tmp/hdfs目录下新建datanode和name node 文件夹,并使用hadoop namenode -format或hdfsnamenode -format(这个命令执行文件在/usr/local/hadoop/sbin)目录下。第一次使用会在N...
2016-04-14 18:57:27
5057
1
原创 Linux与android进程间的通信及android Binder机制详解
关于进程之间的通信又很多种方式,不同的方式适用于不同的场景。1.管道(pipe)特点:单向的,具有“读取”端和“写入”端,容量有限。实例:2.Signal 3.Trace 跟踪以上三种只适合父进程与子线程或者 兄弟进程之间的通信4.System V 之 报文队列(Message)5.System V 之 共享内存(ShareMessage)实现
2015-09-14 23:20:06
2152
原创 JSON
JSON:轻量级的文本数据交换格式,类似于XML,但是比XML更小,更快,更易解析。它是基于JavaScript的一个子集,它使用JavaScript语法来描述数据对象,但是JSON仍是独立于语言和平台。 优点:1.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小2.易于解析的语言,客户端JavaScript可以简单地通过eval()进行JSON数据的读取3.
2015-05-05 23:44:11
369
转载 mySQL 创建新用户的方法
1. CREATE USER语法:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDEN
2015-04-22 11:42:18
584
转载 Mac Eclipse常用快捷键
整理Eclipse常用快捷键开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的,习惯了快捷键的生活忽然哪天快捷键不起作用了,跟着的就是开发效率明显降低,频繁录入错误的快捷键让Eclipse都不知道你想要什么了。 以下内容是我整理的经常使用的Eclipse快捷键,主要依据首个按键进行了分类。文档末尾是收集了Mac系统下对文本编辑当标跳转或选中的快捷
2015-04-16 12:36:24
449
原创 Handler 机制详解
1.概述:handler是安卓提供的一套更新UI的机制,由于android不允许非UI线程更新UI,所以需要相关机制实现。同时hander也是一套消息处理机制,能实现主线程向子线程传递消息,子线程向主线程传递消息。2.Looper、Message和Queue的关系Looper是一个消息分发器,在主线程创建的时候就会创建一个Looper对象messageQueue :消息
2015-04-12 15:56:20
400
原创 知识体系
静态网页技术 html html5 html 请求报文,应答报文。html5 移动客户端,网页编写,的新蓝海。减轻移动客户端的体积,在网页多媒体处理方面干掉flash动态网页技术 jsp servlet 根据客户端需求生成内容 CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用
2015-03-25 21:19:58
487
原创 Linux 性能监测
1. Cpu监测命令: Sar: 命令格式:sar [选项] [采样间隔] [采样次数] 例子:sar 5 3%usr: 用户进程的CPU时间占有率%nice:用户进程nice操作(特权进程)CPU时间占有率%sys:系统进程%idle: cpu空闲时间百分比 mpstat:对于多核处理器分
2015-03-25 21:06:45
354
原创 学习思想
温故而知新是一种很好的学习方式,当我们学习一门新的知识时,最好能找到新的知识与已掌握知识之间的类比关系,这样可以迅速获得对新的知识的直观把握,又可以巩固已掌握的旧知识,避免知识越学越多的困扰。你的知识越积累多,你就会发现眼界越来越高,视野越来越广,看问题更可以简明扼要地把握知识。当然两个知识点之间除了相似的地方之外,也存在不少差异,这部分差异正是互相参考,互相对照的部分,以求深入理解各自的设计
2015-03-19 21:39:25
423
原创 NullpointerException异常的产生
NullpointerException异常产生的原因:对null成员进行操作。package cn.tcm;public class Test_Nullpointer { //private static final String NULL = null; private String a=null; public void run(){ try{ System.out.pr
2015-01-26 15:12:03
470
原创 JAVA常见问题
内存泄露:内存泄露是指由于动态存储分配函数开辟的内存空间,使用完后未释放,导致一直占据着内存直至程序结束。final最终类不能被继承,final最终方法不能被重写。
2015-01-26 12:46:39
412
CNSD-Endl.pdf
2019-11-05
Mac管理SQLite可视工具navicat
2015-04-23
ambari 是否能够监控已经安装部署的Hadoop集群。
2016-03-16
如何解决android NDK开发中的NDK_PROJECT_PATH
2015-06-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人