java
kaisnm
陌上人如玉,公子世无双
展开
-
关于打开文件数查询的问题
这个问题之前困扰了许久,在网上查询了需求也没找到原因,后来在公司博客上看到大佬写的文章,记录在册,以后可用优化后的命令查看打开文件数量。当然也可以直接通过cat /proc/pid/maps | wc -l 查看进程打开的文件句柄关于以下两个命令查询出来结果不一样分析lsof -n | awk ‘{print $2}’ | sort | uniq -c | sort -nr | morelsof -p PID | wc -l原因分析1: lsof 的输出会产生一个 header,这一.原创 2022-05-10 19:42:58 · 361 阅读 · 0 评论 -
优化篇: kafka
kafka是一款消息中间件。作用是*********这里主要说一下kafka的一些参数,本人在生产上遇到过很多kakfa的问题,如参数设置不当造成的内存溢出,占用的句柄数过高等。这里简单介绍几个参数cpu与内存CPU 一般不会是 Kafka 集群的瓶颈。常见的服务器 CPU 都没有问题。kafka对磁盘与内存的操作是很多的,磁盘一般都是顺序读写,用到了页缓存技术(cache page),kafka的.index和.timeIndex文件会映射到mmap中,我的理解就是页缓存里面,所以kafka.原创 2022-04-21 20:21:05 · 3002 阅读 · 0 评论 -
优化篇: zookeeper
zookeeper作用: 主从,选举,配置中心,数据监听…简单来说就是一个存储数据的地方,每个数据变更,能通知到对应的监听者。zookeeper部署上内存 一般4g 就够(视zk的DataTree来)。磁盘由于 Zookeeper 的数据写入磁盘(由于事务性),建议使用 SSD。操作系统上(一般关闭交换区)Zookeeper 的性能会很明显受到交换分区的影响。建议部署 Zookeeper 的服务器关闭交换分区功能或是通过内核参数调整,减少对于交换分区的使用。不建议 Zookeeper 和.原创 2022-04-21 20:04:41 · 2707 阅读 · 0 评论 -
优化篇: 主机内核优化
主机内核优化操作系统初始化或者压测时需要进行参数的修改,以下是各类文档与线上经验的参数总结。如有问题,请指出系统优化参数比如长连接配置,ipv4优化。Linux最大文件限制数 ulimit1)修改当前交互终端的limit值。查询当前终端的文件句柄数: ulimit -n 回车,一般的系统默认的1024。修改文件句柄数为65535,ulimit -n 65535。此时系统的文件句柄数为65535。2)将ulimit 值添加到/etc/profile文件中(适用于有root权限登录的系统) 为原创 2022-03-25 17:05:45 · 157 阅读 · 0 评论 -
Java基础
Java基础工作久了,很多知识点很难串起来,也是一看就忘。在工作中研发的技术组件或在开发过程与生产环境的问题,基本都是之前有了解或者看过类似的博客的,较为零散 。急迫需要整理自己的知识链路。Java基础篇,怎么说呢,就是概念比较多吧,但是在我们敲代码的过程中又一直存在,一份好的代码,免不了抽象,封装,继承等。基础篇,作为复习的指导篇吧。如果文章有问题的话,感谢指出。面向对象的特征有哪些?面向对象是一种思想,主要体现在代码开发模块化易于维护修改、复用性强,代码可读性和灵活性高。5大原则: 单一职原创 2021-06-26 14:04:15 · 180 阅读 · 0 评论 -
关于Java的Type接口
Java的Type接口Class 表示原始类型,其对象表示JVM中的一个类和接口。ParameterizedType 表示多参数化类型如List<String> Map<Integer,String>、Service<User> 带有泛型的。 1. Type getRawType() -- 返回参数化类型的原始类型,例如List<S...原创 2020-04-29 16:02:49 · 338 阅读 · 0 评论 -
Java故障工具与常用排错命令
一、Java虚拟机管理常用命令jps显示指定系统内所有的虚拟机进程jstat收集虚拟机各方面的运行数据jinfo显示虚拟机配置信息jmap虚拟机内存转储快照(dump文件)jhat用于分析dump文件,会建立一个HTTP/HTML服务器,可再浏览器查看jstack显示虚拟机的线程快照·jpsjps可以通过RMI协议查询开启了RMI...原创 2019-03-23 22:44:27 · 516 阅读 · 0 评论 -
几种常见的OOM
测试类 配置VM optionals 参数-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8堆溢出public class HeapOOM { public static void main(String[] args) { List&amp;lt;OOMObject&amp;...原创 2019-01-02 21:55:36 · 2762 阅读 · 1 评论 -
Java的内存区域
Java的内存区域程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程锁执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取吓一跳需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。多线程是通过线程轮流切换并分配处理器执行时间的方式实现的。任意时刻一个处理器只能执行一条线程。如果一个线程正在执行一个Java方法,...原创 2019-01-02 18:41:51 · 116 阅读 · 0 评论 -
freemarker生成word
生成通用的报告模板一、先制作ftl文件(一定要用word,wps生成会有问题)1、先在新建的word中写入模板先在新建的word中写入模板另存为xml文件将xml文件更名为ftl文件更改ftl文件中的内容全局搜索,将变量替换,图片是base64形式的。我们设定了三个变量,title,content,image64二、将ftl文件转成word文件将ftl文件放在src的c...原创 2018-12-29 20:55:37 · 235 阅读 · 0 评论 -
微信支付的两种模式
微信支付的两种模式微信支付分为两种,一种是普通商户模式,一种是服务商模式一、普通商户模式(支付的钱到一个账户上)关于公众号支付、APP支付或H5支付,参数都差不多(有差异,有些是全小写,有些是驼峰)。建议从微信文档上直接复制参数到微信商户平台上开通相对应的支付权限,并拿到对应的参数微信商户平台文档这里以公众号支付为例,直接上代码private WechatPayResponseDt...原创 2018-12-17 14:54:51 · 3794 阅读 · 0 评论 -
记一次生产环境MySQL删库经历
记一次生产环境MySQL删库经历虽然是在几个月前发生的事情,但是还是记忆尤新,分享心得,引以为戒。heidisql工具在备份RDS的时候正常来说是不会有问题的,但是在当时在执行此操作的时候发生了问题,在进行sql备份的时候从生产的RDS导入到另外一个RDS上,出现了权限错误,导致生产的数据库表被删除。在我们自己的数据库导来导去都不会出现问题。后面也做了测试,如果使用高权限账号是没有问题的(坑...原创 2018-12-15 21:43:44 · 724 阅读 · 0 评论 -
Java树形结构
mysql取表结构,java树形结构,递归原创 2017-12-23 20:00:30 · 17738 阅读 · 0 评论