- 博客(37)
- 收藏
- 关注
原创 Spring Security学习
文章目录1.初步搭建集成了Spring Security的工程1.1 新建Maven项目1.2 新建Controller层接口1.3 浏览器访问该接口2. 进一步学习Spring Security的基本能力2.1 关闭安全管理框架2.2 配置文件的方式自定义登录用户名和密码2.3 内存中配置登录用户2.4 基于角色的身份认证1.初步搭建集成了Spring Security的工程1.1 新建Maven项目<!--简单的集成了spring security的web工程只需要如下两个依赖-->
2021-07-29 11:32:52
387
原创 JMeter接口并发测试
在PostMan批量执行的文章中写道:PostMan批量执行接口是以一种串行的方式在执行,并不是并发的执行。而更多的时候,我们需要的是接口并发执行,因此就需要用到本篇文章了。PostMan文章的链接:“PostMan批量执行接口”文章导航1.下载安装并修改默认语言2.新建线程组3.新建Http请求4.创建Http请求头5. 创建csv数据文件设置及使用6.创建查看结果树7.运行测试接口1.下载安装并修改默认语言本文是在windows系统下操作的。点击官网地址然后选择上图所示的下载。下载完成后,解压
2021-07-15 19:53:35
3271
1
原创 PostMan批量执行接口
PostMan批量执行接口是以一种串行的方式在执行,并不是并发的执行。本文将对此进行试验,实验的方式也仅仅是针对于文章中描述的操作步骤,如果有任何不对的地方,欢迎指正。Step1:新建Collections按照图示的1(找到Collections)–>2(点击+号创建一个Collection)–>3(Rename–>修改名称),完成新建和改名。一个Collection是一个组,可以将同模块下的相关接口都放入其中,便于管理和维护接口。Step2:创建接口并存入Collection新
2021-07-15 17:29:03
3432
原创 SpringBoot直接启动与jar包启动的不同
SpringBoot作为Java后台开发常用的技术点之一,相信很多人不陌生,但是其中的一些有趣的点,很多人并不一定都了解。首先,在springbbot程序主函数处,加上一句控制台打印消息,打印出加载当前应用的入口函数所在类的加载器信息。直接启动在开发工具中,直接启动该应用,观察到如下所示:对类加载器有所了解的应该知道,输出的含义为:系统类/应用类加载器Jar包的方式启动通过maven或者gradle等方式对程序进行打包,生成可运行的Jar包,然后通过java -jar xx.jar的方式.
2021-07-14 18:00:55
1639
1
原创 Shell基本学习
Shell编程参考:shell学习1. 格式要求脚本以#!/bin/bash开头脚本需要有可执行权限(若无可执行权限,需要使用sh显式执行,如:sh /dev/tomcat/bin/start.sh,不推荐显式执行)1.1 printf介绍注意:printf 不像 echo 那样会自动换行,必须显式添加换行符(\n)printf format-string [arguments…] 以格式化的方式打印printf 命令不用加括号format-string 可以没有引号,但最好加上
2021-07-08 19:57:35
908
原创 基于EasyExcel操作Excel
介绍:Java操作excel的基本是Apace POI,原生的Apace POI用起来有些复杂,今天介绍的EasyExcel是基于Apace POI的,简化了Java端操作excel的方式。所需依赖:#所需依赖<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency> <groupId>com.alibaba</groupId> <
2021-07-06 16:00:54
368
原创 类加载之:可确定常量与不可确定常量
可确定常量通常意义上的常量,都是可确定常量,对于可确定常量,在类加载时满足:常量在编译阶段会存入待调用这个常量的方法所在的类的常量池中,本质上。调用类并没有直接引用到定义常量的类,因此并不会触发定义常量的类的初始化public class MyTest2 { public static void main(String[] args) { System.out.println(MyParent2.str); }}class MyParent2 { public
2021-06-17 16:44:12
124
原创 类加载之:直接定义了静态字段的类才会初始化
直接定义了静态字段的类才会初始化对于静态字段来说,只有直接定义了该字段的类才会初始化public class MyTest1 { public static void main(String[] args) { System.out.println(MyChild1.str); }}class MyParent1 { public static String str = "hello world"; static { System
2021-06-15 15:47:53
152
原创 git学习笔记
git学习笔记1. commit id分析git的提交ID(commit_id)是一个摘要值,这个摘要值实际上是个SHA1计算出来的。SVN集中式版本控制系统,只有1份代码,因此提交ID是递增的数字来表示。而git是分布式版本控制系统,有多份代码,无法通过递增的数字来表示提交ID。2. git基本信息:user.name与user.email对于user.name和user.email来说,有三个地方可以设置:/etc/gitconfig(几乎不会使用),git config --system
2021-06-08 15:29:09
730
原创 markdown基础语法
所用软件:Typora标题:# 一级标题## 二级标题### 三级标题...###### 六级标题快捷键:Ctrl + 1~6标题清除格式快捷键: Ctrl + 0斜体:*斜体来了*快捷键:Ctrl + i粗体:**粗体来了**快捷键:Ctrl + b粗体斜体:***同时粗体与斜体***引用:>门前两棵树,一棵是枣树,另一棵也是枣树。---鲁迅快捷键:Ctrl + Shift + q嵌套块引用...
2021-05-16 11:02:50
170
原创 SpringBoot整合MyBatis-Plus详细使用方法
简书中看到的一篇博文,非常棒,所以记录一下位置,便于以后寻找。https://www.jianshu.com/p/1a163148b078
2020-11-07 16:16:04
694
原创 LeetCode 14. 最长公共前缀JAVA解法
原题目地址,想看原题目描述的可以点击查看:https://leetcode-cn.com/problems/longest-common-prefix/话不多说,直接上代码思路:运用String的indexOf(String str)方法来进行解题。/** * 最长公共前缀 * * @param strs 待判断最长公共前缀的字符串数组 * @return 最长的公共前缀 */ private static String longestCommonPrefix(String
2020-09-19 21:03:42
154
原创 LeetCode 7. 整数反转JAVA解法
原题目地址,想看原题目描述的可以点击查看:https://leetcode-cn.com/problems/reverse-integer/submissions/话不多说,直接上代码思路:运用整数/10和整数%10把入参整数分解进行反转,因为题目要求不能对于超出整数范围的反转数要进行归零,所以使用long来做结果,再进行强制转换。/** * 整数反转 * @param x 待反转的整数 * @return 反转后的结果 */private static int reverse(int
2020-09-19 20:24:59
132
原创 LeetCode 1. 两数之和 JAVA解法
https://leetcode-cn.com/problems/two-sum/public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> container = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (container.containsKey(target - nums[i])) {
2020-08-23 15:38:03
105
原创 git本地项目上传至远端仓库
git本地项目上传至远端仓库基本步骤:在现有的目录中初始化仓库:git init提出更改,放到暂存区:git add .提交更新:git commit -m “更新的内容描述”本地仓库和远程仓库关联:git remote add origin ‘远端仓库地址’获取远程库和本地同步合并:git pull --rebase origin master改动提交到远程仓库: git push -u origin master...
2020-08-23 09:47:41
168
原创 LeetCode 9. 回文数 JAVA解法
原题目地址,想看原题目描述的可以点击查看:https://leetcode-cn.com/problems/palindrome-number/话不多说,直接上代码思路:通过%10与/10得到各个位置数的倒置,将倒置的数计算后,和原数一致则表示是回文数。/** * 判断一个数,是否是回文数 * * @param x 待判断的数 * @return 判断的结果,true:是回文数,false:不是回文数 */public boolean isPalindrome(int x) {
2020-08-22 11:47:52
226
原创 Java实现二分查找法
对于无序的数组,二分查找法是行不通的,因为二分查找法的前提条件就是:有序。代码:/*** 二分查找的实现** @param array 待查找的数组* @param searchNum 待查找的数字* @return 查找的结果,为正数的时候,表示下标,-1表示没找到*/static int binarySearchImpl(int[] array, int searchNum) { int low = 0; int high = array.length - 1; in
2020-08-08 18:27:31
164
原创 String与StringBuilder以及StringBuffer区别
String与StringBuilder以及StringBuffer区别String是常量,定义的语法为:String myString = "this is a String";作为常量,String定义完成后就无法修改了,而我们见到的myString = "this is a new String";并不是修改了其原来的值,而是新建了一个字符串指向了原来的内存地址,而之前的字符串因为没有了指向,所以会被GC进行回收。输出分析:String a = "aa";String b = "bb";St
2020-07-22 21:49:06
185
原创 JAVA8方法引用
JDK8中引入了一种新的特性—方法引用(Method Reference),方法引用是Lambda的一种特例化形式,当Lambda表达式的主体部分只有一句,并且有一个特定的方法已经存在,那么可以使用方法引用来代替展示。方法引用实际上是Lambda表达式的一种语法糖,所谓语法糖,就是并没有增加新的内容,只不过用一种更加简洁的形式来表现。方法引用的分类:类名::静态方法名引用名(对象名)...
2019-10-27 21:30:42
336
2
原创 解析AtomicInteger为什么能保证原子性
文章浅谈volatile的最后留下了疑问,为什么AtomicInteger能保证原子性,AtomicInteger是如何做到保证原子性的,本篇文章就是来答疑解惑的。AtomicInteger源码分析private static final Unsafe unsafe = Unsafe.getUnsafe();public final int getAndIncrement() { ...
2019-10-26 23:52:12
2207
2
原创 浅谈volatile
多线程操作变量过程由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(或者栈空间),工作内存是每个线程的私有数据区域,而Java内存模型中规定所有变量都存储在主内存(物理内存),主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读写等)必须在工作内存中进行,首先要将变量从主内存拷贝到自己的工作内存中,然后对变量进行操作,操作完成后把变量写回主内存,不能直接...
2019-10-26 17:56:12
286
原创 JAVA8中lambda表达式
JDK8中引入了Lambda表达式,为什么要添加Lambda表达式,作用或者好处是什么,什么是Lambda表达式呢?本篇文章是接着前篇文章来的,JAVA8函数式接口。为何需要Lambda表达式:在Java中,我们无法将函数作为参数传递给一个方法,也无法声明一个返回函数的方法,但是这些用法在函数式编程语言中非常常见,如:JavaScript。而Lambda表达式的出现,为Java填补了这块空白。...
2019-10-24 21:03:11
195
原创 JAVA8函数式接口
JAVA8已经出来很久了,但是对于新特性,本人始终没有深入了解,但是浪子回头不晚, 本人把学习的内容记录下,谨当笔记。在Java8之前,函数不是Java中的一等公民,但是在Java8中函数翻身做主人了,成为了一等公民。然而在将函数作为一等公民的语言中,如:JavaScript,Python中,lambda表达式的类型是函数,但在Java中,lambda表达式的类型是对象,其必须依附于一类特殊的...
2019-10-23 22:38:02
488
转载 事务的四个特性
事务是什么?以及事务四个特性一.什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所有操作。二.事务的 ACID事务具有四个特征:...
2019-10-22 22:56:53
226
原创 springcloud的订餐管理系统
这是一个基于springcloud的订餐管理系统,因为自己虽然学习了springcloud的基础知识,但是始终没有实际用过,就从B站上找了一篇视频(bilibili视频源),参考着视频写了一个简易的订餐管理系统。本人没有完全按照视频中作者的写法在写,但是实现的功能和作者如出一辙。在此感谢视频的作者:南风,也感谢UP主提供的资源。本文章声明:若有侵权之说,必删!系统部分截图:一般用户模块:...
2019-10-22 22:49:21
1047
3
原创 Mybatis中两表关联查询利用association进行连接
最近本人在根据网上的视频做一个springcloud的订餐系统例子,视频中使用的是mybatis,其中有这么一个需求:查询的结果是一个对象,但是该对象包含了另一个对象。如下:对象A:{ "字段a":"字段a的内容", "字段b":"字段b的内容", ... //字段x是另一个对象,假设叫做:对象X "字段x":{ "字段x_a":"字段x_a的内容", "字段x_b":"字段...
2019-10-20 17:43:07
1370
原创 mosquitto配置桥接
单个mosquitto服务器端的流量是有限的,面对大流量的情况,我们可以使用桥接(bridge)的方式来搭建mosquitto集群。选取任意一个mosquitto服务器作为bridge节点,在/etc/mosquitto目录下mosquitto.conf文件里,找到Bridges(大概756行),能阅读一下Bridges里面的内容最好,不喜欢阅读英文或者英文能力有限的同学,可以按照一下的配置,...
2019-10-08 16:00:42
3333
1
原创 centos7安装mosquitto
本人在一家物联网公司上班,突然有一天领导交给我一个任务:学习一下MQTT,然后使用mosquitto搭建一个公司自己的服务器。MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。公司使用的是云服务器是centos7,这里记...
2019-09-29 17:03:47
3548
原创 mycat数据切分
MyCat是一个用于MySQL读写分离和与数据切分的高可用中间件,本篇文章对数据切分进行演示,帮助小伙伴更好地理解MyCat的数据切分。
2019-09-29 15:15:24
289
原创 centos7安装mysql并配置远程访问
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。话不多说,直接动手!centos7最小化安装后是没有wget的,所以我们我们先安装wget。1.安装wgetyum -y install wget2.下载并安装MySQL官方的 Yum Repositorywget -i -c htt...
2019-09-26 18:07:58
565
原创 centos7防火墙命令
这里只是一些简单的,基本的防火墙命令,但是在学习和工作中,也基本足够使用了。开启或者关闭端口后,需要重启防火墙。查看状态:systemctl status firewalld或者 firewall-cmd --state禁用防火墙:systemctl stop firewalld开启防火墙命令:systemctl start firewalld设置开机启动:systemctl ena...
2019-09-26 18:05:26
213
原创 centos7更改默认的yum下载源
centos中默认的yum下载源是国外的,使用起来或多或少有些不便,我们可以改成使用国内的下载源,使用国内的下载源,要方便很多。1.进入/etc/yum.repos.d目录cd /etc/yum.repos.d2.CentOS-Base.repo改名默认使用的是CentOS-Base.repo,所以我们需要对默认的文件改名mv CentOS-Base.repo CentOS-Bas...
2019-09-26 11:36:19
2383
原创 VMware虚拟机克隆
一提到安装虚拟机,有不少的小伙伴会感觉头大,千辛万苦搭建好了一个虚拟机,但是有时候,学习要用到集群,没有多台服务器又怎么搭建集群呢,在此,可以参考本文,把VMware中把搭建好的虚拟机克隆一份或者多份,集群环境还不分分钟准备好了么。条件:1.VMware2.搭建好的虚拟机3.虚拟机电源关机本人已经在VMware中搭建好了一个centos7,并且对网络环境进行了配置。小伙伴可以参考:...
2019-09-25 23:05:33
210
原创 centos7安装并配置jdk环境
需要准备:centos7,jdkcentos7未安装的可以参考:VMware虚拟机搭建centos7镜像jdk安装包可以可以官网下载,也可以点击下载:https://pan.baidu.com/s/1k-8yfFswtqqx395xgWFrmA提取码:jjcp准备工作完成后,创建目录:cd /mkdir develop #创建目录,专门存放各种软件cd develop/ #进...
2019-09-25 20:51:03
272
原创 centos7配置静态IP地址
对于刚刚搭建好的虚拟机来说,是没有网络的,所以需要自行配置网络,而本文配置的是静态IP,相较于动态获取IP来说,静态IP的最大好处就是,IP地址不会经常变来变去。如果还没有安装虚拟机,可以参考我的上篇文章,相信你一定可以很快速的搭建一个属于自己的centos7虚拟机。文章地址:VMware虚拟机搭建centos7镜像CentOS7最小化安装后是没有 ifconfig 命令的, 所以需要使用i...
2019-09-24 22:03:48
315
原创 VMware虚拟机搭建centos7镜像(图文并茂)
大家通常在学习中会需要用到Linux系统的环境,对于没有购买云服务器又需要linux环境的小伙伴,自己搭建一个linux虚拟机就很有必要了。准备材料:centos7镜像VMware Workstion Pro(以下简称vm或者VMware)centos7镜像官方下载地址:http://ftp.sjtu.edu.cn/centos/7.7.1908/isos/x86_64/VMwa...
2019-09-24 18:23:48
2621
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人