自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 类加载机制

我们知道,我们写的java文件是不能直接运行的,我们可以在IDEA中右键文件名点击运行,这中间其实掺杂了一系列的复杂处理过程。这篇文章,我们只讨论我们的代码在运行之前的一个环节,叫做类的加载。按照我写文章的常规惯例,先给出这篇文章的大致结构;首先,认识类加载机制,然后,详细介绍类加载的过程。最后,介绍了类加载器,还有双亲委派原则。废话不多说,直接来看吧。一、什么是类的加载java文...

2020-03-25 10:18:27 124

原创 springboot整合xxl-job

一、使用背景  目前项目中,采用的是微服务框架,由于在微服务中,存在需要定时的任务。但如果定时任务维护在每个微服务下,当微服务部署多个实例的情况下,会出现定事任务多次执行的情况。并且在解决问题的基础上,希望能够实现动态修改任务的定时时间,可以通过页面对定时任务进行控制。二、XXL-JOB简单介绍  首先,XXL-JOB是一个轻量级分布式任务调度平台,内容采用了Quartz定时框架实现,...

2020-03-03 17:34:05 210

原创 阿里云安装redis

一、在阿里云服务器上安装redis:  1.下载  wget http://download.redis.io/releases/redis-4.0.9.tar.gz  2.解压  tar xzf redis-4.0.9.tar.gz  3.跳转目录  cd redis-4.0.10  4.安装  make  5.启动服务端:src/redis-server  6.启动客户...

2020-02-28 11:40:13 151

原创 防止重复提交的解决办法

token 机制,防止页面重复提交  业务要求:页面的数据只能被点击提交一次  发生原因:由于重复点击或者网络重发,或者 nginx 重发等情况会导致数据被重复提交解决办法:集群环境:采用 token 加 redis(redis 单线程的,处理需要排队)单 JVM 环境:采用 token 加 redis 或 token 加 jvm 内存处理流程:数据提交前要向服务的申请 tok...

2019-01-09 10:18:41 309

原创 transient和@Transient的使用

transient为java关键字,可阻止实例变量值的持久化。ObjectInputStream,ObjectOutputStream @Transient为hibernate注解,表示在ORM映射框架中,对应的字段为非数据库表的字段映射,可灵活应用为辅助字段。 ...

2019-01-09 09:44:54 1367

原创 JWT

/** * jwt工具类 */public class JwtUtils { public static final String SUBJECT = "zhuzhenqi"; public static final long EXPIRE = 1000*60*60*24*7; //过期时间,毫秒,一周 //秘钥 public static fin...

2019-01-08 19:41:27 137

原创 获取客户端ip

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.abc.com/的URL时,用request.getRemoteAd...

2019-01-08 19:13:50 181

原创 lambda之reduce操作

 { List<Integer> list = new ArrayList<>(); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); list.add(7); ...

2019-01-08 19:11:30 2943

原创 深刻理解++i 与i++本质区别

i++:1.先把i的值push到操作数栈,假设i的初始值为0;2.把操作数栈的值写回本地变量表里;3.本地变量表对应的数值加1注意:但是当把i++赋值给i,即i=i++时本地变量表中对应的数值首先不会进行自增操作,而是把当前本地变量表中对应的数值push到原来的操作数栈中,然后本地变量表中对应的数值再进行自增,时本变量表中对应的数值为1,操作数栈中的i为0,还没有结束,此时操作数栈...

2019-01-08 16:59:27 1120 1

原创 base64加密解密

package com.example.demo.study;import java.nio.charset.StandardCharsets;import java.time.Clock;import java.util.Base64;public class Base64Study { public static void main(String[] args) { ...

2019-01-08 11:29:35 211

原创 基于redis实现分布式锁

首先我们要通过Maven引入Jedis开源组件,在pom.xml文件加入下面的代码<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version>

2019-01-04 11:06:48 98

原创 try finally运用细节

1、不管try,finally都会执行;2、在try中return,在finally执行前会把结果保存起来,即使在finally中有修改也以try中保存的值为准,但如果是引用类型,修改的属性会以finally修改后的为准;3、如果try/finally都有return,直接返回finally中的return。...

2018-12-06 17:21:08 354

原创 lambda表达式运用的细节

1.在l利用ambda表达式进行集合操作的时候,break,return 不能终止或者跳出循环2.在lambda表达式的局部变量一定是只初始化一次,如果不是的话会报错:not effictive final,这样设计的目的为了防止当这个变量被别的地方引用,会改变变量的值。3.如果想在遍历集合的时候改变集合的元素的值,可以用peek这个惰性操作4.求集合的交集,差集和交集用conta...

2018-11-11 22:33:38 216

原创 io的理解

package com.example.demo.study;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class IoStudy { public static void main...

2018-11-04 23:55:24 203

原创 冒泡排序

package com.example.demo.study;/** * * @author Administrator */public class BubbleSort { public static void main(String[] args) { int [] arr = {2,4,1,8,6,5,7,5,4}; BubbleSor...

2018-10-28 22:08:35 89

原创 快排

package com.example.demo.controller;import com.google.common.primitives.Ints;public class StudyQuickSort { /** * 把基准元素放在中间 * @param arr * @param start * @param end *...

2018-10-21 21:33:03 103

原创 Spring boot 定时任务

package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.Enab...

2018-05-30 13:39:31 166

原创 spring boot Excel导出

yml: spring: datasource: name: mybatis url: jdbc:mysql://127.0.0.1:3306/test1 username: root password: root type: com.mysql.jdbc.Driver initialSize: 5 minIdle: 5 ...

2018-05-24 15:44:12 2393 2

房屋租赁合同.docx

房屋租赁合同简单版

2021-04-16

省市区县数据库的设计以及数据

省市区县数据库的设计以及数据省市区县数据库的设计以及数据

2018-06-24

空空如也

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

TA关注的人

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