程序设计

程序运行时CPU异常排查

1.top查看CPU高的进程 2.java程序可以打印线程栈 3.java可以看线程的CPU排高的线程 4.如果是同一个线程CPU占比高,则多次打印该线程栈 5.找到多次线程栈的共同方法 6.代码中排查该方法,找出死循环问题 7....

ES搜索nested类型错误

参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html#nested-fields-array-objects   The nested type is a specialised version of the object data type that al...

软件质量模型五大特性27小特性

一、功能性: 1、适合性:软件是否提供了相应的功能 2、准确性:软件提供的功能是否正确(用户需要的) 3、互操作性:产品与产品之间交互数据的能力,例如word对其他文档的支持能力 4、保密安全性:允许经...

常用数据库选型对比

影响数据库选择的因素 数据量:是否海量数据,单表数据量太大会考验数据库的性能 数据结构:结构化 (每条记录的结构都一样) 还是非结构化的 (不同记录的结构可以不一样) 是否宽表:一条记录是 10 个域...

MessageDigest的并发问题

问题描述 在程序中采用了静态变量的方式实例化了MessageDigest private static MessageDigest CRYPT = null; static { try { CRYPT = MessageDigest.getInstance("SHA-1"); ...

前后端对Long型的理解

问题描述 在当前前后端分离的项目中,前端以接口的形式向后端请求数据,遇到后端服务使用长整型(Long)存储数据,为了避免数据重复,特意在这个长整型上增加了一位标识位,因此此长整型固定长度18位(十进制)...

Arthas – java线上问题处理终极利器

前言 在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出...

微信机器人之开发体验

前言 目前在公司中的消息通知大部分使用邮件、短信、钉钉、App通知、websocket通知、微信企业版等等,针对于QQ和微信这种目前使用量较大的工具,通知机制并不完善。当然,主要是TX本身的功能要求决定了无法做类...

Synchronized内容总结(三)

前面两部分谈到多线程对内部锁的优化,以及代码中对锁的优化。是从减少竞态的角度来优化程序的。如果从提高线程执行效率,来对多线程程序进行优化,自然让人联想到了线程池技术。 基本概念与原理 Java 线程池会...