- 博客(31)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Jmeter的初步认识
Jmeter的初步认识一、 接口测试一般的测试包含七步:新建请求添加线程组添加http请求配置http参数添加cookie管理、header管理添加结果树在点击运行查看运行结果参数在前后端分离一般用json格式,也可以选择html(HTMl Source Formatted)或者其他二、 压力测试配置线程组参数说明:-. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。多少虚拟用户就设置多少个线程数。-. Rame-Up Period: 表示线程
2020-06-27 22:58:48 138
原创 Springboot结合日志的使用
日志,在系统运行中出现异常,甚至错误后可以为我们提供第一手的资料,帮助我们去解决问题。 常用的日志框架,包括slf4j、jcL、log4j、log4j2、logback等。Log4和logback的使用比较方便。 本内容以springboot的环境为基础,不同的日志框架,默认扫描的配置文件: ** 日志的级别:TRACE,DEBUG,INFO,WARN,ERROR,FATAL或OFF** 在日志的使用过程中,一般生产环境只打印info级别以上的日志,对于debug级...
2020-06-27 22:56:26 144
原创 SpringBoot 整合 单元测试
一、junit基本参数介绍参数解释@BeforeClass在单元测试类中执行一次,在所有测试方法前执行一次@AfterClass在单元测试类中执行一次,在所有测试方法后执行一次,通常在其中写上销毀和释放资源的代码@Before在每个测试方法前执行,一股用来初始化方法(比如我们在測试别的方法时,类中与其 他测试方法共享的值已经被改变,为了保证测试结果的有效性,我们会在@Before注解 的方法中重置数据)@After释放资源 ,对于每一个测试方法都要执行一次
2020-06-27 22:54:40 286
原创 @JsonView 的使用
#@JsonView 的使用一、返回的结果直接使用实体类代码如下 @RequestMapping("api/user") @RestController public class UserApi { /** * 如果直接返回UserAdminView ,不需要在ResponseModel 中设置以下内容 * @JsonView(value = View.Base.class ) * private T data;
2020-06-27 22:53:06 220
原创 SpringSecurity 密码验证流程
一、通过debug源码,解析,更加清楚的了解核心的原理,出现问题可以更好的解决二、密码验证流程1 默认使用 UsernamePasswordAuthenticationFilter extends AbstractAuthenticationProcessingFilter执行方法: public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) t
2020-06-27 22:48:15 1729
原创 SpringSecurity的简单认识
一、获取用户信息的两种方式二、重点讲解使用Java方式获取用户信息,讲解其核心组件#核心组件:1 定义称为shared的组件,是指它在框架中占有很重要的位置,框架离开它无法运行。内置的一系列的过滤器中都用到了这些共享组件。这些Java类表达了维持系统的构建代码块。1 SecurityContextHolder最基础的对象,当前应用程序的当前安全环境的细节存储在其中。默认情况下,SecurityContextHolder使用ThreadLocal存储这些信息,如此意味着安全环境在同一
2020-06-27 22:47:00 127
原创 java8_Lambda
Lambdafunction包,提供lambda接口 public interface Function<T, R> { /** * Applies this function to the given argument. * * @param t the function argument * @return the function result */ R a.
2020-06-27 15:48:15 170
原创 java 8 流Stream 的简单认识
Stream 允许我们以声明的方式处理数据。简介在 Java 中,集合和数组是两种常见的数据结构类似于 SQL 语句从数据库查询数据的形式,Stream 提供了对 Java 集合操作和表示的高度抽象。要处理的元素集合被视为流,在流水线中进行传输。并可在流水线各节点处理这些元素,例如过滤,排序和聚合。特点不占用空间。Stream 只是数据源的视图,表现形式可以是数组、容器或者I/O通道。流操作数据源,不会改变数据源。 例如: 过滤Stream后不会删除过滤的元素,而是生成一个新的不包含过滤
2020-06-27 15:46:44 295
原创 java_函数式接口
函数式接口定义函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口;函数式接口可以被隐式转换为Lambda表达式;自定义函数式接口 @FunctionalInterface interface GreetingService { void sayMessage(String message); } 函数式接口种类1.8 之前已有的 java.lang.Runnable java.util.concurrent.Callable
2020-06-27 15:45:41 209
原创 数据库工具_liquibase
liquibase背景数据库变更管理有两种方式,状态和迁移方法;第一种,基于状态(或声明性),在其中定义数据库的所需状态。可以将目标环境和定义的所需状态进行比较的工具用于生成允许目标环境与声明的状态匹配的迁移脚本。第二种,基于迁移(或命令式)的方法,其中描述了用于更改数据库状态的特定迁移。使用一种能够显式跟踪和排序单个迁移并部署尚未部署到目标环境的迁移的工具,以使目标数据库得到正确迁移。从根本上来说,Liquibase 是基于迁移的解决方案,其中的diff功能仅用于协助新项目的启
2020-06-27 15:44:20 237
翻译 微服务_网关
网关 - 幕布网关一、为什么使用网关?1) 客户端的需求量与每个微服务暴露的细粒度API数量的不匹配。 (比如,移动客户端一个页面,需要请求上百个微服务,没有效率)2)客户端请求微服务的协议可能并不是web友好型。(每个服务的协议可能不一样,应用应该在防火前外采用类似http协议)一个服务可能是用Thrift的RPC协议,而另一个服务可能是用AMQP消息协议。它们都不是浏览或防火墙友好的,并且最好是内部使用。应用应该在防火墙外采用类似HTTP或者WEBSocket协议。3)很难重构;随着...
2020-06-26 22:10:30 130
原创 服务发现和注册----consul-01
consul - 幕布consul单机版 - linux下载:wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip解压:unzip consul_1.3.0_linux_amd64.zip -d /usr/local添加环境变量 vi /etc/profileexport CONSUL_HOME=/usr/local/bin/consulexport PATH=$PATH:CONSUL...
2020-06-26 22:05:35 125
原创 SpringBoot_自动配置初步认识
SpringBoot_自动配置 - 幕布SpringBoot_自动配置一、SpringBoot 的核心注解:@SpringBootApplication使用main()方法启动的类,只有该注解。进入该注解如图:@SpringBootConfiguration:底层是@Configuration;1、@Configuration该注解用于JavaConfig中,被该注解标注的表示,该类是个配置类2、@ComponentScan自动扫描注解,扫描路径下的组件或者Bean;@Controlle...
2020-06-26 22:02:13 105
原创 B 树的初步认识
B 树 - 幕布B 树目录:一、卫星数据:指索引元素所指向的数据记录,比如数据库中的某一行。在B-树中,无论非终端结点还是叶子结点都带有卫星数据;在B+树中只有叶子结点带有卫星数据,其余非终端结点仅仅是索引,没有任何数据关联。在数据库的聚集索引中,叶子结点直接包含卫星数据;在非聚集索引中,叶子结点带有指向卫星数据的指针。二、B- 树定义:一种平衡的多路查找树;使用场景:做文件的索引,在文件系统多使用;结构/特点:一棵m阶的B-树,或为空树,或为满足下列特性的m叉树:1、树中每个结点至多有...
2020-06-26 17:06:25 403
原创 哈希表的初步认识
哈希表 - 幕布哈希表诞生的前提在线性表、树等数据结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系,因此, 在结构中查找记录时需要进行一系列和关键字的比较。此类的查找方法建立在"比较"的基础上。在顺序查找时,比较的结果为等于 与 不等于两种可能;在折半查找中、二叉排序树查找和B-树查找时,比较的结果为小于、等于、和大于三种可能;查找的效率依赖于查找过程中所进行的比较次数。定义:理想的情况,希望不经过任何比较,一次存取便能得到所查记录,那就必须在记录的存储位置和它...
2020-06-26 17:05:23 275
原创 Druid数据库连接池
Druid数据库连接池 Druid一、配置url: 连接数据库的url,不同数据库不一样。例如:mysql : jdbc:mysql://localhost:3306/druid2username: 连接数据库的用户名password: 连接数据库的密码driverClassName: 默认可根据URL自动识别。这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName。type: com.alibaba.d...
2020-06-26 17:03:32 769
原创 线程池_03_源码分析
线程池_03_源码分析 - 幕布线程池_03_源码分析关键变量介绍: 线程的状态5种RUNNABLE:运行状态,接受新任务,持续处理任务队列里的任务SHUTDOWN:不再接受新任务,但要处理任务队列里的任务STOP:不接受新任务,不再处理任务队列里的任务,中断正在进行中的任务TIDYING:表示线程池正在停止运作,中止所有任务,销毁所有工作线程TERMINATED:表示线程池已停止运作,所有工作线程已被销毁,所有任务已被清空或执行完毕状态装换细节线程的状态使用ctl表示,默认为...
2020-06-26 17:02:13 96
原创 线程池_02_Executor框架
线程池_02_Executor框架线程池_02_Executor框架一、Executor 的两级调度背景知识在HotSpot Vm 的线程模型中,Java 线程被一对一映射为本地操作系统线程。Java 线程启动时会创建一个本地操作系统线程;当该Java线程终止时,这个操作系统线程也会被回收。Executor 在上层,Java多线程程序通常把应用分解为若干个任务,然后使用用户级的调度器(Executor框架)将这些任务映射为固定数量的线程;换句话说就是应用程序通过Executor框架控制上...
2020-06-26 17:00:28 104
原创 线程池_初步认识_01
线程池线程池_初步认识_01一、定义管理一组工作线程。二、好处1. 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗,比如内存;2. 提高响应速度。任务到达时,可以不需要等到线程创建就能执行;3. 提高线程的可管理性。通过线程池,实现对线程的统一分配,调优和监控;比如可以避免无线创建线程引起OutOfMemoryError。三、实现原理当向线程池提交一个任务之后,线程池是如何处理这个任务的呢?上图就是线程池的主要处理流程;ThreadPoolExecutor 执行exe...
2020-06-26 16:56:31 147
原创 dockerfile-maven-plugin_09
dockerfile-maven-plugin_0 - 幕布dockerfile-maven-plugin_09如图代码: <properties> <java.version>1.8</java.version> <!--docker私服地址--> <docker.repostory>192.***.***.111:2375</docker.repostory></properties&g...
2020-06-21 23:00:50 152
原创 docker-maven-plugin 打包镜像,命令解释_08
docker-maven-plugin 打包镜像, - 幕布docker-maven-plugin 打包镜像,命令解释_081、不带推送命令:<plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>0.4.13</version><!-- executions 将插件绑定在指...
2020-06-21 23:00:21 888
原创 idea 使用 Docker 打包镜像的两种方式_07
idea 使用 Docker 打包镜像idea 使用 Docker 打包镜像的两种方式_07一、方式:一、idea 的docker 插件 和Dockerfile;二、pom和Dockerfile结合。二、详解第一种:1、第一步,安装Docker插件安装后,需要重启;2、创建Dockerfile 文件,路径可以放在和pom 同级目录,也可以/src/main/docker 中 ;测试为主,所以内容可以简单。如下FROM java:8ADD /*.jar app.jarEXPOS...
2020-06-21 22:59:46 7222 2
原创 Docker 在windows 下使用桌面版遇到的问题_06
Docker 在windows 下使用桌面版遇到的Docker 在windows 下使用桌面版遇到的问题_06第一个问题描述1、 open \\.\pipe\docker_engine_linux: The system cannot find the file specified.2、 image operating system "linux" cannot be used on this platform。解决使用的是windows 10 下,docker desktop , 右击...
2020-06-21 22:59:03 4961
原创 Docker maven 错误整理_05
Docker maven 错误整理_05Docker maven 错误整理_05第一个问题描述 Failed to execute goal com.spotify:docker-maven-plugin:0.4.13:build (default-cli) on project SpringBoot: Exception caught: Request error: POST https://192.168.99.100:2376/build?t=mytest/SpringBoot: ...
2020-06-21 22:57:38 599
原创 Docker 开启远程连接_04
Docker 开启远程连接_04Docker 开启远程连接_04 [root@centos]# vi /usr/lib/systemd/system/docker.service最初修改:把 ExecStart=/usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock改为: ExecStart=/usr/bin/dockerd -Htcp://0.0.0.0...
2020-06-21 22:57:06 272
原创 Docker 镜像加速器_03
Docker 镜像加速器_03Docker 镜像加速器_03Linux 下vi /etc/docker/daemon.json{ "registry-mirrors":[ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ]}Windows 下C:\Users\用户名\.docker\daemon.js...
2020-06-09 23:20:50 121
原创 Docker 卸载_02
Docker 卸载_02Docker 卸载_021、 卸载安装包$ sudoyum remove docker-ce2、 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:$ sudorm -rf /var/lib/docker3、手动删除已编辑的配置文件。...
2020-06-09 23:20:11 137
原创 Docker 安装_01
Docker 安装_01Docker 安装_01一、卸载旧的版本:$ sudoyum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine(/var/lib/docker/包括图像,容器,卷和网络)被保留。现在称为DockerEngine-Community软件包do...
2020-06-09 23:19:04 104
原创 Jvm体系结构
Jvm体系结构Jvm体系结构JVM : java虚拟机,模拟计算机达到计算所具有的计算功能。包括几个组成部分: 1 指令集 -计算机识别的机器语言的命令集合2 计算单元 -识别并控制指令执行的功能模块3 寻址方式 - 地址的信息,运行规则等。4 寄存器定义-包括多种寄存器的定义、数量和使用方式。5 存储单元-能够存储操作数和保存操作结构的单元。比如: 内存和磁盘。以上五个部分和代码关联最密切的是指令集部分。指令集:在cpu中用来计算和控制计算机系统的一套指令的集合。是体现CPU...
2020-06-09 23:12:39 102
原创 Git使用心得之记录
Git Git一、基本命令:1. 在linux,检测 git. 使用命令 git2. 在linux安装,ubuntu linux --使用命令 sudo apt-get install git在windows上,下载,默认安装。3. 在windows上,找到 git bash.设置用户。命令git config --global user.name "your name"git config --global user.email "..@...
2020-06-09 22:36:15 174
原创 Springboot冲突导致的发版失败
Springboot冲突导致的发版失败Springboot冲突导致的发版失败一、Spring boot因为内嵌tomcat容器,项目发布的时候可以把项目打包为jar包,如何将spring boot项目打包成可发布到tomcat中的war包项目呢?1.需要打包成war包项目,首先需要在pom.xml文件中,将spring boot默认的<packaging>jar</packaging>改为<packaging>war< /packaging>...
2020-06-09 22:20:24 180
ssh框架的web开发中struts2的问题,求解决
2017-10-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人