自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Java Agent

​ JavaAgent就是Java探针,是一个JVM插件,常用于代码热更新,AOP,JVM监控等功能。这个技术对大多数的同学来说可能有点陌生,但是对Java软件开发人员来说肯定都多多少少接触过,只是相对其原理,我们更多的关注在以它为核心的工具使用上。

2023-05-10 15:48:04 2160

转载 IDEA引入本地jar包的几种方法

IDEA引入本地jar包的几种方法

2022-09-21 09:56:02 50870 4

转载 线上应用故障排查之二:高内存占用

线上应用故障排查之二:高内存占用前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。搞Java开发的,经常会碰到下面两种异常:1、java.lang.OutOfMemoryError: PermGen space2、java.lang.OutOfMemoryError: Java heap space要详细解释这两种异常,需要简单重提下Java内存模型。(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/ha

2021-12-22 10:01:32 392

转载 Java线上应用故障排查之一:高CPU占用

Java线上应用故障排查之一:高CPU占用【转】近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下。方法一:转载:http://www.linuxhot.com/java-cpu-used-high.html1.jps 获取Java进程的PID。2.jstack pid >> java.txt 导出CPU占用高进程的线程栈。3.top -H -p PID 查看对应进程的哪个线程占用CPU过高。4.echo “obase=16; PID” | b

2021-12-21 11:29:15 202

转载 正则表达式导致 CPU 高的问题排查过程

正则表达式导致 CPU 高的问题排查过程这篇文章记录一个正则表达是导致 CPU 高的问题排查。由于无法直接使用线上的代码测试,所以我自己把代码整理了下来,具体代码如下:public class AppMain { public static void main(String[] args) throws InterruptedException { final String regex="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z

2021-12-21 11:27:39 946

原创 javaagent 与Java Intrumentation学习记录

javaagent与Java Intrumentation学习记录例子第一种方式 premain,完成对方法的耗时监控1、新建个简单的maven项目,只需要个main方法就行2、新建agent项目,也是个maven项目,只是没有启动类3、将agent项目打包,然后在idea里添加VM启动参数,启动App的main方法第2个例子,使用agentmain attach 完成对方法中数据的更换1、还是新建maven项目,和上面的一样2、然后新建agent 项目3、将agent项目打包后,先启动 MyTestMai

2021-05-14 16:14:30 177 1

原创 策略模式

策略模式经过学习后整理策略模式(Strategy Pattern)是指定义了算法家族、分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。策略模式的应用场景1、假如系统中有很多类,而他们的区别仅仅在于他们的行为不同。2、一个系统需要动态地在几种算法中选择一种。用策略模式实现选择支付方式的业务场景//支付完成后返回状态public class Pay...

2020-01-15 15:14:17 128

原创 委派模式

委派模式经过学习后整理委派模式(Delegate Pattern)的基本作用就是负责任务的调用和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式在Spring 中应用非常多,常用的DispatcherServlet 其实就是用到了委派模式。老板(Boss)给项目经理(Leader)下达任务,项目经理会根据实...

2020-01-15 11:02:36 146

原创 代理模式

#代理模式##经过学习整理后来输出心得##静态代理public interface Person { void findLove();}public class Son implements Person { @Override public void findLove() { System.out.println("找美女"); }...

2020-01-13 16:12:48 192

原创 原型模式

#原型模式##刚刚经过学习后整理1 原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。2调用者不需要知道任何创建细节,不调用构造函数。3属于创建型模式#原型模式的适用场景1、类初始化消耗资源较多。2、new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)3、构造函数比较复杂。4、循环体中生产大量对象时,...

2020-01-06 10:54:46 108

原创 单例模式

单例模式的定义单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。隐藏其所有的构造方法。属于创建型模式。确保任何情况下都绝对只有一个实例,如 ServletContext、ServletConfig、ApplicationContext饿汉式单例public class HungrySingleton { /*...

2020-01-05 15:55:11 92

原创 工厂模式

工厂模式学习简单工厂模式工厂方法模式抽象工厂模式简单工厂模式简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于GOF,23 种设计模式/** * 课程 */public interface Course { void record();}public class JavaCourse implement...

2020-01-03 17:13:14 158

转载 Spring Boot CommandLineRunner和ApplicationRunner

转载自[转载自](https://blog.51cto.com/xiaok007/2152761?source=dra)(1)使用场景的提出; 我们在开发过程中会有这样的场景:需要在容器启动的时候执行一些内容,比如:读取配置文件信息,数据库连接,删除临时文件,清除缓存信息,在Spring框架下是通过ApplicationListener监听器来实现的。在Spring Boot中给我们提供...

2019-12-12 10:43:16 118

原创 PageHelper自动增加limit分页问题

PageHelper自动增加limit分页问题使用PageHelperi分页,报错如下:)使用PageHelperi分页,报错如下:Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :’limi1 1 limit ?,?’,expect LIMIT, actual LIMIT li...

2019-10-26 15:05:16 2752 3

转载 filter在spring框架中使用配置文件参数的方法

配置好了 filter,该如何吧配置文件的参数读取出来显示呢?有人第一会想到直接在Filter中 使用 @Value 注解注入再用参数接收不就行了,如: @Value("${weixin.appid}")String appid;但是,很遗憾,这样是注入不进来的,因为 我们的Filter 并不是一个bean,也就是说并没有纳入到spring容器中进行管理,也就无从谈起自动装配了,所以 @...

2019-04-30 11:48:42 3566

转载 nginx启动和配置

1.命令行参数-c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。路径应为绝对路径-t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。-v 显示 nginx 的版本。-V 显示 nginx 的版本,编译器版本和配置参数。2.启动,重启和关闭启动:nginx -c /x...

2019-04-23 16:45:19 259

转载 Druid 介绍及配置

Druid是什么?Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。在哪里下载druid正式版本下载:maven中央仓库: http://central.maven.org/maven2/com/alibaba/druid/怎么获取Druid的源码Druid是一个开源项目,源码托管在github上,源代码仓库地址是 https://git...

2019-04-03 15:27:30 206

转载 PowerDesigner 连接MySQL数据库详细步骤

2019-03-27 11:57:22 340

转载 Arrays.sort(arr)底层实现原理-Timsort

在JDK集合框架中描述过,JDK存储一组Object的集合框架是Collection。而针对Collection框架的一组操作集合体是Collections,里面包含了多种针对Collection的操作,例如:排序、查找、交换、反转、复制等。这一节讲述Collections的排序操作。public static <T extends Comparable<? super T>...

2019-03-22 09:58:35 3330

转载 Spring Boot @ControllerAdvice 拦截异常并统一处理

在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。参考:@ControllerAdvice 文档一、介绍创建 MyControllerAdvice,并添加 @ControllerAdvice注解。package com....

2019-03-08 14:16:06 479

转载 SpringBoot项目中使用AOP

1.概述将通用的逻辑用AOP技术实现可以极大的简化程序的编写,例如验签、鉴权等。Spring的声明式事务也是通过AOP技术实现的。Spring的AOP技术主要有4个核心概念:Pointcut: 切点,用于定义哪个方法会被拦截,例如 execution(* cn.springcamp.springaop.service..(…))Advice: 拦截到方法后要执行的动作Aspect: 切面...

2019-02-26 15:24:36 357 2

转载 Java opencsv 生成、读取、下载、删除CSV文件

利用opencsv包中的CSVWriter类,生成csv文件import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.util.List;import com.opencsv.CSVWriter; public abstract class C...

2019-01-30 15:34:43 1089

转载 opencsv方式读取,导出csv文件

1.opencsv官网:http://opencsv.sourceforge.net/jar包:opencsv-2.3.jar下载地址:http://sourceforge.net/projects/opencsv/files/latest/download2.读取CSV文件package com.szaisino.common.opencsv; import java.io.File...

2019-01-30 15:27:53 3922 1

原创 微信支付--小程序支付(JAVA)

步骤/**登录+支付 code流程大概分为几步:1)登录,获取code(一个code只能用一次)2)通过code获取openid(通过请求服务器,由服务器请求微信获取并返回小程序)。微信登录+获取openid接口3)小程序请求服务器进行预下单,上传商品详情、金额、openid。4)服务器端接收请求,根据请求订单数据、生成第三方订单号,调用微信的统一下单接口,返回prepay_id。...

2019-01-14 17:48:09 2152 3

原创 微信支付-公众号支付(JAVA)

@RestController@RequestMapping(&amp;amp;amp;amp;quot;/weixinGZHpay&amp;amp;amp;amp;quot;)public class WeixinGZHpay { @Value(&amp;amp;amp;amp;quot;${appid}&amp;amp;amp;amp;quot;) private String appid; //公众账号id @Value(&

2019-01-14 11:30:58 1782

原创 微信支付---H5支付(JAVA)

1、用户在商户侧完成下单,使用微信支付进行支付2、由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB3、统一下单接口返回支付相关参数给商户后台,如支付跳转url(参数名“mweb_url”),商户通过mweb_url调起微信支付中间页4、中间页进行H5权限的校验,安全性检查(此处常见错误请见下文)5、如支付成功,商户后台会接收到微信侧的异步通知...

2019-01-04 18:05:06 365

原创 微信支付--商户二维码支付(JAVA)

pom文件添加依赖 &amp;amp;amp;amp;amp;amp;amp;amp;lt;!--微信支付SDK--&amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;a

2019-01-04 15:06:59 1667 3

转载 Java多线程

Java多线程1、多线程有什么用?2、创建线程的方式3、start()方法和run()方法的区别4、Runnable接口和Callable接口的区别5、CyclicBarrier和CountDownLatch的区别6、volatile关键字的作用7、什么是线程安全8、Java中如何获取到线程dump文件9、一个线程如果出现了运行时异常会怎么样10、如何在两个线程之间共享数据11、sleep方法和w...

2018-09-28 09:06:08 100

转载 spring boot防止表单重复提交添加拦截器验证token

1:先写token生成和销毁方法token.javapackage com.smartt.api.interceptor;import java.lang.annotation.*;@Target(ElementType.METHOD)@Retention (RetentionPolicy.RUNTIME)@Documentedpublic @interface Token ...

2018-09-28 09:05:53 2687

转载 Java线程的6种状态及切换(透彻讲解)

Java中线程的状态分为6种。初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready...

2018-09-28 09:04:00 110

原创 java大牛博客链接合集

https://www.cnblogs.com/gmq-sh/tag/Java/

2018-09-11 11:20:23 1554

转载 JAVA自定义注解 annotation(@Retention@Target)详解

一、注解:深入理解JAVA注解  要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation):  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java...

2018-09-11 11:14:49 530

原创 文本过滤

import java.util.regex.Matcher;import java.util.regex.Pattern;public class DelHtmlTagUtils { // 普通输入框的过滤 public static String delHTMLTag(String htmlStr) { if (htmlStr != null &amp;amp;...

2018-08-21 11:58:48 328

原创 redis 缓存工具类

redis 工具类import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import java...

2018-08-21 11:57:16 1538

原创 图片验证码

Controller接口import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.shiro....

2018-08-21 11:42:50 135

原创 常用正则,校验器:利用正则表达式校验邮箱、手机号等

校验器:利用正则表达式校验邮箱、手机号等package com.baidu.gongyi.auction.util;import java.util.regex.Pattern;/** * 校验器:利用正则表达式校验邮箱、手机号等 */public class ValidateUtils { /** * 正则表达式:验证用户名 */ publi...

2018-08-21 11:33:49 960

原创 导出所有用户上传的文件,以压缩包形式导出

/* 附件导出 (导出所有用户上传的文件 以压缩包形式导出 )。 * 1.创建一个临时存放文件的tempFile。 * 2.在临时文件夹中创建用户文件夹用来存放下载好的文件(用户文件夹可以用时间戳或者uuid来命名)。 * 3.把临时文件夹压缩成zip文件,存放到tempfile下面。 * 4.根据流的形式把压缩文件读到放到浏览器下载 5.关闭流,删除临时文件中的用户文件夹和压缩好的用户...

2018-08-21 11:24:47 569

原创 java导出动态excel表单----表头和内容都为动态

/** * 动态导出工具 * * */public class ExportExcel {/** * * * @param fileName 文件名 * @param headers 表格属性列名数组 * @param dataset 需要显示的数据集合 * @param pattern 如果有时间数据,设定输出格式。默认为&amp;amp;quot;yyy-MM-dd&amp;amp;quot; * @...

2018-04-04 18:41:45 11686 14

原创 用Java实现AES DES JWT加密

aeshttps://www.cnblogs.com/vmax-tam/p/4624032.htmldes,http://blog.csdn.net/qq_18870023/article/details/52180768jwt,http://blog.csdn.net/wangcantian/article/details/74330458

2017-12-20 16:55:25 621

原创 《SpringMvc+POI 处理Excel的导出操作》

导出工具类package com.baidu.gongyi.auction.util;import java.io.IOException;import java.io.OutputStream;import java.lang.reflect.Field;import java.net.URLEncoder;import java.util.ArrayList;impo...

2017-09-21 14:39:14 556

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除