自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (4)
  • 收藏
  • 关注

转载 JAVA实现深拷贝对象

使用java原生推荐方法三或方法四,方法一、方法二缺点过于明显,第三方库的方式可以用方法四,spring boot默认的序列化反序列化就是Jackson,另外比照方法四同类的类库也能实现。

2023-09-15 16:50:28 178

原创 定时任务实现的几种方式

目录使用Timer使用ScheduledExecutorService使用Spring Task简单的定时任务多线程执行执行时间的配置cron表达式详解整合Quartz最后定时任务实现的几种方式:这个目前在项目中用的较少,直接贴demo代码。具体的介绍可以查看api使用ScheduledExecutorService该方法跟Timer类似,直接看demo:使用Spring Task简单的定时任务在SpringBoot项目中,我们可以很优雅的使用注解来实现定时任务,首先创建项目,导入依

2022-07-11 15:44:50 1513 1

原创 java8-计算时间的方法

在Java8中,我们可以使用以下类来计算日期时间差异:1.Period2.Duration3.ChronoUnit1.Period类主要是Period类方法getYears(),getMonths()和getDays()来计算.示例:package insping;import java.time.LocalDate;import java.time.Month;import java.time.Period;public class Test { public.

2022-01-14 11:50:49 676

原创 oracle 查看 job执行是否成功

SELECT /* 查看JOB执行状态*/ T.OWNER, T.JOB_NAME, T.STATUS, TO_CHAR(T.ACTUAL_START_DATE, 'YYYY-MM-DD HH24:MI:SS') AS ACTUAL_START_DATE, TO_CHAR( ACTUAL_START_DATE + NUMTODSINTERVAL(SUBSTR(RUN_DURATION,6,2),'HOUR') + NUMT.

2021-12-20 10:13:37 3831

原创 提高 Java 效率小技巧

前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无 BUG 上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。代码优化的目标是:

2021-12-17 16:17:16 180

原创 Java 将Word转为PFD

目录Java代码环境将Word转为OFD通常在工作中比较常用到的Microsoft Word是属于国外的文档内容编辑软件,其编译技术均属国外。而OFD是一种我国的自主文档格式,在某些特定行业或企业的文档存储技术上是一种更为安全的选择。下面将以Java代码示例介绍如何将Word文档转换为OFD格式。Java代码环境Intelli IDEA Spire.Doc for Java 4.12.1 Word文档两种方法可在Java程序中导入jar文件1. Maven仓库下载导入。在.

2021-12-17 15:33:31 566

原创 Redis单线程的正确理解

很多开发者对Redis的单线程和I/O多路复用技术并不是很了解,所以我用简单易懂的语言让大家了解下Redis单线程和I/O多路复用技术的原理,对学好和运用好Redis打下基础。一、Redis的单线程理解Redis客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程。其中执行命令阶段,由于Redis是单线程来处理命令的,所有到达服务端的命令都不会立刻执行,所有的命令都会进入一个队列中,然后逐个执行,并且多个客户端发送的命令的执行顺序是不确定的,但是可以确定的是不会有两条命令被同时执行,

2021-12-17 15:28:44 116

原创 异步、邮件、定时任务

目录14. 异步、邮件、定时任务14.1 异步任务14.2 邮件任务14.3 定时任务14. 异步、邮件、定时任务14.1 异步任务编写一个业务测试类文件路径:com--dzj--service--AsynService.java@Servicepublic class AsynService { @Async //告诉spring这是一个异步的方法 public void hello(){ try {

2021-12-17 10:05:10 671

原创 SpringBoot-swagger

目录13. SpringBoot-swagger13.1 导入相关依赖13.2 编写Swagger配置类13.3 编写实体类13.4 编写测试接口13.5 编写配置文件13.6 访问测试13. SpringBoot-swagger13.1 导入相关依赖<dependencies> <!-- springfox-boot-starter 配置类上使用的开启注解为:@EnableOpenApi 访问路径:ht

2021-12-17 10:04:42 207

原创 SpringBoot-shiro

目录12. SpringBoot-shiro12.1 快速入门1、导入依赖2、创建log4j.properties文件3、创建shiro.ini文件4、创建Quickstart.java类5、启动测试12.2 shiro-Mybatis1、导入依赖2、配置数据库3、编写实体类4、编写Mapper接口5、配置全限定类别名,关联配置文件6、编写Mapper映射文件7、编写业务层8、编写controller层9、编写shiro配置类10、前端

2021-12-17 10:04:15 338

原创 SpringSecurity

目录11. SpringSecurity11.1 SpringSecurity简介11.2 实验环境搭建1、新建springboot项目2、导入静态资源3、controller跳转11.3 认识SpringSecurity1、认证和授权2、权限控制和注销3、记住我功能4、定制登录页5、完整配置代码(SecurityConfig.java)11. SpringSecurity11.1 SpringSecurity简介Spring 是一个非常流行和成功

2021-12-17 10:03:56 893

原创 SpringBoot-druid

9. SpringBoot-druid9.1 druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid 已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.

2021-12-17 09:00:16 329

原创 SpringBoot-Mybatis

目录10. SpringBoot-Mybatis10.1 导入 MyBatis 所需要的依赖10.2 配置数据库信息10.3 测试数据库连接10.4 创建实体类10.5 创建 Mapper 接口10.6 对应的Mapper映射文件10.7 maven配置资源过滤问题10.8 编写 StudentController进行测试10. SpringBoot-Mybatis10.1 导入 MyBatis 所需要的依赖<!-- mybatis-spring-bo

2021-12-17 08:59:51 137

原创 SpringBoot-JDBC

8. SpringBoot-JDBC8.1 SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:Spring Data数据库相关的启动器 :可以参考官方文档:https://docs.spring.

2021-12-16 17:44:12 383

原创 SpringBoot-MVC自动配置原理

目录5. MVC自动配置原理5.1 官网阅读5.2 内容协商视图解析器5.3 转换器和格式化器5.4 修改SpringBoot的默认配置5.5 全面接管SpringMVC5. MVC自动配置原理5.1 官网阅读在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档!Spring MVC Auto-c

2021-12-16 17:36:08 142

原创 SpringBoot之thymeleaf模板引擎

4. thymeleaf模板引擎4.1 引入thymeleaf Thymeleaf 官网:Thymeleaf Thymeleaf 在Github 的主页:https://github.com/thymeleaf/thymeleaf 在pox.xml文件中引入thymeleaf的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa

2021-12-16 16:38:25 428

原创 JSR303数据校验及多环境切换

3. JSR303数据校验及多环境切换3.1 JSR303数据校验1、使用JSR303验证Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式@Component@ConfigurationProperties(prefix = "person")@Validatedpublic class Person { @Email(message = "用户名不

2021-12-16 16:29:46 115

原创 SpringBoot-yaml配置注入

目录2. yaml配置注入2.1 配置文件2.2 yaml概述和语法1.概述2.基础语法2.3 yaml注入配置文件2.4 加载指定的配置文件2.5 配置文件占位符2.6 结论2. yaml配置注入2.1 配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的 application.properties 语法结构 :key=value application.yml 语法结构 :key:空格 valu

2021-12-16 16:19:49 1004

原创 SpringBoot快速入门

目录1. SpringBoot快速入门1.1 pom.xml 分析1.2 编写一个http接口1.3 将项目打成jar包1. SpringBoot快速入门1.1 pom.xml 分析<!-- 父依赖 --><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</art

2021-12-16 16:06:29 101

原创 【紧急】Log4j再发2.1.6,强烈建议升级

背景继前天正式发布的2.15.0之后,Apache log4j 2 团队宣布 Log4j 2.16.0 发布!由于SLF4J适配兼容性的中断,Log4j 现在发布两个版本的SLF4J to Log4j的适配器。log4j-slf4j-impl对应 SLF4J 1.7.x 及更早版本;log4j-slf4j18-impl对应SLF4J 1.8.x 及更高版本一起使用。SLF4J-2.0.0 alpha 版本目前还不完全支持。强烈推荐升级2.16.0。修正错误1、LOG4J2-3208:默认

2021-12-16 15:55:53 256

原创 Java后端高频知识点学习笔记1---Java基础

1、重载和重写的区别重载:同一类中多个同名方法根据不同的传参来执行不同的处理逻辑;方法名必须相同,参数类型不同、个数不同、顺序不同;返回值类型可以相同也可以不同(因为返回值类型不是方法签名的一部分)重写:子类对父类的方法的实现过程进行重新编写。方法名,参数列表和返回值类型都不能改变。抛出的异常范围小于等于父类,访问修饰符范围大于等于父类。什么是方法签名?答:方法签名,区分不同方法的标示符;方法是由方法名、形参列表、返回值以及方法体构成;方法签名是由方法名与形参列表构成,也就是说,方法名和形参列

2021-12-16 15:52:34 662

原创 springcloud使用RabbitMQ消息队列

springcloud使用RabbitMQ消息队列

2021-12-16 15:36:12 172

原创 Java性能问题排查思路

定位思路定位思路-系统层面Java自带工具常用工具-arthas常用工具-MAT常用工具-jca

2021-12-16 10:40:24 206

原创 RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群

目录一、构建RabbitMQ集群1. 启动多个RabbitMQ节点2. 加入集群3. 配置镜像队列二、HAProxy负载均衡1. 安装HAProxy2. 配置HAProxy3. 启动三、KeepAlived配置高可用1. KeepAlived安装2. KeepAlived配置使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群。为什么

2021-12-13 17:07:16 1116

原创 多线程执行任务

/* 业务逻辑处理*/public class ATask implements Callable<Map<String, Object>> { private Map<String, Object> aMap; public ATask(Map<String, Object> aMap) { this.aMap = aMap; } public Map<String, Object> call() throws Ex.

2021-06-10 17:05:09 188

原创 Java如何输出Word报告

目录思路:注意事项很多企业每月或每季都会出销售报告或绩效报告等,通常都是以PPT文件的形式上报给公司领导或客户。因PPT在java运用中有所局限(有精通此方面的同行可具体沟通)本人做过的项目则是输出Word报告。思路:1、定义Word报告模板,编辑好通用的内容,数据和图表位置插入文本框,然后在文本框中插入书签名(方便调整位置)2、定义Excel图表模板,编辑宏调整图表样式 Public Declare PtrSafe Function OpenClipboard Lib

2020-11-07 17:09:39 606 1

原创 如何将HTML表头的文件转为EXCEL文件

问题:我们工作中时常会遇到在某系统导出的.xls格式的Excel文件经常在打开时提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致。打开文件前请验证文件没有损坏且来源可信。是否立即打开该文件”。如果是发生在当前系统中,需要读取此类文件,则需要我们将该文件重新另存为正常格式的Excel文件。具体解决方案如下:读取HTML文件内容并写入新文件,另存为xls中间文件,通过vbs程序修改中间文件的文件头,并通过excel的xlsm模板保存文件。最后删除中间文件,保留新转换的exc

2020-11-07 16:32:30 507

原创 手机号码归属地查询接口(精确到地市)

1、淘宝网((精确到省份) API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号码 2、百度(精确到地市) API地址:http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel=手机号码 ...

2019-08-06 19:27:14 1003

转载 JSP页面中table导出到excel

var idTmr;function getExplorer() { var explorer = window.navigator.userAgent ; //ie if (explorer.indexOf("MSIE") >= 0) { return 'ie'; } //firefox else if (explor...

2019-06-24 18:19:03 886

转载 MySQL事务锁问题-Lock wait timeout exceeded

问题现象:  接口响应时间超长,耗时几十秒才返回错误提示,后台日志中出现Lock wait timeout exceeded; try restarting transaction的错误问题场景:  1、在同一事务内先后对同一条数据进行插入和更新操作;  2、多台服务器操作同一数据库;  3、瞬时出现高并发现象;问题原因:  1、在高并发的情况下,Spring事物造成数...

2019-04-17 13:32:24 220

转载 JAVA判断文件的真实类型

在文件传输过程中,为了安全验证,对于手工改动文件后缀名产生的伪造文件进行判断过滤。比如,我们需要的是excel文件,如果不加验证内容,将一些可执行的文件通过更改后缀传输给你,就是一个很大的漏洞了。java判断文件真实类型依靠的是文件的头部编码信息,具体代码如下:import java.io.FileInputStream;import java.io.IOException;impo...

2019-03-25 18:18:34 937

转载 redis缓存在项目中的使用

1.redis缓存如何在项目中配置? 1.1redis缓存单机版和集群版配置?(redis的客户端jedis常用)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www...

2019-03-25 12:06:20 190

转载 Linux下启动/关闭Oracle

一、Linux下启动Oracle  Linux下启动Oracle分为两步:  1)启动监听;  2)启动数据库实例; 1.登录服务器,切换到oracle用户,或者以oracle用户登录[admin@dataserver ~]$ su - oracle密码:[oracle@dataserver ~]$2.打开监听服务[oracle@localhost ~]$ ...

2019-02-12 12:08:47 126

转载 SpringBoot几种定时任务的实现方式

使用Spring Task简单的定时任务在SpringBoot项目中,我们可以很优雅的使用注解来实现定时任务,首先创建项目,导入依赖:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;sp...

2019-02-11 17:21:23 173

转载 防止常见XSS 过滤 SQL注入 JAVA过滤器filter

XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。sql注入所谓SQL注入,就是通过把SQL命令插入到Web表单提交或...

2019-02-11 10:54:26 352 2

原创 idea快捷键

Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3

2017-10-10 14:58:10 195

转载 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范

SSH框架应用非常广泛,是目前较流行的一种Web应用程序开源框架。很多公司很多项目都会用到这3种框架,那么如何正确规范的使用这三种框架开发实际的项目呢?下面介绍struts、hibernate、spring的整合流程:简介:J2EE框架的基本功能需求图:第一节:struts2、spring、hibernate框架官方下载地址说明第二节:struts2、spring、

2016-12-03 10:59:58 623

原创 Struts2详解

Struts2是一种基于MVC的web应用框架,致力于组件化和代码重用的JEE Web框架。

2016-11-23 13:17:51 391

原创 介绍MVC的功能,优缺点

MVC是一种使用MVC(Model - View - Controller  模型-视图-控制器)设计的创建web应用程序的模式。Model(模型):用于处理数据和业务逻辑View(视图):用于给用户展示数据,如JSP页面Controller(控制器):建立用户数据和模型之间的映射关系,验证http请求的数据,选择响应的视图MVC的优点:低耦合性:将视图和业务逻辑分离开,便

2016-11-23 11:26:05 940

原创 操作线程的方法有哪些?

wait():使一个线程处于等待状态,并且释放所持有的对象锁。sleep():使一个正在运行的线程处于休眠状态,是一个静态方法,调用此方法需要捕捉InterruptedException异常。join():当前运行的线程将转到阻塞状态,直到另一个线程运行结束,它才恢复运行。yield():暂停当前正在执行的线程对象,并执行其他线程。notify():唤醒一个处于等待状态的线程,由JVM决定唤醒哪个

2016-11-21 14:37:22 1436

SSH连接工具

远程连接linux服务器工具,连接远程服务器SSH,FTP……

2019-02-15

xdoclet-1.2.1.zip

错误Missing library: xdoclet-1.2.1.jar. Select the home directory for XDoclet. 1.2.1,解决方法

2019-02-15

select2控件回显方法

JavaScript 技术: select2控件选择多个数据,以及回显数据的方法 。

2018-09-12

jdbc数据jar包

Oracle11g的jdbc的 jar包,有需要的朋友请来下载!有需要的朋友请来下载!

2017-10-10

空空如也

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

TA关注的人

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