自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

原创 Spring之IOC

IOC及bean生命周期

2022-12-15 15:38:18 389 2

原创 Spring之AOP

AOP动态代理

2022-12-13 17:49:44 845

原创 Redis实践

Redis 持久化和高可用

2022-12-02 17:53:58 1216

原创 Redis数据结构和类型

Redis数据结构和类型

2022-11-30 01:55:25 561

原创 Lombok 的fields问题

Lombok 的fields问题布尔类型is开头的 setter 和 getter基本类型包装类型setter基本类型:setXxx(boolean)包装类型:setIsXxx(Boolean)getter基本类型:isXxx()包装类型:getIsXxx()多个Field只生成一组getter/setter背景:之前业务字段xxxLog 使用jackson序列化为xxx_log,可能由于当时没定义准确,需要保证之前场景ok 并新场景下发xxxlog 序列化为 xxxlog所

2021-08-29 23:46:19 1196

原创 http请求传递不同参数

首先 远程调用的方式有两种,一种是调用RPC服务,这样的话很简单,只需要这么几步就可以了一 导入RPC服务需要的maven依赖二封装成RPC服务具备的参数,然后直接调用即可,参数传递都为一般类型,就是所谓的方法参数第二种就是http请求,其实相对来说这个更简单,不用任何的依赖和封装参数,但是同时也出现了较多的参数类型,1)http请求参数存在body中创建postMethod,...

2020-02-29 19:24:18 876

原创 Git的基本操作

先说一下git的简单的操作,是看廖雪峰的视频学习的 可以为大家推荐一下1.安装git在ubuntu下使用 sudo apt-get install git,即可安装git2.设置用户名和邮箱$ git config --global user.name "Your Name"$ git config --global user.email "[email protected]...

2019-06-22 15:12:52 234

原创 ubuntu16.04下搭建Nginx+Tomcat集群

首先说一下Nginx的反向代理和负载均衡当网站的访问量到达一定的程度时,单台服务器已经不能满足用户的请求,需要多台服务器做集群使用Nginx做反向代理,使得多台服务器分担负载,可以设置一定的权重,不会因为某台服务器负载高宕机而某台服务器闲置的情况. 安装Nginx由于我使用的是ubuntu16.04,所以不是直接使用yun命令安装需要的库安装...

2019-06-21 09:41:58 451

原创 ubuntu16.04下装WineQQ

最近装了linux,可是qq就是没有linux版的,在google各种安装方式,也遇到过各种失败案例,很好奇有的是亲测成功,而我这怎么都搞不通就很纳闷,说结果吧 当然是搞出来了,特此罗列一些安装过程中不成功的案例,好使得各位能不白费功夫1.首先是需要wine的自己理解就是在linux下能安装windows的一种工具吧sudo apt-get install wine2.便是下载...

2019-03-17 01:05:16 432

原创 linux命令之rm和file命令

rm :主要是删除文件或目录主要参数:-i:在删除文件时会提示是否需要这麽做-f:忽略不存在的文件,不会弹出警告-r:递归删除,用于目录删除,危险的参数rm file和rm -i file:删除时会提示是否删除wxc@wxc-Lenovo-G40-30:~/learngit$ cd cccwxc@wxc-Lenovo-G40-30:~/learngit/ccc$ ls...

2019-03-07 19:32:50 2050

原创 linux命令之cp和mv命令

简而言之,cp就是复制源文件到目标文件,或者复制多个文件源到指定目录几个重要的参数-a:将文件和属性一起复制-p:也是将文件和属性一起复制,而不是默认方式-i:若文件存在,则会询问是否覆盖-u:目标文件与源文件有差异才会复制cp 复制file1给file2 将多个文件复制到指定目录wxc@wxc-Lenovo-G40-30:~/learngit$ cp -...

2019-03-07 18:30:04 1028

原创 linux命令之find命令

find命令用于查找文件 find [起始目录] [搜索条件] [操作]find ~ -name:在自己当前HOME根目录的查找以.ssh结尾的文件名 (~表示HOME根目录)wxc@wxc-Lenovo-G40-30:/$ sudo find ~ -name "*.ssh" -print/home/wxc/.sshfind . -name "[a-f]*" -print...

2019-03-07 15:32:54 1075

原创 linux命令之cat命令

cat命令的用途是连接文件,打印文件内容它的三大功能有:标准化输出文件 cat filename创建文件但不能编辑 cat >filename将几个文件合并为一个文件 cat file1 file2 file主要参数:-A, --show-all 等价于 -vET-b, --number-nonblank 对非空输出行编号-e 等价于 -vE-E,...

2019-03-07 10:47:19 1171 1

原创 linux命令之ps命令

Linux中的ps命令是ProcessStatus的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行...

2019-03-06 15:24:50 428

原创 linux命令之ls命令

首先ls命令是列出当前目录的内容,其次学之前先了解一下ls出来后的不同类型文件的标识. 表示隐藏文件 / 表示一个目录* 表示一个可执行文件@ 表示一个符号链接文件| 表示管道文件= 表示socket文件ls 文件当前目录,ls -a不隐藏以.字符开始的项目 ,ls -A列出除了.和..以...

2019-03-06 12:38:30 655

原创 linux命令之cd命令

在liinux中cd命令也是一个最基本的命令,可以切换当前目录cd / 进入系统根目录cd ..和cd ..// 返回上一级目录wxc@wxc-Lenovo-G40-30:~/learngit$ cd /wxc@wxc-Lenovo-G40-30:/$ lsbin dev initrd.img lib32 media proc sbin sys ...

2019-03-06 10:39:06 296

原创 linux命令之vim命令

当vi(vim)在编辑一个文件时,该文件就会被锁定,若此时另外一个用户或者同一用户再打开另一终端也希望进行编辑,会出现提示按键选择以只读方式打开 :按字母o直接编辑:按字母e 可能在保存文件时会发生冲突恢复:按字母 r 表示上次编辑文件时导致崩溃,使用r可以恢复内容退出:按字母q1)vim的命令模式和插入模式切换 1 vim下的插入模式切换 2 1)i:在当前字...

2019-03-01 18:12:58 245

原创 linux命令之grep命令

grep 在文本中检索字符串(单个文本和多个文本grepwxc@wxc-Lenovo-G40-30:/$ grep zcv /home/wxc/linuxEditzcvveverfrgvzcvwxc@wxc-Lenovo-G40-30:/$ grep zcv /home/wxc/linuxEdit /home/wxc/22/home/wxc/linuxEdit:zcvvev...

2019-02-28 20:43:58 477

原创 JAVA 8新特性

1.接口中包含默认方法和静态方法/* * 接口静态方法和默认方法 */interface jdk8{ public static void fun() { System.out.println("接口静态方法"); } public default void sun() { System.out.println("接口默认方法"); } public int aun(...

2018-09-21 23:34:42 197

原创 Hibernate底层实现 (一) 三种查询底层实现与SQL注入

我所说的并非是三种查询方式的方法实现,这里我不用讲,我主要是想围绕着Hibernate  SQL注入一、Criteria对于SQL注入的分析,其实也是围绕着把Criteria语句转化为SQL,生成可执行SQL语句,把完整的会发生注入的数据流API罗列出来Restrictions.sqlRestriction    SQL限定的查询public static Criterion s...

2018-07-31 17:22:25 2006

原创 SpringBoot启动失败出现 At least one JPA metamodel must be present! 和This application has no explicit mapp

长时间不搭SpringBoot项目遇到这个问题,还一时解决不了 At least one JPA metamodel must be present!在网上找了很多方式:例如: @SpringBootApplication @EnableAutoConfiguration(exclude={ JpaRepositoriesAutoConfiguration....

2018-07-30 19:19:27 4629

原创 MyBatis底层实现(三)复杂标签SQL的解析

先给出一段代码,类似于下面的复杂SQL,在解析过程中又是怎么执行的,调用了哪些API<select id="getAll" parameterType="map" resultType="map"> <bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />

2018-07-23 10:46:06 1399

原创 Tomcat报错:Could not publish to the server. java.lang.IndexOutOfBoundsException

今天准备用maven+SpringBoot 结合JDBCTemple和Mybatis了解一下实现sql执行的底层maven中添加了 mysql-connector-java     mybatis-spring-boot-starter都没有问题  可是添加了一个spring-webmvc后服务器就炸了   出现Could not publish to the server. java.lang....

2018-06-15 18:16:54 15805 7

原创 MyBatis底层实现(二)SQL注入之$和#

SQL注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原SQL语句的含义,进而执行任意SQL命令,达到入侵数据库乃至操作系统的目的。注入类型有三种:基本类型   自定义类型    Map集合类型<select id="queryByUserName" resultMap="userResultMap" parameterType="String"> ...

2018-06-14 20:29:57 1862

原创 MyBatis底层实现(一)接口和XML的映射

我们学习Mybatis时学过三种方式来实现MyBatis操作数据库一、配置mapper.xml文件然后使用专有的API  <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"    "http://mybatis.org/dt...

2018-06-14 19:16:47 5234

原创 使用JDBC连接Mysql 8.0.11出现了各种错误

本想着自己安装数据库还是很熟悉了   没想到这次彻底被征服了虽然以前装的都是Mysql 5.7 ,这次第一次安装Mysql 8.0.11,安装起来不费事,感觉还得心应手,但是   但是 就在用JDBC连接数据库和用jdbc.properties文件时出现了巨多的错误 ,一环扣一环,解决了一个 又生成一个总结一下都有这些问题:(前提是在cmd下和可视化界面下正常使用)1.检测连接引擎和数据库版本是否...

2018-05-22 11:43:14 20803 1

原创 数据库面经

总结一下自己找实习来又问道过的数据库相关问题一、数据库的索引1.数据库底层实现:底层是B+树的结构,所有节点中都存了指向下一个叶子节点的指针,只有叶子节点存储数据,InnoDB建议为大部分表使用默认自增的主键作为主索引。2.为什么是B+树不是红黑树或者B树 二叉树 B树即二叉搜索树: 所有非叶子节点最多有两个儿子 所有节点存储一个关键字

2018-05-08 19:26:29 951

原创 Synchronized关键字

在多线程问题中,Synchronized是解决线程同步的一种手段。说Synchronized之前,还有解决线程同步的手段有Lock、Volatile、wait() notify()方法 、CAS(硬件CPU同步原语Compare And Swap)先说一下Sychronized的用法:1、修饰一个类:作用于对这个类所有的对象进行加锁2、修饰一个方法,被修饰的方法称为同步方法,作用于调用这个方法的对

2018-04-22 17:04:56 370

原创 WEB需要的网络安全

最近面试狂问网络安全,还不是简单的网络和协议的问题,总之自己对这块不是很清楚,吓得我赶紧关注了一下这块,其实还在纠结这到底是后台改关注的事还是网络安全工程师要关注的事,不管怎么样,毕竟属于WEB方面的,自己总得关注一下。1、易受到跨站点脚本攻击 获取身份验证Cookie,攻击管理员账户或者攻击其他服务器和系统该漏洞可以通过在某区域中插入“<script>alert(‘23389950’);</s

2018-04-21 01:28:31 2268

原创 Servlet和SpringMVC处理请求流程

很尴尬 之前面试被问懵逼了 吓得我赶紧在回顾一下一、还是先说最简单的Servlet的处理流程吧基本的话有四大部分: 1.初始化阶段(调用init()方法)一旦Servlet实例被创建,Web服务器会自动调用init(ServletConfig config)方法来初始化该Servlet。其中方法参数config中包含了Servlet的配置信息,比如初始化参数,该对象由服务器创建。配置了两个初始

2018-04-12 13:24:41 1278

转载 正则表达式

正则表达式是一种字符串匹配规则,最大的特点就是短小精悍,能高效的解决实际应用中的很多问题,这里就来整理一下常用的正则表达式一、校验数字的表达式 1 数字: ^[0-9]$ 2 n位的数字: ^\d{n}$ 3 至少n位的数字: ^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-

2018-03-13 12:56:43 242

原创 数据库中查询到的时间怎么回是字符串

今天遇到个很尴尬的事情,我数据库中存有一张表,有一个时间字段,我定义的是datetime类型(这就是很标准的时间类型啊,没有错啊),接着我再实体类中时间定义为Date类型(我感觉好像也没毛病),然后就有问题了,从数据库中查询到的竟然是个字符串,这就让我很懵逼,按理说数据库和实体类都是标准的时间类型怎么会生成字符串呢?最后查到了自己原来写的一个项目,也不知道当时怎么搞得,竟然实体类中时间我定义为Str

2018-02-26 00:55:35 2495 2

原创 java生成复杂的嵌套json

在之前并没有接触到关于复杂嵌套json数据,都是返回一些简单的json数据。最近了解到JSONObject和JSONArray的一些知识。json对象与json对象数组的转化关系var jsonStr = "{\"userId\":\"001\"}"; // json对象字符串var jsonArryStr = "[{\"userId\":\"001\"},{\"userId\":\"002\

2018-02-26 00:31:17 23236 1

原创 Hibernate学习(一)-HelloWorld

此次第一次接触Hibernate,虽然之前学过其他的持久化框架,像MyBatis,我感觉面对两种相似功能的框架,总有第一感觉是两者有什么不同,现在先不细细讲解,毕竟才开始接触Hibernate,有些东西还不是很懂,今天就先说一下Hibernate的配置及简单事例。这个就是ORM持久化映射先说一下Hibernate的基本步骤:安装Hibernate相关的zip文件,在help中install1)创建H

2018-01-03 18:43:51 159

原创 SSM配置文件详解

前段时间一直搞SSM框架整合的问题,因为当时学的时候比较分散,SpringMVC、Spring 、MyBatis按顺序学完后,接收整合项目时,真有点懵逼,以为自己学了一个假的SSM,原来的那些ApplicationContext.xml文件全然不相似了,没办法,苦逼的我在网上找整合框架搭建环境,但是任然有不少问题,最后改了整整两天,测试样例才完美跑起来了,此后一些小的工程完全照搬原来搭建的框架整合环

2017-12-28 21:46:31 1064

原创 java注解详解

java中的注解很多,有什么用呢?注解的好处是:        让编程更加简洁,代码更加清晰;        尤其是框架部分,注解的作用尤为明显第一种java jdk 自带的注解用的最多的就是 @Override@SuppressWarnings @Deprecated 释义: @Override表示父类重写或覆盖子类的方法@SuppressWarnings表示忽略指定警告

2017-12-27 17:18:31 249

原创 获取短信验证码

一般在用户登陆时,都会选择手机号登录,这就难免要获取手机验证码, 在前端页面设置获取验证码button 点击后实现倒计时60s,并发送验证码设计结构:后台随机6位验证码 将验证码存入session中 调用第三方接口实现发送验证码 在后台取出session并和输入的验证码进行匹配需要的jar包有:commons-codec-1.4.jar

2017-12-23 22:13:00 7948 1

原创 数据库三大范式

数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。最常用的有三大范式 1NF 2NF 3NF一.第一范式(确保每列保持原子性)属性为原子性,不可拆分 或 无重复的列(通俗的说就是列不能再次划分) ,简单的表都属于第一范式。二 .第二范式(属

2017-12-06 20:21:11 226

原创 数据库三大范式

数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。最常用的有三大范式 1NF 2NF 3NF一.第一范式(确保每列保持原子性)属性为原子性,不可拆分 或 无重复的列(通俗的说就是列不能再次划分) ,简单的表都属于第一范式。二 .第二范式(属

2017-12-06 20:21:07 250

原创 将数据以二进制和URL的方式存入数据库并且请求出json

在当下文件存入数据库的格式无非有两种: 一种是存入直白的URl 另一种是将文件以二进制字节数组的形式存入数据库 相对来说二进制字节数组会占用较大的内存空间,所以当前普遍用URL进行存储与请求第一种URL形式1.简单上传文件界面index.jsp<%@ page language="java" contentType="text/html; charset=utf-8" pageEnco

2017-11-19 15:57:02 954

空空如也

空空如也

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

TA关注的人

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