自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (10)
  • 收藏
  • 关注

原创 Redis-Cluster使用示例

redis主从集群环境的使用示例

2022-03-05 23:29:21 1021

原创 Java中wait、notify、signal的区别

wait与notify、notifyAll: --属于Object类的方法,一个对象只能提供一个同步控制-- 与synchronize搭配使用wait与signal、signalAll:-- 属于Condition类的方法,一个锁可以提供多个Condition同步控制-- 与Lock.lock()、unlock()搭配使用以生产者消费者为例,说明两者的使用情景/** * 生产者父类 */public abst...

2022-01-12 21:28:33 1682

原创 使用java进行SSL证书的签名与签验

一、签名与签验的含义签名:客户端使用私钥对字符串加密,得到一个加密后的字符串签验(签名验证):服务端使用公钥对字符串加密,验证加密后的字符串是否和客户端签名后一样二、创建私钥、证书等文件在linux中执行一下命令,生成所需的各个文件1.手动生成私钥pri.keyopenssl genrsa -des3 -passout pass:123456 -out pri.key 20482.生成pkcs8openssl pkcs8 -topk8 -in pri.key...

2022-01-11 22:34:08 4271 1

原创 struts2 在jdk11环境下报404错误的问题解决

首先说明一下,struts2报404的情况很多,不一定你的问题和我的问题一样。要先判断是不是同一个问题。 我这里的struts2版本是2.5.18。struts2报404,是因为日期格式参数在jdk11环境下解析失败。 假如你在前台有一个日期参数A,A格式是字符串的日期,如“2021-05-01 00:00:00”,然后对应后台接收的参数不是String,而是Timestamp,那这时候struts2就需要进行类型转换。struts2...

2021-07-07 17:33:34 485

原创 sigar在win10+jdk11环境下崩溃

sigar.jar架包在采集cpu信息的时候,如果java的运行环境是win10+jdk11的话,java会崩溃错误信息如下EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000100147c4, pid=3844, tid=1044

2021-06-07 17:20:24 896 1

原创 使用SpringAOP来捕获异常

当我们在开发程序的时候,经常遇到方法抛异常,而有时候异常打印出来的信息又不够完整,这时候,可以通过AOP,自动在抛异常的时候将方法传入的参数给打印出来。实现步骤:1.自定义注解作为连接点(当然也可以用其他方式指定连接点,我觉得使用注解是个不错的注意)2.定义一个AOP切面3.在需要捕获异常的方法上面,添加注解自定义注解/** * 异常自动捕获 * 注解在方法上,当方法中抛出异常的时候,打印出方法以及方法的参数,方便排查 * @see ExceptionCatchAop.

2020-05-11 20:41:33 3235 3

原创 使用SpringAOP统计运行时间

实现步骤只需要3步:1.自定义注解2.定义一个AOP切面3.在需要统计时间的方法上,添加注解。自定义一个注解。使用value来定义方法的名称,方便读日志。定义一个阈值,运行时间超过阈值,才会记录下来。/** * 统计方法运行的时间,单位毫秒 * @see CountTimeAop */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface C.

2020-05-11 20:26:40 473

原创 @Cacheable有效性检查

在使用springboot开发项目的时候,我们经常会用到缓存,一般就是通过注解@Cacheable来进行缓存设置。我们代码是写了@Cacheable,我们以为能生效,但有时候因为一些原因,导致缓存不生效,程序也能正常运行,而我们却蒙在鼓里。如果是redis,虽然可以通过客户端去登录服务器查看有没有缓存,但也十分麻烦。为了省点事,所以想到使用AOP来自动进行缓存检查,如果没有生效,就打印一些信息提示我们。实现步骤很简单,只需要在springboot工程中添加上一个AOP类即可,并在配置文件中添加c

2020-05-11 20:12:23 1296 2

原创 使用AOP+mybatis+分页插件PageHelper分批查询数据库

有时候,数据库中的内容太多,无法一次查询出来,这时候就需要分批查询。如果在每个需要分批查询的地方,都去修改原来的代码,实现分批,这样会很麻烦。而Mybatis的分页插件,正好可以配合AOP来进行无侵入式分页,不需要修改原有的代码。下面介绍一下实现步骤:环境:springBoot+mybatis1.在工程中引入mybatis的分页插件compile("com.baomidou:mybatis-plus-boot-starter:2.3")compile group: 'com.github.p

2020-05-11 19:32:01 791

原创 非侵入式mybatis多数据库切换实践

环境:springboot+mybatis数据库:mysql+oracle需求:一个程序中,一部分数据从mysql中查,一部分数据从oracle中查。使用AOP来实现数据库动态切换参考网上的mybatis动态数据源,并额外扩展使用AOP步骤:1.先定义不同的数据库连接类型,用来表示mysql数据库和oracle数据库,如果还有多个数据库,继续定义(这里cms表示oracle数据库,hms表示mysql数据库)public enum DataSourceTypeEnum { .

2020-05-11 19:04:31 268

原创 记录一次Java内存溢出排查过程

这两天公司的一个程序出现问题,频繁出现内存溢出错误OutOfMemory:GC overhead limit exceeded.虽然知道这个错误的原因是因为Java虚拟机在频繁进行垃圾回收,使用了98%的时间进行垃圾回收,但是实际回收了不到2%的内存。但结合到代码中,还是无法知道为什么会出现这个问题。程序的内存设置为3G,6G都不行,快的话10分钟就内存溢出。没有办法,只能给Java程序加...

2020-04-23 17:32:02 626

原创 Failed to get nestedarchive for entry BOOT-INF/lib/axis2-1.6.2.pom

gradle工程使用bootjar打包出jar之后,使用java -jar命令运行jar,然后程序报错Exception in thread "main" java.lang.IllegalStateException: Failed to get nestedarchive for entry BOOT-INF/lib/axis2-1.6.2.pom at org.spri...

2020-03-23 17:24:23 2479

原创 hibernate报错 Parameter index out of range (2 > number of parameters, which is 1)

今天遇到一个hibernate报错,在查询的时候,报了一个错误org.hibernate.HibernateException: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1)然后我把sql语句和传递的变量都反复查了很多遍,sql里面明明只有一个问号,...

2020-03-13 17:15:07 287

原创 tomcat 启动失败,提示循环引用

tomcat启动的时候,提示如下的错误java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/web...

2020-03-02 15:09:07 561

原创 JAVA数组深拷贝实现代码

在使用org.apache.commons.lang.ArrayUtils进行数组拷贝的时候,发现其只能实现数组的浅拷贝,而且不支持泛型经过改造,我自己重新实现了数组的深拷贝,同时支持多重数组拷贝。因为Object的clone方法声明成protected,在使用泛型的时候,无法调用clone方法,所以我们自己重新定义个克隆的接口package demo;public interf...

2020-01-02 17:15:28 1603

原创 log4j2 配置文件样例

提供一个log4j2的配置文件样例,样例会把日志按照级别,分别打印在各自的文件中,并且按照每天进行划分,每天最多分割10个文件。另外,还有一个单独的日志,会记录特定的日志。样例代码如下import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;public class Main ...

2019-12-30 16:22:40 493

原创 《HeadFirst设计模式》迭代器和组合模式的错误原因分析和解决办法

关于《HeadFirst设计模式》一书中,迭代器和组合模式中有一部分代码是错误的,错误的类是CompositeIterator,使用这个类,再打印素食菜单的时候,有一些菜单会被重复打印。如以下菜单菜单: 早餐:[豆浆,馒头,玉米] 午餐:[烧腊,荷叶饭] 晚餐:[面,粉 加料:[萝卜,咸菜, 加料2:[萝卜2,咸菜2] ] ]在这个菜单中,如果使用书中的代码打印...

2019-12-24 21:11:54 218 1

原创 tomcat启动闪退解决方法

有时候,我们在启动tomcat的时候,tomcat的cmd窗口会闪退,这样我们就看不了闪退原因。这时,我们可以修改tomcat的启动文件来让cmd窗口停下来。操作如下:1.用文本方式打开tomcat的startup.bat文件,在最后一行输入pause2.还是startup.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%修改...

2019-12-23 18:46:50 282

原创 Spring security后台使用自定义注解进行权限控制

最近在使用spring security进行编码,在实际使用的过程中,遇到的问题记录一下。背景:在一个项目中,我使用spring security进行权限控制。不仅前台控制页面和按钮的显示,还在后台对没有权限的请求进行过滤。因为每个需要进行权限控制的后台请求,都需要写相同的代码,如果一个两个还好,写多了就开始想能不能减少代码量。先看看没有使用自定义注解的时候是怎么在后台进行权限控制的...

2019-11-25 21:44:00 4564 1

原创 springSecurity重定义Bad credentials信息

Springboot整合了SpringSecurity进行登录控制在实际使用的过程中,发现用户密码如果输错了,界面会提示“Bad credentials”这个提示可能不明显,我们需要重定义这个提示信息这时候,我们可以通过定义messge配置文件来修改1.在代码中配置一个bean,这个bean指定国际化资源文件@Beanpublic ReloadableResour...

2019-11-17 14:25:46 2982

原创 Java多线程模拟运动比赛

Java的并发包中有各种并发类,今天通过这个例子来熟悉使用CyclicBarrier类。CyclicBarrier类就像一个起跑线,定义了赛道的大小,当所有运动员(多线程)同时在起跑线,那么CyclicBarrier就会触发起跑动作。以下是Java使用CyclicBarrier模拟运动比赛的例子新建一个gradle工程,目录结构如下在build.gradle中引入sprin...

2019-08-13 21:42:04 1631

原创 log4j2 自定义日志输出文件

目的最近用到一个项目,需要在一个类中,将日志区分打印到不同的日志文件中比如同一个地方打印两条日志“receive message from port[123]”,"receive message from port[456]"这两条日志的内容一样的,只不过里面的参数port不一样。工程实现在这里,我们使用gradle工程来实现,总体目录如下工程的gradle.build...

2019-08-13 15:21:18 4865

原创 使用idea和gradle打包可运行jar,包含lib架包

首先我们需要知道,使用的是shadow来帮助我们打包jar需要在build.gradle中加入以下几个部分buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } } de...

2019-06-11 10:37:58 3925

原创 wireshark过滤端口范围

在wireshark中,如果我们要过滤端口范围,比如过滤1000到2000端口的数据网上给的表达式都是tcp.port < 20000 and tcp.port >10000,然而,我们会发现这个表达式并不能过滤出我们要的数据包,过滤端口范围的表达式无效正确的表达式应该是tcp.dstport < 20000 and tcp.dstport >10000...

2019-05-31 16:33:31 9015

原创 使用java编写snmp inform 发送与接收示例

环境:java+gradle+snmp4j编译器idea进入正题首先,我们编写一个snmp接收类package main.snmp.util;import org.snmp4j.*;import org.snmp4j.mp.StateReference;import org.snmp4j.mp.StatusInformation;import org.snmp4j.sm...

2019-05-13 20:08:39 1414 1

原创 使用idea创建gradle的springboot工程

这篇文章给没有使用过idea,gradle,springboot的人参考一下怎么使用这三个创建工程。idea软件的安装,gradle的安装和环境配置我就不在这里写了。注意jdk的版本需要是1.8,否则springboot和idea可能用不了首先我们打开idea,创建一个新的工程选择gradle中的java,选择jdk版本为1.8点击next,填写groupId和artifa...

2019-05-12 14:55:32 2058

原创 gradle创建springboot的helloworld工程的配置文件

buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } } dependencies { //这里引入了spring-boot的版本管理,所以后面引入的sprin...

2019-05-12 14:45:19 521

原创 Jboss4.2之前版本修复安全漏洞

jboss作为一个老古董,有些服务是已经部署了十年以上,后来漏洞不断出现,就要不断升级修复漏洞jboss在4.0.5版本之前,会引入tomcat组件jbossWeb-tomcatxx.sar。但是在4.0.5之后,换成了jboss-web.deployer。特别想吐槽的是,jboss4/5/6/7各版本之间差别很大,boss开发人员完全不考虑外场应用的部署情况,各版本jboss之间无法直接...

2019-04-25 16:04:51 1151 1

原创 hibernate调用save方法,不update而是create一条新纪录

今天,在调用hibernate的save方法遇到一件奇怪的事:使用load方法从数据库中读取出一个对象,然后更新这个对象的一个字段,再重新save回数据库,按道理,hibernate会更新数据库中的记录,而不是新建一条记录。但是,hibernate就是一直插入一条新的记录。//正常代码User user = session.load(User.class, Integer.valueOf(...

2018-11-18 18:41:31 728

原创 struts2.5.16新版本升级

这次struts2版本升级,也是因为要修复安全漏洞CVE-2018-1327。在旧版本升级新版本的过程中,遇到了不少问题,在这里记录一下。struts2.5.16版本下载链接:http://mirrors.hust.edu.cn/apache/struts/2.5.16/struts-2.5.16-all.zipjackson-dataformat-xml-2.1.2.jar下载链接:http:/...

2018-04-12 22:40:08 8443 2

原创 将tomcat注册为windows服务

注册tomcat为windows服务,并修改tomcat的类加载路径

2015-12-02 21:00:56 1969

原创 ie11下页面显示不正常,hight获取不正确

在前一阵子,公司的网站需要兼容ie11。在刚开始的时候,网站在ie11浏览器下显示会有异常,本应该是填充满整个浏览器的页面,现在高度只有250左右。刚开始以为是html元素的css设置不对,一直在改样式,添加了各种height=100%都不能解决问题,后来使用代码获取元素的高度,发现这个高度一直是250,但是只要页面呈现出来后,再来获取高度,高度就变成正常了。然后我尝试着在onload事件里面

2015-12-02 20:16:31 2635

原创 关于jsp中的Unable to compile class for JSP解决

jsp 读取xml 出现错误The type org.gjt.xpp.XmlPullParserException cannot be resolved(或Unable to compile class for JSP)的解决办法

2015-12-02 20:06:32 9568

原创 NorthStar选择MultiFLEX2-AVR控制器时无法编译的解决办法

在使用NorthStar图形化编译器的时候,我选择了MultiFLEX2-AVR控制器,然后在编译工程的时候,总是提示make:Interrupt/Exception caught (code = 0xc00000fd, addr = 0x421963),然后就编译失败了。后来发现我的NorthStar软件安装路径是C:\Program Files (x86)\Uptech。因为安装路径中包含

2015-03-11 23:09:42 2056 3

转载 解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused

由于现在google网址被墙,使用SDK Manager安装SDK的时候,无法下载相对应的组件,并且提示Connection to https://dl-ssl.google.com refused。网上提供的修改host文件的方法已经失效了,我找了很久,找到以下的方法,简单,有效。1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Opt

2015-02-09 17:54:46 1602

原创 java实现数字渐隐效果

一个透明面板上的数字渐隐,

2014-05-15 19:38:46 794

原创 iframe中内嵌div的width为100%出现的不兼容现象

今天发现,一个内嵌在iframe中的div,当样式宽度设置为width=100%时,出现ff和ie不兼容的情况。ff中这个div宽度超过iframe的宽度而ie中这个div宽度不足iframe的宽度经过百度,发现是因为不同浏览器中width=100%有不同的定义。ff中width=100%是整个iframe的外部宽度,也就是iframe宽度为多少,div宽度也是多少

2014-05-10 00:33:09 3759

转载 iframe框架高度自适应在兼容模式下(ie7)不兼容的解决方法

因为ie7之前的版本不兼容contentDocument属性,

2014-05-09 23:39:01 1635

sigar-amd64-winnt.dll

解决win10(win server)+jdk11崩溃的问题

2021-06-07

win10 .NET Framework 3.5功能安装 SXS安装包

win10系统下,离线安装.NET Framework 3.5的SXS安装包。 解压到C:\SXS,然后使用管理员权限打开cmd窗口,输入命令进行安装 Dism /online /enable-feature /featurename:NetFX3 /All /Source:C:\sxs

2020-09-18

apacheds-2.0.0-M20.zip

apacheds程序,提供ldap服务,启动之后提供10389端口,不需要密码验证即可登录,客户端工具可使用apache directory studio

2020-01-09

static.zip

一些js和css文件,这个是我工程中实际使用的bootstrap4,应该没有兼容性的问题 包括的文件有 bootstrap.js、bootstrap-table.js、fileinput.js、fileinput.min.js、jquery-3.3.1.js、popper.min.js、 bootstrap.css、bootstrap-table.css、fileinput.min.css

2019-11-08

spring-boot-cli-2.1.5.RELEASE-bin.zip

springboot-CLI,Spring Boot提供的控制台命令工具,版本是2.1.5.RELEASE

2019-05-30

jboss4版本修复Apache Tomcat DIGEST身份验证多个安全漏洞(CVE-2012-3439)升级包

jboss4版本下,jbossweb-tomcat55.sar升级包,修复Apache Tomcat DIGEST身份验证多个安全漏洞(CVE-2012-3439) 升级包中的jar来源于tomcat5.5.36 使用方法:直接替换jboss中旧的jbossweb-tomcat55.sar

2019-04-25

ecilpse启动计时插件及其代码

《深入理解JAVA虚拟机》中5.3章节使用的eclipse启动计时插件,文件中包含一个rar和zip文件,rar是工程代码,zip是打包出来的插件,直接把zip放到eclipse的安装目录下的plugins中即可使用

2018-11-03

CentOS7下的libcrypto.so.6+libexpat.so.0+libssl.so.6文件

Linux操作系统CentOS7中下载下来的so文件,包含libcrypto.so.6 、libexpat.so.0 、libssl.so.6三个文件

2018-11-02

初学者的贪吃蛇

闲着没事编着玩,由于知识有限,只能用链表实现的,是在dos界面运行的,dev c可以编译通过。希望把它分享给大家

2012-01-03

俄罗斯方块

用到了链表和多线程,不懂怎么弄出个界面,只能编成这样。用dev c编译通过了

2012-01-03

空空如也

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

TA关注的人

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