美文网首页
java相关

java相关

作者: xiaoxf | 来源:发表于2019-07-12 23:31 被阅读0次

gitlab启动 / 关闭 / 重启命令:gitlab-ctl start / stop / restart

多线程问题

* 多个线程调用同一个类的同一静态方法,或者调用同一对象的同一方法,在方法中没有引用外部变量时,不会有多线程问题。

java进程cpu占用过高问题排查

1. top(显示进程所有进程,找出占用cpu高的java进程)

2. ps -mp pid -o THREAD,tid,time (找出进程下占用cpu高的线程)

3. printf "%x\n" tid (将线程id转成16进制)

4. jstack pid |grep tid -A 30 (打印线程的堆栈信息)

查看java进程启动参数命令

1. jcmd pid VM.flags

2. jinfo -flags pid

jvm常用启动参数

java -jar -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=512k example-0.0.1-SNAPSHOT.jar

线上服务器问题排查

https://fredal.xin/java-error-check 

java进程没了,可能因为系统内存不够被linux杀掉。cat /var/log/message |grep 'Out of memory'

线程池执行任务逻辑和线程池参数关系

corePoolSize:核心线程数量

maximumPoolSize:线程池最大数量

keepAliveTime:空间线程存活时间

workQueue:线程池缓冲队列

threadFactory:线程池创建线程使用的工厂

handler:线程池对拒绝任务的处理策略

线程池执行任务逻辑

单个controller请求数及响应时间参考(controller逻辑很简单,直接返回字符串):

请求数        请求耗时       平均单次请求耗时(s)

10000            2.91                 0.000291

100000          17.9                 0.000179

1000000        175.72             0.000175

java锁

锁的存储:存储在对象头信息里

锁的类型:

偏向锁:不存在锁竞争时采用,默认关闭。

轻量级锁:不存在锁竞争时采用的锁。

重量级锁:存在锁竞争采用。

解决hash冲突方法

hash冲突:多个不同的key通过hash函数运算之后落到同一个数组下标

假设下标为i

1. 线性探索(开放寻址法)。若下标i有数据,则判断i+1是否有数据,无数据将数据存入i+1,否则判断i+2 .... eg: ThreadLocal

2. 链式地址法。下标冲突的地方采用链表结构存储数据。eg: HashMap

3. 再hash(通过多个hash函数运算)eg: 布隆过滤器(底层采用bitMap实现)

4. 建立公共溢出区(把hash表分为基本表和溢出表,发生冲突的数据存入溢出表中)

相关文章

  • Nothing seek,Nothing find

    美图欣赏 Java、Android知识点汇集 Java集合类 ** Java集合相关的博客** java面试相关 ...

  • Android 高级面试-3:语言相关

    主要内容:Kotlin, Java, RxJava, 多线程/并发, 集合 1、Java 相关 1.1 缓存相关 ...

  • java相关

    18.9.41、HashMap转ListList > list_Data = new ArrayList >(ma...

  • java相关

    java运算符优先级 口诀:单目乘除位关系,逻辑三目后赋值 运算符描述单目运算+ –(负数) ++ -- 等乘除*...

  • Java相关

    Java容器底层原理 Java高并发内容 JVM 一. 容器底层原理 ArrayList由数组实现,初始化数组长度...

  • java 相关

    1.使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句 spring.j...

  • Java相关

    一小时搞明白自定义注解 Annotation(注解)就是 Java 提供了一种元程序中的元素关联任何信息和着任何元...

  • java相关

    gitlab启动 / 关闭 / 重启命令:gitlab-ctl start / stop / restart 多线...

  • Java相关

    JDK (Jdk 8.0之前版本包含JRE) Java开发和运行环境 JRE java运行环境 Server JR...

  • Java 相关

    线程池 并发类 HotSpot 虚拟机小结

网友评论

      本文标题:java相关

      本文链接:https://www.haomeiwen.com/subject/nxvukctx.html