自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack方

你知道的越多,你不知道的越多。

  • 博客(97)
  • 资源 (9)
  • 收藏
  • 关注

原创 Hutool Java常用工具类汇总

简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。包含组

2020-07-27 17:03:31 5704 5

原创 最新Java面试题,常见面试题及答案汇总

Java最新面试题、面试题答案汇总

2019-07-12 08:56:55 577574 54

原创 linux系统、centos服务器常用命令,端口、firewalld防火墙相关命令

centos常用命令一、端口查看端口lsof -i tcp:80列出所有端口netstat -ntlp1、开启端口(以80端口为例)方法一:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改/etc/init.d/iptables save 保存修改service iptables restart ...

2019-04-19 14:34:39 467

原创 http test

public static void main(String[] args) { try { List<Header> headerList = new ArrayList<>(); headerList.add(new BasicHeader("version",RsaUtil.decrypt(System.currentTimeMillis() + "@8888", RsaUtil.PUBLIC_KEY)));

2021-12-06 15:31:56 13

原创 (六)Java多线程——线程池

线程池首先有几个接口先了解第一个是Executor,第二个是ExecutorService再后面才是线程池的一个使用ThreadPoolExecutor1、ExecutorExecutor 顾名思义执行者,所有他有一个方法叫执行,执行的东西叫Runnnable,由于它是一个接口,所以它有很多实现,因此我们说有了Executor之后呢,我们线程就是一个任务的定义,比如RUnnable起了一个命令的意思,他的定义和运行就可以分开了,不像我们以前定义一个Thread,new一个Thread然后去重写的R.

2021-06-30 15:39:37 615 5

原创 (五)Java多线程 —— 并发容器

从Vector到Queue的发展代码解释:有一万张车票,分10个窗口卖票(也就是10个线程),看看各种容器在这种场景下会不会超卖以及效率。总结:1- ArrayList 没有加锁 线程不安全 超卖2- Vector size和remove都有加锁 但是他们2个中间没有加锁 会超卖3- LinkedList 使用了并发容器 并且加了synchronized 可以实现 但是效率不是最高方案4- 效率最高的queue 多线程的单个元素的时候可以考虑用queueimport java.util.

2021-06-29 17:15:58 175

原创 (四)Java多线程 -- 并发同步工具CountDownLatch 倒数门栓、CyclicBarrier 循环栅栏、Phaser 阶段、ReadWriteLock 读写锁、Semaphore 信号灯

1、CountDownLatch 倒数门栓代码解释:门栓计数100,每一个线程结束的时候我让latch.countDown(),然后所有线程start(),再latch.await(),最后结束。作用:latch.await() 的作用就相当于门卫,每个线程执行完成都会减一,直到=0时,门卫就会开门。然后执行后面的代码。相比join更为灵活/** * 多线程生成雪花ID */ public static void main(String[] args) thro

2021-06-28 16:15:12 218

原创 Java通过Delayed延时队列 来实现关闭已超时的订单

1、定义延时订单类定义唯一的订单编号、超时时间、类型等字段类需要实现Delayed, Serializable 接口import lombok.Data;import java.io.Serializable;import java.util.Date;import java.util.concurrent.Delayed;import java.util.concurrent.TimeUnit;/** * @program: bike-lease * @description:

2021-03-30 16:26:21 396

原创 Async异步线程执行器的定义与使用

java后台很多场景是需要异步去处理的,比如耗时比较的大的,以及当前任务关系不是很依赖的推送、发送短信、赠送卡券优惠券、打包zip等等。这个时候异步执行器会很方便。1、定义多线程池启用异步注解:@EnableAsyncExecutorConfig.javaimport lombok.extern.slf4j.Slf4j;import org.springframework.context.annotation.Bean;import org.springframework.context..

2021-03-30 11:13:02 238

原创 AOP实现记录用户操作日志

1、依赖 <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.11</version> </dependency>

2021-03-30 11:00:30 671

原创 Centos7下Mysql的安装与使用(.gz版)

1、下载mysql安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloadsmysql-5.7.24-linux-glibc2.12-x86_64.tar.gz2、上传到服务器解压安装解压:tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz移动到安装目录并重命名一下:mv mysql-5.7.24-linux-glibc2.12-x86_64 /apps/software/mysql

2021-02-02 14:35:56 265

原创 (三)Java多线程 —— 并发编程与线程安全

并发编程与线程安全一、并发模拟Postman:Http请求模拟,并发模拟Apache Bench(AB):Apache附带的工具,测试网址性能JMeter:Apache组织开发的压力测试工具代码:Semaphore(信号量)、CountDownLatch(计数器)二、线程安全性定义:当多个线程访问某个类时,不管运行时环境采用【何种调度方式】或者这些进程将如何交替执行,并且在主调代码中【不需要任何额外的同步或协同】,这个类都能表现出【正确的行为】,那么就称这个类是线程安全的。原子性:提供

2020-06-18 17:05:12 733

原创 (二)Java多线程 —— 并发编程的基础

并发编程的基础一、 CPU多级缓存1)为什么需要CPU cache:CPU的频率太快了,主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu -> cache -> memory).2)CPU cache有什么意义:时间局部性:如果某个数据被访问,那么在不久的将来它可能被再次访问。空间局部性:如果某个数据被访问,那么与它相邻的数据很快也可能被访问。3)CPU 多级缓存 - 缓

2020-06-18 16:31:23 438

原创 (一)Java多线程 —— 基本概念

一 、基本概念并发同时拥有两个或者多个线程,如果线程在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时“存在”的,每个线程都UC呼吁执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行。高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够 同时并行处理 很多请求。对比并发:多个线程操作相同的资源,保证线程安全,合理使用资源。高并发:服务能同时处

2020-06-18 16:08:03 500

原创 Springboot2.3集成Spring security 框架(原生集成)

0、pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.x

2020-06-02 17:46:05 1997

原创 一、Springboot2.3加Mybatis-plus集成Apache Shiro实现权限管理(原生集成)

0、项目结构图1、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/

2020-06-02 17:26:56 571

原创 spring 集成Redisson,实现分布式锁

使用的业务场景:例如:电商项目的分布式系统,需要定时关闭超时的订单信息,我们会利用spring的调度定时去处理,但由于是分布式的会互相竞争资源,所以需要用到分布式锁,让每个进程之间互相去竞争锁,获得锁的进程才去执行任务。这样就能保证事务的原子性,代码的健壮性。0、pom.xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</arti.

2020-05-27 17:28:54 270

原创 SpringMVC集成spring session + redis实现单点登录

0、pom.xml 依赖包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.

2020-05-20 17:00:45 368

原创 Java集成Redis分布式 (SpringMVC框架)

Java集成Redis+Jedis分布式0、pom.xml依赖、redis.properties属性配置pom.xml:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.0</version> </dependency>redis.

2020-05-19 15:53:49 213

原创 Springboot + Mybatis配置多数据源

0、pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId>

2020-05-15 18:41:39 355

原创 Springboot集成Redis,编写Redis工具类

0、pom添加redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>1、application.properties配置Redis连接属性spring.redis.host=localhostsprin

2020-05-15 17:19:20 472

原创 自定义JsonUtil工具类,封装了:string,list,Map等数据类型的互相转换。

自定义JsonUtil(Json转换工具类)前言提供了 对string、list、list、Map 等类型数据之间的相互转换方法。高级封装:对时间格式、NULL数据、NULL字段做了相关处理。0、pom依赖 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId>

2020-05-15 11:49:14 1119

原创 Java集成Redis,编写Redis操作工具类(SpringMVC框架)

Java集成Redis+Jedis0、pom.xml依赖、redis.properties属性配置pom.xml:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.0</version> </dependency>redis.pro

2020-05-14 17:25:49 668

原创 Redis操作命令详解

以下命令基于linux,windows下除启动命令有一点差别之外其他一样。1、启动命令1.1、进入redis src目录默认启动:./redis-server指定端口:./redis-server --port 6379指定配置文件:./redis-server ../redis.conf1.2、进入操作平台默认启动:./redis-cli指定端口:./redis-cli -p 6379指定IP:./redis-cli -p 6379 -h 127.0.0.1指定密码:./redi.

2020-05-13 17:01:21 157

原创 Windows下安装下Redis

下载地址:https://github.com/microsoftarchive/redis/releases点击releases(再点击tags可以选择历史版本redis)然后选择最新版本,Redis-x64-3.2.100.zip下载。下载后解压。cmd 进入redis文件夹redis-server.exe 启动redis见下图表示成功。另外开一个窗口进入redis目录,输入redis-cli 进入redis操作平台测试set get完。...

2020-05-13 16:46:30 77

原创 Java 集成LMDB

0、pom.xml依赖<!-- LMDB --> <dependency> <groupId>org.lmdbjava</groupId> <artifactId>lmdbjava</artifactId> <version>0.7.0</version> </dependency>1、application.properties配置:#maven多环境打包的支持l

2020-05-12 16:20:41 724 1

原创 Centos7下Git安装与使用

官网下载地址:https://github.com/git/git/releases/Linux直接下载:wget https://github.com/git/git/archive/v2.26.2.tar.gz依赖安装:yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel p...

2020-04-26 16:26:05 307

原创 Centos7下Mysql的安装与使用(.rpm版)

安装:yum -y install mysql-server检查是否安装:rpm -qa|grep mysql-server如果安装时提示:No package mysql-server available.wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-communi...

2020-04-26 16:24:31 127

原创 Centos7下Nginx安装与使用

官网地址:http://www.nginx.org选择最新稳定版本(Stable version):nginx-1.18.0.tar.gz下载后放到:/usr/local/src安装依赖:yum install gcc (可以输入gcc -v 检查版本,是否已安装)yum install pcre-develyum install zlib zlib-develyum instal...

2020-04-26 16:22:25 255

原创 Centos7下vsftpd的安装与使用

前言:vsftpd(very secure FTP daemon.)是一个免费开源的ftp服务器软件优点:小巧轻快,安全易用,支持虚拟用户,支持带宽配置。1.安装yum -y install vsftpd检查是否已安装vsftpdrpm -qa|grep vsftpd默认配置文件路径/etc/vsftpd/vsftpd.conf2.创建虚拟用户编辑vi /etc/shell...

2020-04-26 16:19:23 296

原创 Linux系统下(Centos7)安装Maven,常用命令

先确保已安装JDK1.下载、解压、转移目录官网下载地址:http://maven.apache.org/download.cgi选择版本:apache-maven-3.6.3-bin.tar.gz下载放到:/usr/local/srccd /usr/local/src解压tar -zxvf apache-maven-3.6.3-bin.tar.gz转移目录mv apache-ma...

2020-04-26 16:13:25 530

原创 Linux系统下(Centos7)安装Tomcat,常用命令

1.下载Tomcat:下载地址:https://tomcat.apache.org/download-80.cgi选择版本(根据自己情况选择):apache-tomcat-8.5.51.tar.gz2.解压,移动解压后的文件到/usr/local/tomcat-8.5tar -zxvf apache-tomcat-8.5.51.tar.gzmv apache-tomcat-8.5.51 ...

2020-04-26 16:12:05 208

原创 Linux系统下(Centos7)安装JDK ,常用命令

官网下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html选择下载:jdk-8u251-linux-x64.rpm1.清理自带的openjdkrpm -qa|grep jdk卸载命令sudo yum remove xxx2.赋予权限sudo chmod 777 jdk-8u251-linux...

2020-04-26 16:08:16 104

原创 Centos7切换软件源

备份Centos7的源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载阿里云CentOs-Base.repo 到/etc/yum.repos.d/wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/r...

2020-04-26 16:06:11 457

原创 Java高并发、秒杀电商项目--实战

项目说明注意:此项目仅为个人学习使用的项目项目背景这个项目是根据我在慕课网上面学习的《Java秒杀系统方案优化 高性能高并发实战》这门课程后,又加了个支付宝支付的整合的一个项目。这是一个基于java技术的手机秒杀网站主要是学习秒杀、多并发、性能提升方面的知识。项目环境IDEA(Eclipse)+Maven本地虚拟机 + centos7 (注:有真实服务器更好。可以测试更真实的压测数据...

2020-04-22 17:39:28 3409 2

原创 RabbitMQ安装与使用(基于Linux环境)

重要!重要!重要!:查看 erlang 与 rabbitmq 版本对照表,版本不对应,累死都搞不定!https://www.rabbitmq.com/which-erlang.html1、安装依赖erlang官网下载erlangwww.erlang.org/downloads安装依赖yum -y install ncurses-develyum -y install perl解压...

2020-04-22 17:11:18 398

原创 Redis安装与使用(基于Linux环境)

官网下载redis linux版本:https://redis.io1、上传redis-4.0.2.tar.gz到服务器的: /usr/local/src2、进入上传的目录解压:cd /usr/local/srctar -zxvf redis-4.0.2.tar.gz3、移动到: /usr/local/redismv redis-4.0.2 /usr/local/redis4、安...

2020-04-22 16:59:26 205

原创 Java POI工具类之 - 根据POJO的类字段,自定义Excel导入导出。

1、定义 excel导入导出注解类(ExcelAnnotation),方便与POJO类互动import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Reten...

2020-04-15 14:50:35 577 2

原创 Java对接支付宝支付功能

1、 登录支付宝开通沙箱模式的支付权限。什么是 沙箱模式?蚂蚁沙箱环境 (Beta)是协助开发者进行接口功能开发及主要功能联调的辅助环境。沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考“沙箱支持产品列表”)。我的理解:即为测试模式,基本和线上流程一直,测试通过后可替换为 真实的应用账号与私钥。登录支付宝开发平台官网:https://open.alipay...

2020-03-30 11:13:54 742

原创 用Java来比对两个数据库的所有表,输出表、字段、注解不同的地方到txt文件中

需求背景:我们工作中经常会用到多个环境下的数据库,因此需要经常同步开发、生产的数据库表结构,所以我这边用java开发了一个可以快速比对2个不同数据库的所有表结构的工具类。使用方法:依赖:JDK1.8、MySql8、lombok(作用是省掉get set方法,可以去掉自己写get set)只需要在main方法中输入两个数据库的连接,需要比对的数据库名称,然后运行mian方法,然后结果就会默认...

2020-03-27 14:23:06 991 1

(ArcSoftFaceDemo.rar)JAVA、基于虹软人脸识别SDK,springboot+mybatis+mysql 的人脸注册与搜索项目DEMO

JAVA、基于虹软人脸识别SDK,springboot+mybatis+mysql 的人脸注册与搜索项目DEMO

2019-08-23

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

2019-03-21

layui-自定义多选-禁用.rar

基于layui的日期控件进行拓展的控件。自定义layui日期控件,实现可以多选、禁止选择(例如某周六周天不可选)。

2019-05-23

demo-druid-master.rar

一个关于Hbase集成Mysql、springboot、mybatis的项目Demo,实现了增删改查。

2020-03-02

assembly项目打包插件,包含windows与linux环境下的启动脚本

maven项目、springboot项目使用assembly插件打包,实现项目可配置化、生成系统日志、jar文件与项目分离,并生成windows与linux环境下启动、停止等操作的脚本文件。

2019-04-16

lcn-demo.rar

基于LCN 的微服务事务管理项目Demo。管理SpringCloud + springboot微服务之间的事务 处理,异常回滚操作。

2020-01-13

hbase-mybatis-demo.rar

Springboot集成Phoenix+Hbase+MybatisPlus的一个Demo项目,实现了对Hbase数据库表的增删改查操作。

2020-08-14

java反编译软件

java反编译软件,这是一款将.class文件反编译成java文件的好工具

2019-04-04

EditPlus3中文版文档编辑器,

EditPlus3档编辑器,中文版。超级好用的文档编辑器。EditPlus3档编辑器,中文版。超级好用的文档编辑器。

2019-03-21

空空如也

空空如也

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

TA关注的人 TA的粉丝

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