精华内容
下载资源
问答
  •  jdk自带jvm监控工具: jvisualvm 需要下载插件即可监视visual GC    为什么要jvm调优?  减少stw(stop the world)时间。减少full GC次数,甚至不让其发生fullGC。    将年轻代大小设置大一点,...

            
            
            JVM虚拟机学习:
            
                jvm内存区域:
                            
                        堆:
                        
                        栈(线程):线程栈,为每一个线程在栈里面分配内存空间。每一个线程分配一个栈内存空间,同时一个线程中的一个方法又会在这个栈内存空间站细粒度的分配一个栈帧空间。
                                  局部变量在使用完成之后会销毁给其分配的内存空间。
                                  
                                  线程中用new出来的对象、或者其他对象,会在栈里面存储该对象在堆里面的地址信息,也就是堆对象的指针
                            
                        本地方法栈: 
                        
                        方法区(元空间):
                        
                        程序计数器:每一个线程运行时都会在栈内存中分配一块程序技计数器的内存,程序计数器用来记录程序运行到哪个位置,或者说哪一行。
                        
                        为什么要设计程序计数器或者说程序计数器的作用是什么?
                        
                        程序计数器的作用是记录他所对应的线程的执行位置。在多线程的情况下,有可能该线程未执行完毕就被挂起(如wait:),在他重新分配到cpu的时候从程序计数器里面读取到
                        它之前执行到的位置,再继续执行。
                        
                        字节码存储引擎会去修改程序计数器中的值。
                        
                        
                        
                native修饰的方法是本地方法,使用c++写的。调用本地方法时调用的是dll文件。如果调用到了本地方法会在本地方法栈中分配一块空间
                
                
                GCROOTS:线程栈的本地变量、静态变量,本地方法栈的变量等。
                
                >> 相当于除以2取下整。   3 >> 2 = 1 
                << 相当于左移动一位。   转换为2进制再向左边移动一位
                
                jdk自带的jvm监控工具: jvisualvm 需要下载插件即可监视visual GC
                
                为什么要jvm调优?
                    减少stw(stop the world)的时间。减少full GC的次数,甚至不让其发生fullGC。
                    
                    将年轻代的大小设置大一点,保持让其每次minor GC移动到survival区的数据量的大小不到survival区大小的一半,就能够尽量的减少full GC的次数。
                    
                
                如果survival区中的对象大小超过了survival区大小的一半,就会直接将其放入老年代。
                
                
                
                jmm:
                
                    一个线程 + 线程的缓存区 + 主内存(可以理解问栈或者堆))
                    
                    多个线程中的同一个对象数据都是通过对主内存中的数据进行copy,放在线程的缓存区的。
                    
                    如果有一个线程对该数据进行了修改,会先修改线程缓存中的值然后在写会主内存,其他线程读取的数据还是原来的数据,此时就会造成数据不一致性。
                    
                    
                解决方案一: 总线加锁。对经过总线的每一个数据加锁。缺点:多线程读写的时候,只有一条线程能同时对这个数据进行操作。
                
                解决方案二:volatile关键字。
                
                            1.每个jmm会对总线上进行监听,只要线程缓存中的数据有变化就会将jmm缓存区中的数据设置为失效,重新去主内存中获取。
                            2.遵循MESI缓存一致协议
                            3.每一个线程都是在store的时候将数据加锁。
                            
                jmm内存数据的获取: read -> load ->use ->(if change) -> store(volatile会对对象进行lock) -> write
                
                    
                    
                
                

    展开全文
  • svn仓库提交监听工具

    千次阅读 2012-09-15 16:16:43
    当你的svn仓库有人提交代码时会得到通知,常见的配置有svn用户名、密码、你要监听的svn仓库或者是具体的项目,通常都不会去监听自己的提交,所以还可以指定那些人的提交不通知。 google搜索CommitMonitor。

    当你的svn仓库有人提交代码时会得到通知,常见的配置有svn用户名、密码、你要监听的svn仓库或者是具体的项目,通常都不会去监听自己的提交,所以还可以指定那些人的提交不通知。

    • google搜索CommitMonitor。
    展开全文
  • 构建工具将源代码转换成可执行javascript、css、html代码,包括 代码转换:将TS转换成JS,将SCSS、LESS编译成CSS等。 文件优化:压缩JS、CSS、html代码,压缩合并图片等。 代码分割:提取多个页面公共代码,提取...

    构建工具将源代码转换成可执行的javascript、css、html代码,包括
    代码转换:将TS转换成JS,将SCSS、LESS编译成CSS等。
    文件优化:压缩JS、CSS、html代码,压缩合并图片等。
    代码分割:提取多个页面的公共代码,提取首屏不需要执行部分的代码让其异步加载。
    模块合并:在采用模块化的项目里会有许多个模块和文件,需要通过构建功能将模块分类合并成一个文件。
    自动刷新:监听本地源代码的变化,自动重新构建、刷新浏览器。
    代码校验:在代码被提交到仓库前,需要校验代码是否符合规范,以及单元测试是否通过。
    自动发布:更新代码后,自动构建出线上发布代码并传输给发布系统。
    构建其实就是工程化、自动化思想在前端开发中的体现,将一系列流程用代码去实现,让代码自动化地执行这一系列复杂的流程。
    历史上先后出现了一系列构建工具,他们各有各的优缺点。

    1.NPM Script
    Npm是node安装时候自带的包管理器,Npm Script是Npm内置的一个功能,允许在package.json文件里使用scripts字段定义任务:
    {
    "scripts":{
    "dev":"node dev.js"
    }
    }
    NPM Script的优点是内置,无需安装其他依赖。缺点是功能太简单,虽然提供了pre和post两个钩子,但是不能方便的管理多个任务之间的依赖。

    2.Grunt
    Grunt(https://gruntjs.com)和Npm Script类似,也是一个任务执行者。Grunt有大量现成的插件封装了常见的任务,也能管理任务之间的依赖关系,自动化地执行依赖的任务,每个任务的具体执行代码和依赖关系写在配置文件Gruntfile.js里
    Grunt的优点是:
    灵活,它只负责执行我们定义的任务
    大量的可复用插件封装好了常见的构建任务。
    Grunt的缺点是集成度不高,要写很多配置后才可以用,无法做到开 箱即用。
    Grunt相当于进化版的NPM Script,它的诞生其实是为了弥补NPM Script的不足。

    3.gulp
    gulp是一个基于流的自动化构建工具。除了可以管理和执行任务,还支持监听文件、读写文件。gulp被设计的非常简单,只通过下面5种方法就可以支持几乎所有构建场景:
    通过gulp.task注册一个任务
    通过gulp.run执行任务
    通过gulp.watch监听文件的变化
    听过gulp.src读取文件
    通过gulp.dest写文件
    gulp的最大特点是引入了流的概念,同时提供了一系列常用的插件去处理流,流可以在插件之间传递.
    gulp的优点是好用又不失灵活,即可以单独完成构建,也可以和其他工具搭配使用.
    缺点和grunt类似,集成度不高,要写很多配置后才能使用,无法做到开箱即用
    可以把gulp看作grunt的加强版。相对于grunt,gulp增加了监听文件、读写文件、流式处理的功能。

    4.Fis3
    Fis3是来自百度的国产构建工具,相对于grunt,gulp这些只提供了基本功能的工具,Fis3集成了web开发中常用的购将功能,
    读写文件:通过fis.match读文件,release配置文件的输出路径
    资源定位:解析文件之间的依赖关系和文件位置。
    文件指纹:在通过useHash配置输出文件时为文件Url加上md5戳,来优化浏览器的缓存。
    文件编译:通过parser配置文件解析器做文件转换,例如将ES6编译成ES5。
    压缩资源:通过optimizer配置文件压缩方法
    图片合并:通过spriter配置合并CSS里导入的图片到一个文件中,来减少HTTP请求数。
    Fis3的优点是集成了各种web开发所需的构建功能,配置简单、开箱即用。
    缺点是官方不在更新和维护,不支持最新版本的node.js
    Fis3是一种专注于web开发的完整解决方案,如果将grunt、gulp比作汽车的发动机,那可以将Fis3比作一辆完整汽车。

    5.Webpack
    webpack是一个打包模块化JS的工具,在webpack里一切文件都是模块,通过loader转换文件,通过plugin注入钩子,最后输出由多个模块组合成的文件。webpack专注于构建模块化项目。
    一切文件如JS、CSS、SCSS、图片、模板,对于webpack来说都是一个个模块,这样的好处是能够清晰的描述各个模块之间的依赖关系,以方便webpack对模块进行组合和打包。经过webpack的处理,最终会输出浏览器能使用的静态资源。
    webpack具有很大的灵活性,能配置处理文件的方式,使用方法大致如下:
    module.exports = {
    entry: './app.js',
    output: {
    filename: 'bundle.js'
    }
    }
    webpack的优点是:
    专注于处理模块化的项目,能做到开箱即用,一步到位
    可以通过plugin扩展,完整好用又不失灵活
    使用场景不局限于web开发
    社区庞大活跃,经常引入紧跟时代发展的新特性,能为大多数场景找到已有的开源扩展
    良好的开发体验
    webpack的缺点是只能用于采用模块化开发的项目。
    6.Rollup
    Rollup是一个和webpack很类似但专注于ES6的模块打包工具,它的亮点在于,能针对ES6源码进行Tree Shaking,以去除那些已被定义但没使用的代码并进行Scope Hoisting(作用域提升),以减小输出文件的大小和提升运行性能。然而Rollup的这些亮点随后就被webpack模仿和实现。由于rollup的方法和webpack差不多,所以说一下他们的差别:
    Rollup是在Webpack流行后出现的替代品
    Rollup生态链不完整,体验不如Webpack
    Rollup的功能不如webpack完善,但其配置和使用更简单
    Rollup不支持Code Spliting,但好处是在打包出来的代码中没有webpack那段代码的加载、执行和缓存的代码。
    Rollup在用于打包JS代码库时比webpack更有优势,因为其打包出来的代码更小、更快。但它的功能不够完善,在很多场景下找不到现成的解决方案。

    为什么选择Webpack?
    NPM Screipt和Grunt时代,web开发要做的事情变多,流程复杂,自动化思想被引入,用于简化流程。
    在Glup时代,开始出现一些新语言用于提高开发效率,流失处理思想的出现是为了简化文件转换的流程,例如将ES6转化为ES5
    在Webpack时代,由于单页应用的流行,网页的功能和实现代码变得复杂、庞大,web开发向模块化改进。

    这些构建工具都有各自的定位和专注点,它们之间既可以单独完成任务,也可以互相搭配来弥补各自的不足。在了解这些常见的构建工具后,我们需要根据自己的需求去判断应该如何选择和搭配它们才能更好的满足自己的需求。
    经过多年发展,webpack已经成为构建工具中的首选,这是有原因的:
    大多数团队在开发新项目时,会采用紧跟时代的技术,这些技术几乎都会采用“模块化+新语言+新框架”,webpack可以为这些新项目提供一站式的解决方案。
    webpack有良好的生态链和维护团队,能提供良好的开发体验并保证质量。
    webpack被全世界大量的web开发者使用和验证,能找到各个层面所需的教程和经验分享。

    转载于:https://www.cnblogs.com/ichiha/p/10473912.html

    展开全文
  • 关于canal和本文原文请查看文章:监听MySQLbinlog日志工具分析MaxwellMaxwell是一个能实时读取MySQL二进制日志binlog,并生成JSON格式消息,作为生产者发送给Kafka、RabbitMQ等中间件应用程序。它的常见应用...

    关于canal和本文的原文请查看文章:监听MySQL的binlog日志工具分析

    Maxwell

    Maxwell是一个能实时读取MySQL二进制日志binlog,并生成JSON格式的消息,作为生产者发送给Kafka、RabbitMQ等中间件的应用程序。它的常见应用场景有ETL、缓存构建、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。

    官网:http://maxwells-daemon.io

    GitHub:https://github.com/zendesk/maxwell

    Maxwell主要提供了下列功能:

    1. 支持SELECT * FROM table的方式进行全量数据初始化
    2. 支持在主库发生failover后,自动恢复binlog位置(GTID)
    3. 可以对数据进行分区,解决数据倾斜问题,发送到Kafka的数据支持库、表、列等级别的数据分区
    4. 工作方式是伪装为slave,接收binlog events,然后根据schema信息拼装,可以接受ddl、xid、row等event

    Canal、Maxwell、mysql_streamer对比

    从上文的介绍,可知:Canal由Java开发,分为服务端和客户端,拥有众多的衍生应用,性能稳定,功能强大;Canal需要自己编写客户端来消费Canal解析到的数据。

    Maxwell相对于Canal的优势是部署使用简单,基本不需要复杂的配置。它直接将数据变更输出为json字符串,不需要再编写客户端。对于缺乏基础建设,短时间内需要快速迭代的项目和公司比较合适。

    b792d0b1b8705b049cb0a2d456881ff0.png

    关注 微信公众号:大数据学习与分享,获取更多技术干货

    展开全文
  • 常见测试工具识别

    2021-01-18 16:20:52
    Cobalt Strike 一款以Metasploit为基础GUI框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,exe、powershell木马生成等。 钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器...
  • 1:Appium AppUI自动化测试 Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或...当收到客户端连接后,就会监听到命令,然后在移动设备上执行这些命...
  • -s :指定监听的数据包大小。 -c:指定要抓取最终数量。 -i:指定tcpdump要监听的接口。 -n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。 -nn:除了-n之外,还把端口显示为...
  • 一、 Appium AppUI自动化测试 Appium 是一个移动端自动化...当收到客户端连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在 HTTP 响应中返还给客户端。 二 、Selenium WebUI自动化
  • tcpdump工具的使用方法与常见选项

    千次阅读 2018-05-30 18:52:17
    tcpdump可以将网路中传送数据包“头”完全截获下来提供分析。支持对网络层、协议、主机、网络或端口过滤,并提供and、or、not等逻辑... 指定监听的网络接口。 -nn IP和端口均以数字形式显示。 -c 在...
  • kafka投入生产使用后,需要借助一些管理(监控)工具。目前这类工具有很多种,具体如下表:监控工具特点备注Kafka Web ...Kafka Manager实现broker级常见的jmx监控,可以对consumer消费进度进行监控,可以web对多...
  • Android 基于NetworkCallback的...在Android API 28以前,如果需要监听网络状态来做一些操作的话,我用的是广播监听,也就是常见的android.net.conn.CONNECTIVITY_CHANGE,而现在。。。看着一堆的/** @deprecated ...
  • 关于Oracle本地连接出现与监听有关的问题的解决方法探讨 监听的作用: ...Oracle连接出现常见的几种与监听有关的问题:: 1、无监听 1)一般是监听出现没有启动造成。 解决方法: 工具...
  • VisualVM是一个资源分析工具,一直从JDK 6更新到7,它默认内存和CPU监视,它可以告诉你哪个类和方法消耗资源,但它不会显示代码流程。 2.JProfiler JProfiler很容易安装,并且通过向导,你可以选择应用服务器...
  • 第一种:监听程序无法识别连接描述中服务 找到文件“\Oracle\Product\10.2.0\db_1\network\ADMIN\listener.ora”加入下面内容 SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_...
  • 设置USB数据监听

    2017-02-28 10:54:00
    常见的鼠标、键盘、U盘都是通过USB接口传输数据。所以,对于USB接口也可以实施监听,类似网络接口一样。在进行USB数据监听的时候,首先需要加载usbmon模块,否则无法监听USB接口。然后启用嗅探工具进行USB监听,如...
  • 接收到客户端连接后,它将监听命令,然后在移动设备上执行这些命令,最后在HTTP响应中将执行结果返回给客户端。 二Selenium Selenium是用于Web应用程序测试的工具。硒测试直接在浏览器中运行,就像实际
  • TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS。本文主要讲述了Oracle数据库TNS常见错误...在添加之前可能需要把所有的监听器先
  • 我也针对常见的对音量方面的需求做了一个小工具,欢迎大家使用、指正。2018年9月6日更新:1.【修正】——App从后台切到前台时【AVPlayerItemDidPlayToEndTimeNotification】通知被无故调用的问题;2.【修正】——在...
  • 之后还会陆续整理搜集,这些都是在雷电模拟器开源中遇到的常见问题和使用技巧,如果觉得好就顶起,让更多雷电小伙伴们得到帮助!雷电命令[*]雷电安卓模拟器命令行整理贴dnconsole/ldconsole[*]绝对稳定雷电ld.exe...
  • 1、ORA-12541:TNS:没有监听器  原因:没有启动监听器或者监听器损坏。...如果是后者,则使用“Net8 Configuration Assistant”工具向导之“监听程序配置”增加一个监听器...在添加之前可能需要把所有的监听器先删除!)
  • java常见的排查方法

    2019-06-16 18:02:58
    在解决问题同时,有一些工具起到了相当大作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。 闲话不多说...
  • zabbix启动后无监听端口和进程

    千次阅读 2019-05-18 17:47:23
    zabbix启动后无监听端口和进程zabbix简介zabbix成功启动...附: SNMP(udp 161 udp 162)众多网络工具都支持此协议,比如常见路由交换,常见 OS其既可以做管理端也可以做被管理端snmp 协议大致有 3 个版本分别是 v1 v2...
  • hacker常见的攻击手段

    2018-01-30 16:47:15
    获取口令 放置特洛伊木马程序 ...特洛伊木马程序可以直接侵入用户电脑并进行破坏,它常被伪装成工具程序或是游戏 等,诱惑用户打开带有特洛伊木马程序邮件附件或从网上直接下载。 一旦用户打开
  • 虚拟DOM核心思想是:对复杂文档DOM结构,提供一种方便的工具,进行最小化地DOM操作。 2.如何理解vue中MVVM模式? MVVM全称是Model-View-ViewModel;vue是以数据为驱动,一旦创建dom和数据就保持同步,每当...
  • 1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。...如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器...在添加之前可能需要把所有的监听器先删!)2、ORA-1...
  • 本文主要讲述了Oracle数据库TNS常见错误解决方法如下:1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出...
  • netcat工具的使用

    2016-04-09 22:26:00
    用途:网络管理工具。 可以读,写TCP或UDP 网络连接。简写为:nc 常见参数: -h 帮助信息 -l 坚挺模式 -n 指定IP地址 -p 指定端口号 -v 详细输出 1 客户端:很容易建立一个客户端/服务器模式。 eg:$nc -l ...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 371
精华内容 148
关键字:

常见的监听工具