coreJava
文章平均质量分 65
jakeswang
要有一颗奋进的心
展开
-
一些长时间GC停顿问题的排查及解决办法
一些长时间GC停顿问题的排查及解决办法https://blog.51cto.com/u_15009384/2562336服务调用一切正常,偶发性某个时间点超时,和fullGc的点重合;观察gc日志,发现可能有问题的点:2021-08-04T21:54:36.907+0800: 16523930.991: [CMS-concurrent-sweep: 0.909/0.909 secs] [Times: user=0.75 sys=0.43, real=0.91 secs]CMS: abort pr原创 2021-08-05 19:26:13 · 459 阅读 · 0 评论 -
概要设计模板
概要设计模板需求背景 需求文档:链接 背景描述: 性能要求 最大QPS: 响应时间: TP9999为50ms 影响点分析列举影响的项目和相关功能业务流程附上业务流程图存储设计表结构设计、缓存设计等,如果用了其它存储,也请说明接口设计可以附上链接例:2tb_sXXX(星球主题品类) 字段 类型 说明 id ...原创 2021-01-12 17:43:18 · 384 阅读 · 0 评论 -
spring boot jar冲突问题集锦
spring boot jar冲突问题集锦本文主要总结下spring boot项目搭建过程中,冲突解决的一些小经验1、日志jar包冲突:1.1、日志主要是spring boot自带spring-boot-starter-logging的排除,一是要用log4j2,二是xdcs不排除这个也会有冲突。(隐秘程度:低;重要程度:高)<exclusion><artifactId>spring-boot-starter-logging</artifactId.原创 2021-01-12 17:26:30 · 990 阅读 · 0 评论 -
fullGC总结
1.tomcat 线程池线程不回收导致频繁fullgc查看tomcat线程池,线程池中线程数达到2000tomcat6 线程池配置参数解读tomcat配置手册线上环境,引用tomcat 线程池配置<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="2000" maxQueueSize="2000"/>最大活跃线程数配置2000(相当于线程池最大核心...原创 2021-01-12 17:10:42 · 500 阅读 · 0 评论 -
CodeReview总结
codereview重点排查原则: 代码都要经过review才能上线 小组内交叉review 输出review记录 步骤: 先过静态代码扫描。 讲解项目设计和代码结构。 线下交叉review,打好todo tag。 组织小会针对todo tag讨论,明确是否需要修改,做好会议纪要。 重点review内容: 配置:资源配置正确性,重点关注数据库、redis、dubbo等中间件连接池配置,连接池大小、超时时间。 ..原创 2021-01-12 16:55:38 · 329 阅读 · 0 评论 -
mysql数据库采坑总结:
数据库采坑总结:1.socketTimeout和connectTimeout和queryTimeOut未配置问题:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://mysql-XXXXXX/dataName?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&s.原创 2021-01-12 16:54:27 · 280 阅读 · 0 评论 -
jvm-Stop the world
Stop the world 介绍什么是Stop the world?Java中Stop-The-World机制简称STW,Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互。等待所有用户线程进入安全点后并阻塞,做一些全局性操作的行为。在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Stop-The-World对系统性能存在影响,因此垃圾回收的一个原则是尽量减少“Stop-The-World”的时间原创 2020-07-29 19:55:29 · 1280 阅读 · 0 评论 -
Java IO流关闭问题的研究
包装流的close方法是否会自动关闭被包装的流?平时我们使用输入流和输出流一般都会使用buffer包装一下,import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class IOTest { public static void main(String[] args) throws IOException { F...原创 2020-06-08 17:06:08 · 579 阅读 · 1 评论 -
JVM参数调优总结 -Xms -Xmx -Xmn -Xss
“-Xmx1024m -Xms1024m -Xmn512m -Xss256k”——Java运行参数(转)JVM的堆的内存,是通过下面面两个参数控制的-Xms最小堆的大小,也就是当你的虚拟机启动后,就会分配这么大的堆内存给你-Xmx是最大堆的大小当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象...原创 2020-04-08 10:17:45 · 46306 阅读 · 2 评论 -
Java中CAS详解
Java中CAS详解在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁.锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。 ...原创 2020-01-08 17:36:02 · 297 阅读 · 0 评论 -
常用序列化方式
一些常用Java序列化框架的比较:https://www.cnblogs.com/lgjlife/p/10731099.html几种常用的Java序列化技术:http://fendou.net.cn/index.php/Home/Index/article/aid/20191117205159347下面介绍几种常用的Java序列化技术,耗时比较,单位纳秒0.002511:co...原创 2020-01-08 16:25:19 · 548 阅读 · 0 评论 -
单例定时请求实现
开启单个线程,定时请求;public final class ABTestRemoteSingle { private static final Logger logger = LoggerFactory.getLogger(ABTestRemoteSingle.class); private static volatile ABTestRemoteSingle inst...原创 2019-06-18 17:54:03 · 317 阅读 · 0 评论 -
反射的使用总结
反射:优缺点:性能会降低;maven:<dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.11</version></原创 2019-01-15 16:13:36 · 344 阅读 · 1 评论 -
入参json格式,出参Json格式
入参json格式,出参Json格式引文,springboot:https://blog.csdn.net/HXNLYW/article/details/80776491封装自己的json注解public class FastJsonArgumentResolver implements HandlerMethodArgumentResolver { public FastJs...原创 2018-11-05 10:18:58 · 4605 阅读 · 0 评论 -
利用Java的Stack实现括号匹配,包括是否成对出现以及是否正确嵌套。 例如:( ) , { } , [ ] , ( { } [ ] )为正确嵌套,) } , ( { ) } , ( {
import java.util.Scanner;import java.util.Stack;public class SymbolMatch { public static void main(String[] args) { Stack<Character> stack = new Stack<Character>(); ...原创 2018-07-17 17:58:42 · 678 阅读 · 0 评论 -
Java过滤html文档
package com.lvtu.csa.utils;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.regex.Pattern;import org.apache.commons.lang3.StringUtils;import com.l原创 2016-12-20 11:06:36 · 667 阅读 · 0 评论 -
java中文转拼音
package com.lvtu.csa.utils;import com.lvmama.comm.utils.StringUtil;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourcefo原创 2016-12-20 11:01:39 · 426 阅读 · 0 评论 -
java通过缓存实现同步锁
//极验注册分值>=90,跳到错误页面,提示语:该手机号暂时无法在线注册,请联系客服。 String mobile = request.getMobile(); // 加锁的KEY String lockKey = LvtuClientMemCacheConstants.USUAL_CACHEKEY_CONSTANTS.MYLVMM_LVTU_原创 2016-10-25 20:25:50 · 2211 阅读 · 0 评论 -
OOP (Objects and Classes )
第五、六天:第五章: Objects and Classes 一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许 设计者将面向对象设计实现为一个可运行的系统。Java的编程单位是类,对象最后要通过类进行实例化(即“创建”)。 面原创 2016-01-25 11:08:27 · 624 阅读 · 0 评论 -
java高级特性
第六天:教学任务: 第六章 高级特性, 共 39 个slide(132-171);目标: ------------------------------------------------------------第六章: Advanced Language Features (132-171)知识点:一. static修改符原创 2016-01-25 11:10:20 · 1407 阅读 · 0 评论 -
java异常介绍
第九天:教学任务: 第七章 异常, 共 16 个slide(172-188);目标: 1. 异常处理流程; 2. 自定义异常; 3. 断言; ------------------------------------------------------------第七章: Exceptions (172-1原创 2016-01-25 11:12:00 · 419 阅读 · 0 评论 -
java多线程
第十三天:目标: ------------------------------------------------------------第十三章 Threads, 共 37 个slide(373-410);知识点:一. 什么是线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例原创 2016-01-25 11:13:18 · 330 阅读 · 0 评论 -
Java输入输出流(I/O)
第十四天:目标: ------------------------------------------------------------第十四章 Stream I/O and Files, 共 44 个slide(411-455);知识点:一. 流的概念 程序的主要任务是操纵数据。在Java中,把一组有序的数据序列称为流。根据操原创 2016-01-25 11:14:10 · 1126 阅读 · 0 评论 -
Java表达式和流程控制
第三天:教学任务: 完成第三章内容的讲解,共23个slide(63-83)。目标: 1. 操作符; 2. 条件语句; 3. 循环语句;------------------------------------------------------------ 第三章: Expressions and Flow Cont原创 2016-01-25 11:04:01 · 558 阅读 · 0 评论 -
Java数组的创建和使用
第四天:教学任务: 完成第四章内容的讲解,共12个slide(84-96)。目标: 1. 数组的创建和使用------------------------------------------------------------第四章: Array(84-96)数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。原创 2016-01-25 11:07:16 · 2335 阅读 · 0 评论 -
Java堆栈队列
package 数据结构;import java.util.Arrays;public class SequenceList{ private final int DEFAULT_SIZE = 16; private int capacity; private int size = 0; private Object[] elementD原创 2016-01-25 11:21:04 · 380 阅读 · 0 评论 -
java正则表达式的匹配
// 解析规格,根据不同形式进行匹配,暂时将格式当中的前三个数字进行保存 if (StringUtils.hasText(specName)) { Pattern pattern = Pattern.compile("[0-9]+(\\.[0-9]+)?"); Matcher m原创 2016-01-25 13:19:05 · 533 阅读 · 0 评论 -
Java枚举应用实例
package com.banksteel.mall.itemindex.enums;/** * @description: 排序字段枚举 * @projectName:banksteel-mall-item-index-domain * @className:SortFieldEnum.java * @see: com.banksteel.mall.itemindex.e原创 2016-01-25 13:46:55 · 453 阅读 · 0 评论 -
将对象序列化成,并编码成UTF-8的字符串
/** * 将对象序列化成,并编码成UTF-8的字符串 * @throws IOException * @date 2015-4-3 下午3:31:37 */ private String serializeRovinceCities(List> result) throws IOE原创 2016-03-17 11:02:53 · 3543 阅读 · 1 评论 -
Http请求util类
package com.lvmama.comm.utils;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.net.URLEncoder;import java.nio.ch原创 2016-07-26 11:31:00 · 1971 阅读 · 0 评论 -
时间处理工具类(DateUtil)
package com.lvmama.comm.utils;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import ja原创 2016-06-23 15:38:44 · 4743 阅读 · 0 评论 -
gzip或者zip进行压缩缓存内容压缩
package com.lvtu.utils;import net.sf.json.JSONObject;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.zip.*;public原创 2016-10-11 14:50:20 · 2309 阅读 · 0 评论 -
RSA加密
引文: http://blog.csdn.net/houzuoxin/article/details/38957969通过生成工具,生成一对公钥,私钥;RSAKeyGeneratorL:package com.lvtu.utils;import java.security.KeyPair;import java.security.KeyPairGener原创 2016-11-03 11:15:29 · 1086 阅读 · 0 评论 -
会员用户工具
package com.lvmama.comm.utils;import com.lvmama.comm.pet.po.user.UserUser;import com.lvmama.comm.user.vo.Constant;import org.apache.commons.lang3.StringUtils;import org.apache.commons.loggin原创 2016-10-14 11:49:30 · 555 阅读 · 0 评论 -
coreJava简介及关键字介绍
第一天目标: 1. Java背景知识介绍; 2. Java开发环境设置; 3. 编写、编译、运行Java程序的过程;原创 2016-01-25 11:02:15 · 1205 阅读 · 0 评论