精华内容
下载资源
问答
  • 一次poi导入excel引起cpu满的问题

    千次阅读 2019-04-07 10:58:36
    一次poi导入引起生产cpu满的问题 生产应用机器配置:8C 16G 周日突然收到告警,cpu持续15分钟空闲时间小于10%,赶紧联系运维要日志,通过分析dump_high_cpu PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ ...

    记一次poi导入excel引起cpu跑满的问题

    生产应用机器配置:8C 16G

    周日突然收到告警,cpu持续15分钟空闲时间小于10%,赶紧联系运维要日志,通过分析dump_high_cpu

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    28830 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  16:12.49 java              
    29157 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  11:43.56 java              
    29991 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  14:31.26 java              
    30187 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  14:06.83 java              
    30408 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  13:02.85 java              
    30599 jbossuse  20   0 12.9g 6.9g  27m R 100.9 44.6  12:44.31 java              
    28840 jbossuse  20   0 12.9g 6.9g  27m R 99.1 44.6  15:44.46 java               
    29165 jbossuse  20   0 12.9g 6.9g  27m R 95.5 44.6  15:37.87 java               
    27522 jbossuse  20   0 12.9g 6.9g  27m S  0.0 44.6   0:00.00 java               
    27523 jbossuse  20   0 12.9g 6.9g  27m S  0.0 44.6   0:00.68 java   
    

    看出来,有8个线程跑到100%.通过pid去寻找对应java core 里的线程,发现这个8个线程都是进行同一个操作

    "default task-17" prio=10 tid=0x00007ff15802f000 nid=0x71ed runnable [0x00007ff1f10ac000]
       java.lang.Thread.State: RUNNABLE
    	at org.apache.xmlbeans.impl.store.Locale.count(Locale.java:2049)
    	at org.apache.xmlbeans.impl.store.Xobj.count_elements(Xobj.java:2050)
    	at org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTColsImpl.sizeOfColArray(Unknown Source)
    	- locked <0x00000006e8d5c800> (a org.apache.xmlbeans.impl.store.Locale)
    	at org.apache.poi.xssf.usermodel.helpers.ColumnHelper.addCleanColIntoCols(ColumnHelper.java:115)
    	at org.apache.poi.xssf.usermodel.helpers.ColumnHelper.cleanColumns(ColumnHelper.java:56)
    	at org.apache.poi.xssf.usermodel.helpers.ColumnHelper.<init>(ColumnHelper.java:43)
    	at org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:144)
    	at org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:130)
    	at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:286)
    	at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
    	at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:186)
    	at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:73)
    

    定位到占满cpu的操作,是用poi导入execl ,找到代码处,发现已经限制了导入的excel的大小为1MB,但是没有限制导入频率,这样的话,用户短时间内可以频繁导入数据到系统.

    那么问题来了,频繁导入1MB的excel为什么会导致cpu跑满?拉取了gc日志发现jvm在频繁的ygc,平均几秒就发生一次.并且在分析问题的这段时间,cpu仍然没有下降,占用cpu高的线程仍然在持续,会不会是这几个线程在创建大量对象,导致ygc频繁回收,而且回收的年轻代空间仍然不满足线程的需要,进而引发cpu跑满?
    这是一个很合理的猜测,但是需要事实来证明,在确认这台机器无法自行恢复之后,联系运维先拉取了dump文件,然后重启机器.

    经过了漫长的等待,终于到手了dump文件,分析dump文件后发现,有大量的char[] 和list对象在生成.这个和猜测以及本身定位到的poi代码处实现一致.

    最终问题定位后的描述如下:

    在某个业务场景,报表导入没有频次限制,导致用户可以重复高频次的导入excel到系统,导致系统在用poi解析时,生成了大量的对象,并且poi在最终汇总对象时加了锁,jvm年轻代在回收多次之后仍然不满足线程所需,引发锁自旋,导致cpu跑满.

    问题定位出来了,但是还有一点疑惑,为什么1MB的对象在生产poi对象时,会占用更多的内存呢?

    原来,poi读取excel有两种方式,一种是用户模式,另外一种是事件模式。用户有封装好的方法,使用简单,但是会创建非常多的对象,耗内存,后者用来读取excel,但不用把整个excel加载到内存,减少了至少10倍的内存使用
    在这里插入图片描述
    在这里插入图片描述
    最终的疑惑也解决了,项目中使用的方式都是用户模式,这才导致了大量内存的消耗,接下来该想想如何把项目中的读取模式切换成事件模式了,以防其他地方再次出现今天这样的问题。

    展开全文
  • jQuery 如何实现 某个方法结束后 对这个按钮自动点击一次 并且实现点击功能 不用鼠标点击(就是某个方法会让左边框的选项被选中,然后按钮自动点击,那么这些被选中项就能自动到右边框了) ![图片说明]...
  • 如果要添加新的操作系统内核,你只需要在 TVM 中定义一次即可,而不需要为每个目标执行一次。你不需要知道如何编写 GLSL 代码才能向 WebGL 添加新的内核,因为这一切都能够自动生成。 ▌ 测试基准 在这里,我们...




    翻译 | 林椿眄

    编辑 | 周翔


    2017 年 8 月,华盛顿大学的陈天奇团队发布了 TVM,和 NNVM 一起组成深度学习到各种硬件的完整优化工具链,支持手机、CUDA、OpenCL、Metal、JavaScript 以及其它各种后端,而且用户可以针对这些目标平台用 Python 来进行调优。


    那么到底什么是 TVM 呢?


    陈天奇在论文(https://arxiv.org/pdf/1802.04799.pdf)中解释到,TVM 其实是一个端到端优化堆栈,可以降低和调整深度学习工作负载,以适应多种硬件后端。TVM 的设计目的是分离算法描述、调度和硬件接口。


    此外,TVM 具备两个优化层:计算图优化层;具备新型调度基元的张量优化层。通过结合这两种优化层,TVM 从大部分深度学习框架中获取模型描述,执行高层级和低层级优化,生成特定硬件的后端优化代码,如树莓派、GPU 和基于 FPGA 的专用加速器。


    同一小组的刘洪亮在微博上解释到:“TVM 可以把模型部署到不同硬件,比如群众常问的能不能用 AMD 的 GPU,用 FPGA 怎么搞,TVM 提供这个中间层有效解决这个问题”。


    总的来说,除了比较明显的多硬件支持,更重要的是 TVM 支持相对方便的自动调优和轻量级部署。


    之后,陈天奇团队又发布了基于 TVM 工具链的深度学习编译器 NNVM compiler O(http://www.tvmlang.org/2017/10/06/nnvm-compiler-announcement.html),支持将包括MxNet、Pytorch、Caffe2,、CoreML 等在内的深度学习模型编译部署到硬件上并提供多级别联合优化,速度更快,部署更加轻量级。


    如今,谷歌工程师谈至勋又将 TVM 向前推进了一步:支持 WebGL/OpenGL 平台并可以在浏览器运。也就是说,未来你将不需要写一行 JavaScript 代码,就可以把深度学习模型自动编译生成 WebGL 并且跑在浏览器中 。


    MxNet 的作者李沐评价到,“这是 Mxnet JavaScript frontend 往前的一大进步”。


    以下是此次更新的完整内容解析:


    OpenGL / WebGL 后端支持


    TVM目前已经能够支持多个硬件后端:CPU,GPU,移动设备等......这次我们添加了另一个后端:OpenGL / WebGL。


    OpenGL / WebGL 允许我们能够在未安装 CUDA 的环境中使用 GPU。目前这是在浏览器中使用 GPU 的唯一方式。


    这个新的后端允许我们通过以下 3 种方式使用 OpenGL / WebGL:


    • 本地 OpenGL:我们可以将一个深度学习模型编译成 OpenGL,并直接在本地机器上运行,整个过程只用到了 Python。

    • 带 RPC 的WebGL:我们可以将深度学习模型编译为 WebGL,通过 Emscripten 将其作为一个共享库导出,包含 JavaScript 主机代码和 WebGL 设备代码。然后,我们可以通过 RPC 将这个共享库部署到 TVM JavaScript 运行时间系统(runtime system)中,并在浏览器上运行。

    • 带静态库的 WebGL:我们可以将深度学习模型编译为 WebGL,将其与 TVM JavaScript 运行时间系统相连接,并导出整个包。然后我们就可以不需要任何依赖库,直接在浏览器的网页中运行模型。详细流程如图 1 所示。


    我们通过 Emscripten 及其 fastcomp LLVM 后端来生成 JavaScript 后端。



    图 1


    以下是 3 中使用方式的例子:

    https://github.com/dmlc/nnvm/blob/master/tutorials/from_mxnet_to_we

    bgl.py


    和其他方法有什么不同?


    在浏览器上运行神经网络模型已经不是一件多么新鲜的事了。Andrej Karpathy 提出的ConvNetJS,及 Google 的 DeepLearning.JS 都能够实现这种想法。


    那么,TVM 的 WebGL 有何独特之处呢?最大的区别就在于 TVM 的 WebGL 中操作内核是自动编译的,而不是人工编译的。如图 2 所示,TVM 使用统一的 AST 来定义其内核,并将其编译为用于不同的平台的代码。


    图 2


    这就意味着:


    • 你不需要额外编写大量的代码就可以将现有模型部署到 WebGL 上。NNVM/TVM 模型的定义对于所有的目标来说都是一样的,因此你只需要将其编译到新的目标中。

    • 如果要添加新的操作系统内核,你只需要在 TVM 中定义一次即可,而不需要为每个目标执行一次。你也不需要知道如何编写 GLSL 代码才能向 WebGL 添加新的内核,因为这一切都能够自动生成。


    测试基准


    在这里,我们针对一个典型的工作负载进行了基准测试:使用 resnet18 模型进行图像分类。


    我使用的是一台工作了 5 年的,配备 8 核英特尔酷睿™ i7-3610QM 处理器以及 GTX650M 显卡的笔记本。在基准测试中,我们从 Gluon 模型库里下载了 resnet18 模型,并对猫的图像进行端到端的分类。我们只测量了模型执行时间(这不包含模型/输入/参数的加载),每个模型运行 100 次,最终得到运行时间的平均值,其结果如图3所示。



    图3


    该基准测试在 4 中不同的设置下运行的:


    • CPU(LLVM):模型被编译到 LLVM IR 和 JIT'ed 上,因此它完全运行在 CPU 上。

    • OpenCL:模型被编译到 OpenCL 上。还有一部分的 glue code 编译在 LLVM 上,用于设置并启动 OpenCL 内核。然后我们在本地的机器上运行该模型。

    • OpenGL:和 OpenCL 设置一样,不过模型是被编译到 OpenGL 上。

    • WebGL:glue code 被编译到 LLVM 平台上,进而通过 Emscripten 的 Fastcomp LLVM 后端转换为 Javascript。设备的代码被编译到 WebGL 平台上,我们可以在Firefox 浏览器上运行该模型。


    从以上得到的结果我们可以看到,TVM OpenGL 后端与 OpenCL 有相似的性能。更有意思的是,浏览器中的 WebGL 版本并不比桌面端的 OpenGL 运行效率慢。考虑到主机的代码是 JavaScript 编写的,出现这个现象的确让人惊讶。这可能是由于 Emscripten 生成了 asm.js,使得模型在 Firefox 浏览器中的运行效率得到了显著优化。


    这个更新迈出了将深度学习模型自动编译到浏览器的第一步。我们会为 TVM 堆栈加入更多的优化,期待模型的性能能够得到更多的改进。


    博客地址




    展开全文
  • 好头脑落笔少 2017-10-06 07:41 从删库到路什么意思_mysql删库到路什么梗 从删库到路什么意思,mysql删库...这其实是IT界的一个老梗,一次某论坛的数据库管理员抱怨自己老板一直虐待他,结果他一气之下就删
    好头脑落笔少 2017-10-06 07:41

    从删库到跑路什么意思_mysql删库到跑路什么梗

    从删库到跑路什么意思,mysql删库到跑路什么梗,其实这是IT界的一个老梗了,不过很多网友没有IT的相关知识都不清楚这里面的意思吧!下面为大家带来了相关意思的介绍!

    从删库到跑路什么意思?

    误删mysql库不要紧,binlog数据来帮你,再也不用担心删库要跑路

    这其实是IT界的一个老梗,一次某论坛的数据库管理员抱怨自己老板一直虐待他,结果他一气之下就删库跑路了……于是就有了从删库到跑路这个梗

    mysql删库到跑路什么梗?

    误删mysql库不要紧,binlog数据来帮你,再也不用担心删库要跑路

    其实学习数据库的网友都清楚数据库是可以备份的,但是总是也避免不了运维人员一次失误造成的删库,然后想要跑路。

    不要着急,删了库不要慌,有一种办法可以快速恢复数据!

    MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。成为企业数据库的首选。

    binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中;

    默认存放位置为数据库文件所在目录下

    文件的命名方式: 名称为hostname-bin.xxxxx (重启mysql一次将会自动生成一个新的binlog)

    配置binlog,在配置文件my.cnf中设置,并重启mysql

    误删mysql库不要紧,binlog数据来帮你,再也不用担心删库要跑路

    每一条会修改数据的sql都会记录在binlog中。所以根据binlog可以恢复数据。首先要分析删库时间和数据丢失时间,然后关闭数据库连接,直接从本机导出,例如:导出 "2004-12-25 11:25:56"至"2004-12-25 11:25:56"的binlog数据:

    mysqlbinlog --start-datetime="2004-12-25 11:25:56" --stop-datetime="2004-12-25 11:25:56" mysql-bin.000012 > 000012.sql

    再把所有sql导入到数据库中

    mysql -udbaroot -pdbaroot -h127.0.0.1 -f < 000012.sql

    大功告成,登录数据库发现删除之后发现数据又回来了,是不是不可思议,对于想删库跑路的有想法的年轻人你们可能要遭殃了,很可能公司会把你抓起来揍你 ^*^ 所以还是不要抱有这种思想,安安生生维护服务器吧~!

    展开全文
  • 例如苹果公司,新产品一年一次准时发布,OS X操作系统的更新升级则更为频繁。与此同时,为了满足已经运行新OS X 系统的用户的需求,虚拟机生产商需要跟住苹果公司的步伐,对其软件进行创新与升级。   在虚拟机...
        

    如今,随处可见对着Mac笔记本狂敲的人,Mac因其拥有良好的性能和外观设计广受消费者喜爱,在学生、上班族、甚至中老年人群中都有大批忠实用户。然而,苹果产品封闭的系统无法运行某些开放的软件,这让许多人苦恼不已,“Mac小白”将其当做“傻瓜机”来用,还有人在Mac和Windows操作系统之间痛苦纠结。

     

    从腾讯ISUX用户研究中心调查的数据来看,中国的Mac电脑用户只有66%的人使用OS系统,33%的用户表示一定要安装macOS和Windows双系统才能满足使用,剩余1%的用户无法在本质上区分macOS与Windows系统,只安装了Windows系统。

     

    基于上述市场缺陷,越来越多的软件公司开始提供跨平台服务,不断推出各类虚拟化桌面软件。全球领先的跨平台解决方案供应商Parallels公司也积极抓住了这一机遇,创造性的推出了无需重启便可在Mac上运行Windows应用软件的Parallels Desktop。如今,Parallels Desktop成为了在Mac上运行Windows应用程序销售量最高的软件。

     

    那么,市场上虚拟机软件那么多,Parallels Desktop备受Mac用户喜爱的原因是什么呢?下面来进行分析。

    创新是关键


    众所周知,创新对于企业来说是极其重要的,技术创新和产品创新更是其中的热门话题。例如苹果公司,新产品一年一次准时发布,OS X操作系统的更新升级则更为频繁。与此同时,为了满足已经运行新OS X 系统的用户的需求,虚拟机生产商也需要跟住苹果公司的步伐,对其软件进行创新与升级。

     

    在虚拟机软件的更新方面,Parallels做的是比较好的,产品一年更新一次。8月底,Parallels又在京召开媒体发布会,正式宣布Parallels Desktop 13 for Mac在中国上市。从2015年的Parallels Desktop 11到2016年的Parallels Desktop 12,再到今年的Parallels Desktop 13,Parallels产品的更新速度值得点个赞。

     

    0.png


    但这里所说的创新并非盲目的想象创新,而是能紧跟市场潮流,抓住市场流行趋势来进行。全新发布的Parallels Desktop 13,支持 macOS High Sierra 和即将推出的 Windows 10功能。比如Touch Bar很火热,那么Parallels Desktop 13就将其集成到微软Office办公软件以及Windows常用浏览器中。

    真正地以用户为中心


    作为一款可以让用户在Mac操作系统下直接运行Windows应用软件的工具,如何让每一个使用Mac的用户更为简单、便捷地同时使用两款操作系统是其需要解决的首要问题。

     

    Parallels亚太区总经理Kevin Greely在媒体见面会上表示:“Parallels一直以来都希望在两个操作系统之下进行更好的整合,让用户使用起来更加容易。”

     

    0.jpeg

    Parallels亚太区总经理Kevin Greely


    根据以往的各个版本来看,我们不难发现Parallels一直以来都致力于寻找Mac系统和苹果硬件中有意思的功能,并把这些功能迁移到Windows操作系统中。例如前几年苹果公司推出的Retina屏,Parallels通过与苹果公司的合作确保了Windows7、Windows8、Windows10的操作系统可以完全支持Retina屏的全像素。

     

    根据Parallels全球高级产品经理Kurt Schmucker的现场演示来看,Parallels Desktop 13重点在以下几方面进行了技术融合与创新:

     

    • 其一,Parallels Desktop 13将Touch Bar集成到微软Office办公软件以及Internet Explorer、Microsoft Edge、Google Chrome和Opera等浏览器中。当用户使用Windows“开始”菜单或桌面时,Parallels Desktop 13允许在Touch Bar中固定任务栏元素,同时默认显示Cortana、任务视图和设置。如果默认的一组功能键不够用,Parallels Desktop还支持数千个Windows应用程序自定义常用的Touch Bar操作。

     

    0.png


    • 其二,Parallels Desktop不仅增强了现有的Mac功能,还引入了Windows的一些性能。如Parallels Desktop 13集成了即将推出的 Windows 10 功能 People Bar,方便用户将联系人固定到任务栏。与Windows将People Bar联系人数量限制为三个相比,Mac Dock并不限制常用联系人数量。

     

    • 其三,新版本出现了更多的效率提升工具。如Parallels Desktop 13 中的创新型功能画中画 (PiP) 视图。此功能可用于创建其他可操作的虚拟机窗口,并使其保持在屏幕前端,始终显示窗口,即使有Mac 应用程序处于全屏模式,也不例外。

     

    0.png


    • 除此之外,Parallels Desktop 13的性能也得到大幅提升。例如,外部 SSD驱动器的性能提升高达100%;快照创建速度提升高达50%;在传统机械硬盘上虚拟机处理 Windows 文件的速度提升高达 47%;在Mac上处理 Windows 文件的速度提升高达47%等等。

    不想当将军的士兵不是好士兵


    Parallels Desktop如今是Mac上运行Windows应用程序销售量最高的软件,在全球获得了超过500万活跃用户的支持。可以说,Parallels如今已坐上个人消费虚拟机销量最高的宝座,但Parallels仍有野心,就是冲入企业级市场。

     

    企业级市场对于软件行业提供商来说,始终是一个更加庞大、充满想象空间的领域。如果说个人用户市场主要是解决Mac和Windows之间的平台壁垒问题,那么面对企业级市场,Parallels要解决的事情更加复杂,包括Windows、Mac、iOS、Android、Chromebook、Linux等多平台的程序和文件的跨平台应用。

     

    为了进入企业级市场,Parallels早已开始布局。先是在2015年3月收购应用程序虚拟化、远程应用程序交付和移动设备管理解决方案提供商2X Software,2016年发布Parallels RAS V15,今年又发布了Parallels RAS V16。实际上Parallels已经为企业级用户构想了一个清晰的跨平台应用场景。但Parallels在企业级市场能否延续个人消费市场的辉煌,目前尚且未知。

     

    总体来说,一个企业成长所需的机遇、技术创新与野心,Parallels全部具备了,期待品牌未来的表现。


    0.jpeg


    展开全文
  • 一次mssql手工注入

    千次阅读 2018-04-04 11:56:33
    一次mssql手工注入 记录一次mssql注入的过程,很多都是久的知识,大家当温故而知新吧。 xxxx/xxx?nIDX=122‘ 注入报错,直接sqlmap,但有waf拦截; 只能进行fuzz了,发现select 和 from之间用/**/就可以绕过...
  • 本文来自作者 无敌西瓜黄博文 在 GitChat 上分享 「从跑步小白到马拉松、再到百公里越野的晋级之路」,「阅读原文」查看交流实录。「文末高能」编辑 | 哈比跑步,是最简单的运动。它无需过多装备,双跑鞋...
  • 一次删库路的经历

    千次阅读 2020-02-01 12:56:41
    来源 |大飞码字(BigFly1024)不好意思,有点标题党了,库确实被删了,不过没有路哈。昨天下午看篇程序员的搞笑文章,看到了删库路的段子,然后想起了自己曾经的经历,于是就想写...
  • 本文转载自 量子位 支烟的功夫,GTA 5联机版终于打开了。 「7年了!...原来,R星(游戏开发商RockStar)写的代码太低效,加载时,个if语句竟然循环了19.8亿…. 幕后黑手:谁占用大量时间? 加
  • 作用是把请求放到仅一次里面的时候,不管循环数写几次,放到仅一次控制器里的请求都只跑一次,大部分用在登录,一般就登录一次就可以了,还有jdbc连接 是连接一次就可以了,不用重复连接。 2、If控制器 如果(If...
  • 嵌入式面试全攻略,记我的一次校招

    万次阅读 多人点赞 2017-09-03 20:23:28
    中间还有一件事情,就是在武汉待得时间较长了,想要去剪一次头发,于是手机搜索好不容易找到一家最近的,一看,洗剪吹20,心想,虽然比在学校贵了点,但是还能够接受,但是同学觉得不太对,于是进门的时候问了一句,...
  • 分享我的第一次Selenium自动化测试框架开发过程

    万次阅读 多人点赞 2017-08-19 14:08:40
    由于本人没有Java开发经验,以前虽然学过QTP但从没有接触过Selenium,正好通过这个机会能学习一下自动化测试,同时学习一下基本的Java开发过程。 、首先是搭建框架开发环境 按照网上的方法部署eclipse,建立...
  • JVM 性能调优实战之:一次系统性能瓶颈的寻找过程

    万次阅读 多人点赞 2016-09-20 17:39:18
    第三行同样是一次 young gc,但该次 GC 后已用堆内存反而上升到了 10485760 KB,就是达到最大堆内存,于是该次 young gc 结束的同时触发 full gc。 第四行是一次 old gc (即 full gc),将已用堆内存由 10485760 KB...
  • 1.首先idea这个工具对内存要求高,这里就不多说了,能起来idea的系统,.用个jrebel插件不是什么问题了2.简单说下流程: 首先打开我们的Idea的settings&gt;plugins,右边输入框搜索jrebel,没搜到的同学肯定是没...
  • 再谈一次什么是原型

    万次阅读 多人点赞 2019-12-09 01:08:55
    1.1 - 原型指的是原型属性,原型个对象。 原型指的是两个原型属性: prototype: 显示原型属性 _proto_: 隐式原型属性 所有函数都有显示原型属性。 它的值叫做原型对象,这个原型对象默认有两个属性: ...
  • 一次 Spark SQL 性能提升10倍的经历

    万次阅读 多人点赞 2017-11-27 16:15:18
    嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有个系统给分析师用,他们写一些 sql,在我们的 spark cluster 上。随着分析师越来越多,sql job 越来越多,等待运行的时间越来越长,我们就在想怎么把 sql ...
  • 老生长谈的内容了,就是自己...顺便我在学校写博客的笔记本系统是ubuntu16.04,在实习单位玩的时候用的系统是centos7,两个不同的地方我会尽量说明,当然有些地方我自己不是很清楚就是 编译内核 # 首先當然是去下
  • 自从自己入职稳定以后,就一直在整理自己这段时间自己的经历,想要写...还是给自己个原因吧,有时候确实有很多的东西,而且自己有重点整理,但是当自己去写的时候,就是没有写下去的动力,最后就是在自己的博客草
  • 在图书馆看书的时候,突然...他很和蔼,说不用挂电话,就这样我就出去了。 接下来直奔主题!! 1、你知道BIO和NIO吗? 答:(心里想:上来就问这么难的东西,在搞什么啊)但还是很温柔得说我只知道BIO是B...
  • 一次简单的清理挖矿程序过程-kdevtmpfsi

    千次阅读 热门讨论 2019-12-24 12:05:43
    服务器CPU被满了,是个名为‘kdevtmpfsi’的程序 1:第步要先找到这个kdevtmpfsi文件实体,对了还有个叫ddg.2020的进程。 find / -name kdevtmpfsi#查找后全部删除 #切换到对应目录后删除 rm -f kdevtmpfsi...
  • 踩坑调优,一次cpu引发的调优

    千次阅读 2018-06-01 15:34:24
    紧急处理 问题产生,用户...top一下 找到cpu最高的进程 发现是18463 , 第感觉是代码有问题了,是不是某种条件下有死循环了,或者突然有什么地方出现了大量运算,于是想找出对应线程18463中消耗cpu最高的线程。...
  • ①中的appPackage和appActivity可以使用sdk自带工具aapt获得,详见上文提到的capabilities博文 编写所需要的相关方法 因为手机YY安装好后,会出来欢迎页面,需要按住屏幕向左滑动4,并按下“立即体验...
  • 现在不得不踏实下来,扎实的步步学习。看了大牛徐其华随笔分类 - caffe系列教程,收获颇丰。在这里记录下自己学习训练和测试模型的过程,可以说相关知识是完全来自Caffe学习系列(12):训练和测试自己的图片,只是...
  • 爬虫——记一次破解前端加密详细过程

    万次阅读 多人点赞 2018-08-11 20:21:13
    摘要:工作差不多快一年了,应工作需要爬过各种各样的航空公司网站,...而且可以用JS写解析脚本方便调试,但是用久了才发现这玩意不管是效率还是稳定性都非常差,放到服务器上动不动就挂掉,两三天就需要重启一次。...
  • yolov3训练自己的数据集——第一次实操完整记录

    万次阅读 多人点赞 2019-07-09 19:36:24
    参考: darknet yolo源码解析 bacth参数对性能影响 ...darknet是个轻型的、完全基于C与CUDA的开源深度学习框架,支持CPU和GPU两种计算方式。 darknet优点 完全由c语言实现,没有任何依...
  • 以缓慢放松的步速完成 30 分钟的程 开始以步行为主, 渐变以跑步为主, 简单且循序渐进 开始的 2 英里是最困难的 2 英里,但如果你达到了这个目标的话,其他的一起都会变得更容易。你只需要安排好的时间,耐心...
  • Talk is cheap,show me the demo。MySQL 到底能不能放到 Docker 里?同程旅游目前已经有超过千个 MySQL 实例...说错的理由说了大堆,说对的思想很明确。大家都有道理。但是我本人觉得这样的讨论落地意义不
  • 25匹马分5组,每组比一次。 然后5个组的冠军再比一次。 共进行了6次比赛,结果如下:下载 (2.03 KB)2010-2-4 18:06 其中,红色马是第一名; 绿色马有机会得第二名; 浅蓝色马有机会得第三名; 深蓝色马有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,642
精华内容 58,656
关键字:

一次也不用跑