java
Spring_java_gg
通常程序员的一生都把双手和双眼分别奉献给了键盘和显示屏,但是我们坚信我们会把枯燥无味的代码能给人们的生活在一定程度上提供更大的帮助。
展开
-
java常见内存溢出情形
虚拟机栈溢出(如果虚拟机在扩展时无法申请到足够的内存空间将抛出OutOfMemoryError)package com.jvm.memory;import java.util.ArrayList;import java.util.List;public class HeapOOM { /** * VM 运行时参数 -Xms20m -Xmx20m -XX:+HeapDumpOnOu原创 2014-12-30 21:08:13 · 2062 阅读 · 0 评论 -
java原生序列化慢在哪里?
Java原生序列化和二进制序列化性能比较序列化速度package com.clq.netty.serializable;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.io.Serializable;im...原创 2018-07-20 16:42:29 · 1952 阅读 · 0 评论 -
基于注解的日志实现
aop-log随着公司业务逻辑逐渐复杂,越来越多的项目采用了前后端分离进行开发,提高了开发效率,但是无形中增加了沟通和调试成本。故开发人员在代码中采用了打印前端或者终端传递过来参数信息,这样当出现问题时能够排查和说明问题出在何处。aop-log就是出于这样一种使用场景而出现。总共两种注解形式,一种是:注解加在Controller上时,能够把所有的请求参数和返回参数日志以json的格式输出。原创 2018-01-13 21:24:15 · 1751 阅读 · 0 评论 -
redis发布订阅java代码实现
具体源码:这里写链接内容发布订阅概念: 订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑。发布订阅消息格原创 2017-08-20 14:47:06 · 2812 阅读 · 0 评论 -
测试就是这么简单,rest-assured
关于rest-assuredrest-assured 是一个能够简化测试rest服务的Java DSL,像ruby或者python一样的动态语言去测试和验证http服务。基于java并且兼容了groovy动态语言的特性,使我们像写脚本语言一样去测试http服务。例如:你的http服务( http://localhost:8080/lotto/{id})返回一个如下json:{ "lotto":转载 2017-03-12 21:31:07 · 11029 阅读 · 2 评论 -
生成有数字和字母生成的不重复的验证码
import java.util.Random;//生成有数字和字母生成的不重复的验证码 public class GenerantRandom { private static final char[] str = {‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,原创 2015-11-05 13:59:27 · 2638 阅读 · 0 评论 -
java.lang.NoClassDefFoundError异常
出现此类异常原因:1:查看这个类是否存在,如果这个类不存在,加上去。2:如果这个类存在,看看包的版本,是否和你引入的版本是否一致,如果不一致也可能是包的版本号导致的异常。原创 2015-05-18 16:46:12 · 936 阅读 · 0 评论 -
linux下java程序占用CPU和内存过高排错处理方案
1:通过jps命令查看所有进程pid。2:使用top -p pid 针对你所要查的pid查看这个进程的CPU和内存以及负载情况如图:使用top -p pid -H 查看针对每一个线程占用CPU情况进行查询如果你发现某一个PID占用的CPU过高,就拿到这个PID转换成16进制例如pid为12760转化成16进制31D8,大写换成小写jstack22原创 2015-04-28 09:57:12 · 18989 阅读 · 0 评论 -
maven打包时出现编码GBK的不可映射字符
在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。 所以在很多中文XP win7上开发的同学,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8原创 2015-02-10 10:41:15 · 8701 阅读 · 0 评论 -
java数组的另一种用法
你可以非常简单地用一个enum构建一个单例或者工具类。import java.io.Serializable;public enum SafeSingleton implements Serializable{ INSTANCE; SafeSingleton(){ // } public void singleton(){ System.out.println("hel原创 2015-02-06 18:06:29 · 752 阅读 · 0 评论 -
如何跳过es分页这个坑?
请点击原文地址1、分页查询1.1、 正常分页查询代码如下假设现在你要查询第100页的10条数据,但是对于es来说,from=1000000,size=100,这时 es需要从各个分片上查询出来10000100条数据,然后汇总计算后从其中取出100条。如果有5个分片则需要查询出来5*10000100条数据,如果现在有一个100个查询请求呢,50亿左右的数据,一条数据2KB,就需要9000G左...转载 2019-03-18 16:47:55 · 4050 阅读 · 0 评论