![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java成长之路
文章平均质量分 76
时之语
越努力越幸运
展开
-
Redis集群部署操作流程(版本大于5.0)
1. 下载http://download.redis.io/releases/本文以6.2.0版本为例2. Redis单体服务安装1. 文件解压下载的redis-6.2.0.tar.gz文件上传到linux服务器的/usr/local/目录下,解压缩tar -zxvf redis-6.2.0.tar.gz,得到redis-6.2.0文件夹2. 编译安装进入redis-6.2.0文件夹,执行指令make编译编译结束之后,安装redismake PREFIX=/usr/local/redis原创 2021-08-04 10:46:46 · 124 阅读 · 0 评论 -
浅谈对Spring的理解
本文主要针对Spring Framework做一些简单的理解前言基本上我们一谈及对Spring的理解,很多人第一时间想到的就是IOC和AOP。但是,本文将从其他角度出发,先说一说BeanDefinitionBeanPostProcessor说到IOC和AOP,那我们简单回顾一下:1. IOC所谓的控制反转。通俗地讲,就是把原本需要程序员自己创建和维护的一大堆bean统统交由Spring管理。也就是说,Spring将我们从盘根错节的依赖关系中解放了。当前对象如果需要依赖另一个对象,只要打原创 2021-07-19 14:18:33 · 980 阅读 · 0 评论 -
使用Joda-Time进行时间处理(一种避免SimpleDateFormat在多线程环境下时间异常的处理方式)
前言SimpleDateFormat导致的多线程问题一、问题的起因SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,由于DateFormat和SimpleDateFormat 类不都是线程安全的,在多线程环境下调用format()和parse()方法都会引发多线程安全问题。究其原因,是因为每个线程都更改了Calendar值。format()和parse()方法也是线程不安全的,比如parse()实际调用的是CalenderBuilder的原创 2021-05-18 17:51:26 · 1090 阅读 · 2 评论 -
idea提交代码设置忽略class、target、log等文件的方法
示例:原创 2021-05-14 11:47:04 · 4731 阅读 · 0 评论 -
MYSQL存储时间数据的数据类型选择
今天测试发现公司某项目中设置用户出生日期的接口报错,查看日志发现是mysql用的timestamp存储birthday,而我设置的生日是1949年。这个数据在真实场景是正常的,那么问题就出在表字段的数据类型上了。之前没有在意这些,今天发现了就记录一下。大家在设计数据库的时候也不能无脑复制,需要根据业务设置最佳的数据类型和长度。一、Mysql中用来存储日期的数据类型有三种:Date、Datetime、Timestamp。1. Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格原创 2021-05-10 15:51:39 · 7006 阅读 · 0 评论 -
“多任务并行处理,要求同时处理,并且必须所有任务全部完成才返回结果”的实现方式
这个问题的难点是:既然要同时处理,那么肯定要用多线程。怎么设计多线程同时处理任务呢?要求返回结果,那么就不能用简单的Thread+Runnable了,这个是无返回结果的最难的是,这些任务彼此间还有关系:任务全部结束才算完成package top.chengsw.demo;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;public class CompletableFuture原创 2021-05-08 17:21:43 · 1197 阅读 · 0 评论 -
Spring boot项目集成jacoco代码覆盖率测试
1. 将Springboot项目打包将需要做代码覆盖率测试的模块打成jar包本例的打包位置D:\Java\IDEA_WorkSpace\gitee\myweb\target\web.jar2. 访问jacoco官网下载并解压最新包http://www.eclemma.org/jacoco/本例以jacoco-0.8.7版本为例,存放路径D:\jacoco-0.8.7\3. 下载并配置antant下载地址::https://ant.apache.org/bindownload.cgi下原创 2021-04-29 17:54:38 · 1049 阅读 · 1 评论 -
同源策略与跨域
同源策略同源策略-百度百科同源策略,它是由Netscape提出的一个著名的安全策略。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,原创 2021-04-08 17:50:07 · 145 阅读 · 0 评论 -
Linux服务器Jenkins自动化部署教程
一、环境准备1. 安装JDK利用yum脚手架工具,查询jdk版本yum -y list java*使用以下指令安装JDK。带“-devel”的是JDK,不带的是jre。==yum install java-1.8.0-openjdk-devel.x86_64==安装完成,使用 java -version 命令查看是否安装成功。安装位置 /usr/lib/jvm2.安装Jekins这里推荐使用yum方式安装Jenkins,最简单方便。yum的repos中默认是没有Jenk原创 2020-08-13 11:07:47 · 4022 阅读 · 2 评论 -
ArrayList初始化长度的作用及影响
平时写代码都直接写List<String> list = new ArrayList<>();由于公司做政府项目,对并发和响应没有太苛刻的要求,平时就没有考虑到这一块。今天看同事代码在new ArrayList<>()的时候带入初始容量,于是好奇百度一下,讲结果记录下来。一、有无初始容量的区别 /** * The maximum size of array to allocate. * Some VMs reserve some header原创 2020-05-26 18:20:12 · 5884 阅读 · 2 评论 -
将本地项目添加到gitee仓库的操作流程
IDEA用习惯了,经常忘记怎么用git初始化项目,记个笔记备忘将本地项目添加到gitee仓库的操作流程:码云上创建一个项目,例如 fighting本地创建一个文件夹D:/Java/fighting,然后鼠标右击选择git bash here使用 git init 命令,初始化一个git本地仓库(项目),会在本地创建一个 .git 的文件夹使用git remote add origin fighting的git克隆地址 //添加远程仓库使用 git pull orig原创 2020-05-18 15:03:26 · 7325 阅读 · 4 评论 -
通过Nginx、Docker进行项目部署的总结
1.Linux下如何找到JDK安装位置1、echo $JAVA_HOME使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量 $JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径2、which java首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。那么怎么定位到java的安装路径呢?如下操...原创 2020-03-22 23:37:47 · 953 阅读 · 0 评论 -
Redis学习笔记
Redis版本:redis 3.2.11第一节 Redis简介1.1 NoSQLNoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2...原创 2020-02-01 19:53:35 · 474 阅读 · 0 评论 -
利用Ngrok实现内网穿透
Ngrok配置登录官网http://www.ngrok.cc/注册账号,登录,进入个人中心开通隧道新用户需要先开通隧道,用于配置内网穿透信息配置外网访问的域名可以自定义客户端使用下载客户端,选择Sunny-Ngrok启动工具.bat访问目标服务如上操作完成,访问Ngrok分配的前置域名/自定义域名访问内网服务,输入隧道中配置的http验证用户名/...原创 2019-12-28 10:03:47 · 243 阅读 · 0 评论 -
利用华为云服务器部署Docker
1. 购买云服务器这个不赘述,直接去官网购买https://www.huaweicloud.com/2.环境准备以我个人经历为例,我买的是弹性云服务器ECS,买的时候是window 2008 server操作系统,用不惯。第一步:切换centOS7.5打开控制台,进入ECS详情进入如下界面,先关机,再切换操作系统,之后按照步骤执行即可。配置安全组登录服务器a).使用华为...原创 2019-12-26 11:03:25 · 6981 阅读 · 0 评论 -
常用设计模式说明
常用设计模式汇总一、单例模式简言之,一个应用程序中,某个类的实例对象只有一个,你没办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。懒汉式(线程不安全)public class Singleton { private s...原创 2019-12-09 20:07:20 · 137 阅读 · 0 评论 -
SpringBoot+Mybatis+Swagger2环境搭建+logback-spring日志打印及入库
本文简介本文将基于Spring官方提供的快速启动项目模板集成Mybatis、Swagger2框架,并讲解mybatis generator一键生成代码插件、logback、一键生成文档以及多环境的配置方法,最后再介绍一下自定义配置的注解获取、全局异常处理等经常用到的东西。为什么使用SpringBoot相对于传统的SSM框架,SpringBoot提供了默认的样板化配置,简化了Spring应用的...原创 2019-11-26 16:11:29 · 5101 阅读 · 0 评论 -
Spring Boot 整合 RabbitMQ
1. 前言RabbitMQ是一个消息队列,消息队列的功能主要用来实现应用服务的异步和解耦,削锋填谷、消息分发; 解耦; 在分布式系统中,也可用于其他地方,如分布式事务的支持(阿里的RocketMQ)。2. RabbitMQ介绍RabbitMQ是实现AMQP的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。Rabbit...原创 2019-10-21 17:47:12 · 151 阅读 · 0 评论 -
MongoDB自学笔记
1.mongoDB简介1.1简单介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言...原创 2018-12-07 08:28:02 · 145 阅读 · 0 评论 -
Java代码优化六大原则
单一职责代码优化第一步,单一职责原则 (Single Responsibility Principle)。对于一个java类,应该仅有一个引起它变化的原因,也就是说,一个类中,应该是一组相关性很高的函数、数据的封装。但是这个原则的界限划分的并不是那么清晰,很大程度上要依赖于开发者的个人经验来定。对于单一职责界限的划分最大的问题就是类的职责是什么,如何划分类的职责。 单一职责原则在我们...原创 2019-01-07 15:05:53 · 995 阅读 · 0 评论 -
本地Oracle服务一栈式解决方案&常见问题解决方法
资料下载地址:链接:https://pan.baidu.com/s/1g4ghy77w-wdd4BJLlDjPyw 提取码:i10i Oracle/MySQL数据快速导入MySQL,请移步:Oracle数据快速导入MySQL的方法一、Oracle服务本地安装流程1.1 解压,两个压缩包一起解压win64_11gR2_database_1of2.zipwin64_...原创 2019-02-21 15:49:24 · 402 阅读 · 0 评论 -
Oracle/MySQL数据快速导入MySQL的方法
本地Oracle安装请移步:本地Oracle服务一栈式解决方案&常见问题解决方法一、工具Navicat Premium 12,有能力的请支持正版,下面分享一个免安装学习版,仅供学习使用链接:https://pan.baidu.com/s/1KxnNdxqeCWtQPGFxH3g_Yg 提取码:vx6b 复制这段内容后打开百度网盘手机App,操作更方便哦二、O...原创 2019-04-28 12:02:22 · 6657 阅读 · 2 评论 -
Windows本地安装MySQL Server 8.0服务器&问题解决方案
Windows本地安装MySQL Server 8.0服务器&问题解决方案一、MySQL Server 8.0的安装1.下载二、安装三、8.0的连接问题处理解决方法密码为安装MySQL Server 8.0时设置的最后的密码是你重新设置的,可以保持一致问题解决!一、MySQL Server 8.0的安装你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使...原创 2019-04-28 17:32:29 · 2333 阅读 · 0 评论 -
Maven的构建生命周期理解
以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html一、构建生命周期基础:Maven基于构建生命周期的中心概念。这意味着构建和分发特定工件(项目)的过程被明确定义。对于构建项目的人员,这意味着只需要学习一小堆命令即可构建任何Maven项目,POM将确...原创 2019-04-25 11:33:02 · 122 阅读 · 0 评论 -
mongoDB及mysql的去重语句
最近使用mongoDB用到数据去重,自己学习了一下,记录下结果。1.mongoDB可视化工具: 使用mongoDB的可视化工具robo 3T,选择需要去重的表,例如: 去重语句如下://后的内容为注解,使用时删除db.getCollection('soft_patent').aggregate( { $group:{ '_id':...原创 2018-11-29 21:31:25 · 2539 阅读 · 0 评论