- 博客(109)
- 资源 (2)
- 收藏
- 关注
原创 时间曲线统计图数据结构,时间工具
曲线图数据结构,饼图数据结构,日期工具类,list.stream(),list.stream().filter
2022-07-19 18:06:57
617
1
原创 Java8 CompletableFuture和ExecutorService用法
whenComplete是当某个任务执行完成后执行的回调方法,会将执行结果或者执行期间抛出的异常传递给回调方法,如果是正常执行则异常为null,回调方法对应的CompletableFuture的result和该任务一致,如果该任务正常执行,则get方法返回执行结果,如果是执行异常,则get方法抛出异常。job1和job2几乎同时运行,job2比job1先执行完成,等job1退出后,job3和job4几乎同时开始运行,job4先退出,等job3执行完成,job5开始了,等job5执行完成后,主线程退出。...
2022-07-19 17:43:05
1593
原创 Java常见设计模式总结
一、设计模式总述:1、什么是设计模式: 设计模式是一套经过反复使用的代码设计经验,目的是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式于己于人于系统都是多赢的,它使得代码编写真正工程化,它是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。总体来说,设计模式分为三大类:创建型模式:共5.....
2022-07-07 15:13:18
307
转载 sql优化常用的几种方法:19种最有效的sql优化技巧
我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。再例如:select id from t where num in(1,2,3) 对于连续的数值,能用between就不要用in了;再或者使用连接来替换。3、SE
2022-07-07 15:12:34
25398
转载 JVM原理与深度调优
什么是jvmjvm是java虚拟机 运行在用户态、通过应用程序实现java代码跨平台、与平台无关、实际上是"一次编译,到处执行"1.从微观来说编译出来的是字节码!去到哪个平台都能用,只要有那个平台的JDK就可以运行!字码好比是一个人,平台好比为国家,JDK好比这个国家的语言!只要这个人(字节码)有了这个国家的语言(JDK)就可以在这个国家(平台)生活下去。2.JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和J
2022-04-27 01:18:44
110
转载 在Mysql中,事务是如何实现的呢?
hello大家好,我是一个爱看底层的小码,对于每一个学习mysql数据库的同学来说,事务都是一个绕不开的话题,简单的说来事务是指访问并可能更新数据库中各项数据项的一个程序执行单元。事务的四个特征无非就是老生常谈的原子性,一致性,隔离性和持久性。可是如果真的去深究事务的实现原理,你们真的理解吗? 在我看来,一个正常的事务要达到怎么样的效果呢?或者说哪些是它最重要的点呢?无非是可靠和并发处理。 详细的说,可靠就是指数据库在执行crud操作(主要是c和u)时抛出异常或者数据库crash(崩溃)时需
2021-05-06 16:14:02
676
转载 SpringBoot的工作原理
我们已经有了很多创建SpringBoot项目的经验,比如我们要创建一个支持web开发的项目,我们只需要引入web-starter模块即可。那么,SpringBoot为什么这么神奇?引入的依赖变少了,配置文件也不见了,但项目却可以正常运行。下面我们一起来探究这背后的逻辑:1,为什么依赖的依赖变少了?SpringBoot是如何管理这些依赖的?我们分两个点来看起1.1 从pom文件出发首先,是有一个父工程的引用我们继续往里面跟踪,发现父工程又依赖于另一个父工程继续跟踪,发现这是
2021-04-28 10:17:15
643
转载 centos 7 版本升级nginx
centos 7 版本升级nginx1、首先下载对应最新版nginx 1 wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2、然后就是建立yum仓库 1 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm 3、卸载系统原.
2021-02-23 11:42:16
190
原创 Linux 读写速度简单测试
一、安装hdparmyum -y install hdparm二、测试服务写入速度hdparm -t /dev/sda三、测试服务读取速度time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file四、查看磁盘df -lh
2020-10-30 15:34:58
287
转载 Java性能优化的50个细节(珍藏版)
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2. 尽量避免随
2020-10-13 11:41:06
128
原创 Centos7 jar服务开机自动启动
在linux服务器下,出现服务器断电、服务器重启等情况,这时候就需要一些服务开机自启动。环境:centos7虚拟机、jar包、jdk8前提:1、centos7已经配置jdk8环境2、上传jar包、新建脚本文件、日志文件等2.1、新建启动脚本 jar-cachfile-service-start.sh#!/bin/shrt JAVA_HOME=/etc/alternatives/jre_1.8.0_openjdkexport PATH=$JAVA_HOME/bin:$PATH
2020-10-12 11:01:08
734
2
转载 【系统】[Linux]CentOS 7之下载、制作U盘系统盘篇
下载CentOS镜像:下载这个CentOS镜像的方式有很多种,这这里只介绍2种比较好的下载链接网址与方式。第一种:进入http://centos.ustc.edu.cn/centos/此官方下载网站,包含了所有的版本,在这里,最新的能下载iso的是7.2版本。在这里,我演示的是7.0版本的。点击7.0.1406进入…然后点击isos目录,继续进入…这个版本只有64位的,于是我们选择这个64位版本进去…下面这些列出的,是CentOS7 的不同小版本,一般的,我们下载.
2020-10-10 15:16:57
307
原创 springboot启动后马上执行
创建一个自定义缓存的类(静态map)实现CommandLineRunner接口,重写run方法import java.util.HashMap;import java.util.List;import java.util.Map; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.CommandLineRunner;import org.spring
2020-09-25 10:52:23
172
原创 CentOS7 安装RabbitMQ
第一、下载erlang和rabbitmq-server的rpm:wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpmwget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm注:如果遇到下载缓慢,可以尝试使用百度云盘的离线下载然后,把下..
2020-09-17 19:02:38
167
原创 Centos7开放及查看端口
1、查看防火墙所有开放的端口firewall-cmd --zone=public --list-ports2、开放端口firewall-cmd --zone=public --add-port=5672/tcp --permanent#开放5672端口firewall-cmd --zone=public --remove-port=5672/tcp --permanent#关闭5672端口firewall-cmd --reload #配置立即生效3...
2020-09-07 16:05:02
295
原创 linux命令总结之ip命令
Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。要安装ip,请点击这里下载iproute2套装工具。不过,大多数Linux发行版已经预装了iproute2工具。你也可以使用git命令来下载最新源代码来编译: 1 $.
2020-09-05 15:31:59
250
转载 CentOS下开启SSH Server服务
无论是CentOS系统的虚拟电脑还是服务器,始终感觉直接在命令行中操作不方便;比如全选、复制、粘贴、翻页等等。比如服务器就需要在机房给服务器接上显示器、键盘才操作感觉更麻烦。所以就可借助SSH(安全外壳协议)远程操作和管理系统,不仅方便而且安全可靠。 1、登录Centos6.4系统。 示例:使用root用户登录。 注:若为非root用户登录,输入执行某些命权限不够时需加sudo。 2、查看SSH是否安装。 输入命令:rpm -qa | grep ssh 注:若
2020-09-05 14:55:15
276
转载 Linux防火墙开放某端口号
Linux防火墙开放某端口号centos7防火墙管理安装防火墙yum install firewalld systemd -y查看已经开放的端口:firewall-cmd --list-ports开放端口firewall-cmd --zone=public --add-port=80/tcp --permanent重启防火墙:systemctl reload firewalld报错: FirewallD is not running解决...
2020-09-05 14:53:54
154
转载 虚拟机安装centos7及网络配置
1.软硬件准备软件:推荐使用VMwear,我用的是VMwear 14镜像:CentOS7 ,下载地址 :http://isoredirect.centos.org/centos/7/isos/x86_64硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求。最起码I5CPU双核、硬盘500G、内存4G以上。2.虚拟机准备1.打开VMwear选择新建虚拟机2.典型安装与自定义安装典型安装:VMwear会将主流的配置应用在虚拟机...
2020-09-05 14:52:00
363
转载 Cookie实现记住登录
一、Cookie 简介Cookie,一种储存在用户本地终端上的数据,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行 Session 跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。其实 Cookie 就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把 Cookie 保存起来,当下一次再访问服务器时把 Cookie 再发送给服务器。1、Cookie 是 HTTP 协议的规范之一,
2020-07-15 15:37:40
557
原创 API接口管理
1、PostmanPostman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。官网:https://www.getpostman.com2、Swagger“Swagger是一个规范和完
2020-05-27 18:12:12
663
原创 serverlet快速入门
JSP书籍有的是直接讲述JSP的使用,然后再讲解SERVERLET的使用;也有书籍是先讲述SERVERLET的使用,然后讲解JSP使用.个人认为第二种相对好一些,至于原因大家可以在学习体会到!所以今天我们接着学习SERVERLET的使用!什么是Servlet? ① Servlet就是JAVA 类 ② Servlet是一个继承HttpServlet类的类 ③ 这个在服务器端...
2020-04-16 14:36:45
694
转载 IDEA 远程调试
菜单 -> Run -> Edit Configurations…添加 -> Remote配置启动远程项目正常启动命令如下:java -jar ***.jar开启远程调试:java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7015 **.ja...
2020-01-17 17:21:52
197
转载 CentOS7 linux下yum安装redis以及使用
1.安装redis数据库 1 yum install redis 2.下载fedora的epel仓库yum install epel-release3.启动redis服务systemctl start redis4.查看redis状态systemctl status redissystemctl stop redis 停...
2019-12-03 17:35:39
258
转载 2019最新Java面试题
Java最新常见面试题 + 答案汇总1、面试题模块汇总面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:可...
2019-10-28 12:01:04
157
原创 反射
1. 什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法...
2019-10-28 11:56:30
138
转载 多线程
Java 208 道面试题 · 多线程35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。 在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。 所以并发编程的目标是充分的利用处理器的每一个核...
2019-10-28 11:55:05
159
转载 容器
Java 208 道面试题 · 容器18. java 容器都有哪些?常用容器的图录:19. Collection 和 Collections 有什么区别? java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接...
2019-10-28 11:52:56
215
原创 Java基础
1.JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 jav...
2019-10-28 11:49:16
193
1
转载 观念理解论&创业&设计思维
第一章节:为什么书呆子不受欢迎书呆子?在校园环境下,智力往往在大家心里的分量远远不如相貌、魅力和运动能力的分量重。相较而言,那些追求智力的学生往往社交能力不是很强。原因是受父母的影响,书呆子被教导追求正确答案,而受欢迎的小孩被教导讨人喜欢。在校园环境下,书呆子为什么会被歧视?一部分原因是,青少年在心理上还没有摆脱儿童状态,许多人都会残忍地对待他人;另一方面,一些追求受欢迎的孩子往...
2019-10-17 17:04:14
284
原创 Java8 Lambda表达式详解
为什么要引入Lambda表达式简单的来说,引入Lambda就是为了简化代码,允许把函数作为一个方法的参数传递进方法中。如果有JavaScript的编程经验,马上会想到这不就是闭包吗。是的,Lambda表达式也可以称作Java中的闭包。先回顾一下Java8以前,如果想把某个接口的实现类作为参数传递给一个方法会怎么做?要么创建一个类实现该接口,然后new出一个对象,在调用方法时传递进去,要么使...
2019-10-15 17:48:36
211
转载 linux压缩(解压缩)命令详解
linux压缩(解压缩)命令详解注:本文参考自互联网,但是经过笔者的修改一.tar命令tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文...
2019-10-15 17:22:40
164
转载 Python库之Scipy库的简介、安装详细
目录Scipy库的简介Scipy库的安装Scipy库的简介 Scipy高级科学计算库:和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算、统计分析,所以可以说是基于Numpy之上了。Scipy有很多子模块可以应对不同的应用,例如插值运算,优化算法等等。SciPy则是在NumPy的基础上构建的更为强大,应用领域也更为广泛的科学计算包。正是出于这...
2019-08-29 10:09:55
994
转载 Spring Cloud OpenFeign详解
作为Spring Cloud的子项目之一,Spring Cloud OpenFeign以将OpenFeign集成到Spring Boot应用中的方式,为微服务架构下服务之间的调用提供了解决方案。首先,利用了OpenFeign的声明式方式定义Web服务客户端;其次还更进一步,通过集成Ribbon或Eureka实现负载均衡的HTTP客户端。Spring Cloud OpenFeign的最新版本是2...
2019-08-07 15:26:26
186
原创 IntelliJ IDEA打印gc日志
IntelliJ IDEA打印gc日志的2种方法1.对指定运行程序输出GC日志:点击edit configurations...在vm options处加入-XX:+PrintGCDetails测试:代码调用system.gc后输出以下内容:2.修改idea32/64.exe.vmoptions 文件在idea的安装目录下,有2个vmoptions文件,分...
2019-08-07 08:32:37
797
转载 Idea使用SVN教程
第一步:下载svn的客户端,通俗一点来说就是小乌龟啦!去电脑管理的软件管理里面可以直接下载,方便迅速下载之后直接安装就好了,但是要注意这里的这个文件也要安装上,默认是不安装的,如果不安装,svn中的bin目录下就会没有svn.exe,这个待会会用到,所以一点要注意哦。(都是坑啊)然后就下一步下一步就安装好了。第二步:如果已经搭建好了svn服务的话,就要开始在idea中配置相关的配置了...
2019-08-05 10:17:49
365
转载 适合初学者的一个分布式环境搭建过程
适合初学者的一个分布式环境搭建过程(spring boot + zookeeper + dubbo + mybatis + mysql)本人也是才开始接触阿里巴巴的开源分布式框架dubbo,因为现在微服务框架springboot也非常的火,然后结合dubbo的官网搭建这个开发环境。一、首先zookeeper作为集群管理服务器,安装和配置在这里就不说了划分为 4个项目...
2019-07-23 11:07:43
227
原创 CentOS 安装mongodb
1、去官网找到安装包地址,复制下来。官网地址:https://www.mongodb.com/download-center?jmp=nav#community我使用的安装包地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz2、使用SSH登录服务器,找一个文件夹存放安装包,我这里使用的是 /usr$ c...
2019-06-27 15:29:50
153
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人