`
beck5859509
  • 浏览: 110535 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表

ASM

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"于公司jvm智能分析平台的思考 引子 在讲述主题之前,先看一下之前遇到的几个问题 1、问题一 2、问题二 3、问题三 url1 url2 url3 目前公司缺少一个jvm智能分析平台,在遇到一些比较难定位的问题时,往往只能查看日志,或者临时添加日志,但也会带来一些麻烦,比如日志量过大,进程重启问题不必现等,又或者只能反复jstack进行问题猜测,但效果也不理想。 jvm智能分析平台的特点。 1、动态 ...
1、磁盘不够 2、敏感词不匹配的问题 3、消息体打印的问题 4、redis消息体资源优化的问题 bootstrap https://www.bootcss.com/ file:///D:/文档/jvm/bootstrap-4.0.0/docs/4.0/examples/checkout/index.html vue https://www.cnblogs.com/taylorchen/p/6083099.html A机器防火墙设置禁止访问地址B 1、/etc/sysconfig/iptables 中添加 -A INPUT -s 10.1.1.53/32 -j DROP -A INPUT ...
引言 RPC框架对于一个公司的系统来讲应该是一种非常重要的基础能力,承载各系统之间的各种远程调用,比如公司的HSF、TR。如何也实现一个简单的RPC框架,这个通常需要借助一些网络通信框架来实现,自己基于socket的编写实现从时间成本,稳定性上来讲并不推荐。JAVA应用借助比较流行的netty或者JVM自带的RMI来实现,而C应用可以利用像libevent库进行构建。 netty的优势 netty作为后起之秀,借鉴了很多前者优秀的经验。它是基于java nio包扩展的一个高性能高并发的异步网络通信框架,对比原来的java io包,做了很多的改进。最大的变化在于编程模型的改变,原来的输入输 ...
引言 直播后台包括信令服务及流媒体服务。信令服务主要接收外部业务请求,进而控制流媒体的行为(包括创建/停止频道、转码、录制等),本文主要讨论流媒体的工作原理。 一、目的 很容易想到的是数据分发功能,解决观看带宽问题。但实际上还包括了一系列的可扩展功能,比如后台统一转码,视频录制以及流状态控制(外部审核)。 二、RTMP(直播后台核心逻辑) 直播采用的是RTMP协议进行传输数据,不仅包括客户端与服务端之间音视频传输(直播/观看),也包括服务端各节点之间数据的传输。按照实际使用经验,RMTP直播效果优于hls、http/flv,延迟在1-2秒左右。 RTMP包含一系统AMF命令: ...
本文主要介绍我在压缩解压文件的过程中遇到的一些共性问题。 起因:       文件压缩后,文件接收端自然会进行解压,这里的解压需要根据文件压缩的方式来进行区分。比如文件是按字符压缩还是字节压缩,不过无论是哪种压缩方式。其解压的总体思路大同小意。     比如按照zip方式压缩。首先创建文件输入流,接着读取输入流,然后再写入输出流中。      InputStream input = zipFile.getInputStream(entry); OutputStream output = new FileOutputStream(outFile); ...
1.项目中很多批量插入使用for去逐个调用数据库,此方法会严重造成数据库连接瓶颈。采用mybatis的批插操作 <select id="batchSave" parameterType="java.util.List">   INSERT INTO TABLE_NAME(ID,NAME) VALUES       <foreach collection="list"  item="itm" separator=",">              (#{itm.id},#{i ...
    上一小节跟我一起学习C(指针篇1)介绍了指针的基本用法及原理,这章主要介绍C对内存分配的管理。写到这里大家自然会联想到JVM运行时的内存分配,C程序会不会也像JAVA一样类似的处理方式呢?          JAVA内存管理     每个JVM程序在启动时根据脚本参数设置内存大小。主要设置堆大小(-Xmx、-Xms设置)、非堆大小(-PermSize、-MaxPermSize),以及内存回收策略(并行UseParallelGC、并发CMS)。     以并行回收为例:     程序中new出来的对象存放在堆区。jconsole下截图     静态数据、字符串常量、class方法 ...
引言:      论坛中有一篇博客描述了linux代理的设置,出于好奇我也设置了一把。因为那篇文章描述比较简洁,所以我把详细的步骤贴出来,希望对大家有帮助。     场景使用:      内网中的linux连不了外网,而自己的windows可以。windows与linux网络互通。      操作步骤:      1.windows上下载代理工具,工具很多,这里选择下载kangle      2.安装下载包,并设置代理端口。        配置路径:C:\Program Files (x86)\bangteng\kangle-proxy\etc\config.xml        比如修改 ...
序言:     最近对C比较感兴趣(以前一直用JAVA),发现很多JAVA的特性,底层都是用的C思想实现的(比如String),打算把近期学习的整理成一个系列,因边学边写,有不妥的地方,欢迎各位看官一起讨论。      由于JAVA基本语法(数据类型、循环控制、函数(方法声明)都类似,所以不罗列这部分内容,主要讲解C与JAVA的不同点。中间会穿插一此JAVA的场景,并与此做对比。      本章介绍指针。      先看一个字符指针的例子。这个例子测试的目地是打印指针P的地址,指针P地址里面的内容,以及指针P所指向的内容。 char *p = "hel ...
引言:FTP作为项目中传输、共享文件的利器,是在工作中必须掌握的。下面介绍如何在windows和linux下搭建ftp服务器。 Windows:     windows(win 7)下搭建比较简单。都是GUI界面的,设置IP,端口,文件目录即可,以下为主要搭建的图示步骤。     1.确保勾选图示中红框项。告诉windows打开ftp功能,并可以在iis控制台设置。     2.在“计算机管理中”新建FTP站点。     3.一般设置匿名用户登录,根据需要设置读写权限。   Linux: 可上外网情况:     Linux(redhat)可以上外网,则使用如下命令安装即可 ...
   引言:windows下C的开发工具很多,比如CodeBlocks,Dev-C++,VC6等。CodeBlocks需要依赖编译器MinGW。Dev-C++没有自动提示,使用起来不方便。下面介绍一下eclipse中使用CDT进行C语言开发,毕竟很多快捷键是可以重用,而且也不用改变开发界面风格。     配置步骤:     1.下载MinGW,此处使用的版本为5.1.6(CSDN上面下载MinGW-5.1.6.rar)。     2.安装MinGW很简单,惟一要注意的是安装路径中不能包含空格,比如安装在Program Files目录下,后面使用会报错。     3.配置MinGW的环境变量 ...
    在Spring初始化bean的步骤中,有一步执行前缀/后置初始化的处理(BeanPostProcessor)的逻辑。这为我们提供了扩展Bean的功能,IOC的强大功能就在于此。     在讲解之前,这里要说一下InitializingBean和BeanPostProcessor的区别,必免混淆。两个接口都可以执行bean初始化前置处理的功能。区别在于InitializingBean是目标Bean主动实现的接口(常用业务逻辑可以写在里面),而BeanPostProcessor是由BeanFatotry在Bean初始化时把Bean作为参数传入BeanPostProcessor执行的(具体B ...
问:如何让新加文件(文件夹)自动继承父文件夹的权限。 答:linux除了普通的UGO(user:group:other)权限模型,实际上还有对应的suid,sgid,sticky权限。我们可以给父文件夹赋予sgid权限。则可以达到我们想要的效果。如下所示: 新建一个用户(user1)级用户组(group2),并且把用户加入用户组。 新建一个文件夹folder1,并给文件夹添加用户组(group2)。 新加文件夹的读写执行权限。 切换到user1用户,并进入到folder1目录, 新建一个a.txt文件,此时用户组为user1。 切换到root用户,给folder1文件夹添加sgid权限, ...
  内部类一直比较神秘,尤其是加上private、static修饰符以后,更加使人迷惑。但是看很多JDK源码里面都采用了此种设计。比如:ReferenceQueue中的lock、LinkedHashMap中的Entry。感兴趣的同学可以看一下这部份源码。     首先看一个例 ...

优秀文章转载

git常用命令 git clone 代码分支 git status 查看当前分支状态 本地和远程分支进行绑定 git checkout -b remotes/origin/xxxx-branch xxxx-branch update代码前先进行stash git stash git pull git stash pop --提交代码-- git add . 添加修改的文件至index区、或者添加未追踪的文件至index区域 git commit -m "提交注释" 提交文件 -- ---合并分支---先merge主干分支,发布上线后,再切换到主干分支,合并最新分 ...
Global site tag (gtag.js) - Google Analytics