自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring事务机制(二)

Spring事务机制1.事务抽象2.事务传播PROPAGATION_REQUIRED默认事务传播机制,若当前存在事务,则加入该事务,若不存在事务,则新建一个事务。PAOPAGATION_REQUIRE_NEW不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务。事务的隔离性,两个事务互不干涉。不是同一个事务了。若当前没有事务,则新建一个事务。若当前存在事务,则新建一个事务,新老事务相互独立。外部事务抛出异常回滚不会影响内部事务的正常提交。class C

2020-08-05 22:55:40 221

原创 CORS解决跨域问题详解

引入问题一.为什么会出现跨域问题?不同源(ip地址、协议、端口都相同才是同源),只要IP地址或者协议或者端口只要有一项不同,都会出现跨域问题。二.出现的场景1.前端后分离,前端代码和后端代码部署在不同的服务器中。2.第三方合作方通过前端调用api接口。三.使用CORS会出现那些的问题?1.CORS导致sessionId不一致问题。2.非简单请求会发送两次请求(预请求和真实请求)。导致在预请求是不会携带请求参数。3.与拦截器冲突导致CORS失效并报出异常问题。 if (CorsUtils

2020-08-04 10:01:26 1870

原创 mysql事务(一)

微服务中的事务问题单服务中解决数据的一致性问题:使用事务就ok了。事务的原则事务是什么?事务的四大原则:原子性:要么都完成,要么都不完成。一致性:状态是一致的,结果是完整的。隔离性:在不同的事务,在操作同样的数据,在A没有commit的时候,别人是看不到的。持久性:当进行commit的时候,在进行提交都数据库中。使用mysql操作事务场景:转账场景代码:SELECT * FROM t_user##开启事务START TRANSACTION;update t_

2020-07-29 22:31:00 163

原创 Mybatis缓存解析

什么是查询缓存mybatis 提供查询缓存,用于减轻数据压力,提高数据库性能。mybatis 提供一级缓存,和二级缓存。一级缓存:一级缓存就是sqlSession级别缓存。在操作数据库时需要构造sqlsession对象,在对象中有一个数据结构(hashmap)用于存储缓存数据,不同的sqlsession之间的缓存数据区域(hashmap)是相互不影响的。二级缓存:二级缓存是mapper级别的缓存,多个sqlsession去操作同一个mapper的sql语句,多个sqlsession去操作数据库得

2020-07-29 21:28:25 124

原创 Netty(二)客户端与服务端通信

客户端与服务端通信简单示例代码:基于netty 4服务端代码:MyServer:package secondexample;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.cha

2020-07-01 22:30:35 147

原创 Idea实操SVN分支切换及代码合并至主干(其他分支)

SVN分支切换步骤1:切换到svn 代码更新设置步骤二:选择需要切换到那个分支步骤三:点击ok进行切换,不报错的话就切换成功。。SVN代码合并步骤一:在分支项目中切换到主干项目代码。步骤二:打开 version control 面板步骤三:选择合并的过来的,提交代码版本。...

2020-06-16 10:01:54 1971

原创 idea导入项目,Lombok插件安装了,但是无get set方法

排查步骤:1.保证安装了Lombok插件2.保证导入了Lombok jar包3.是否勾选了配置项

2020-06-16 09:48:09 427

原创 实战应用:队列+多线程通信+监听

场景:每1个台设备每次上传文件,只能单个文件上传,假如A设备有10个文件,B设备有10个文件。我要让AB两个设备10文件同时上传,比如A设备正在上传文件1号其他9个文件进入队列等待,B设备也是正在上传文件1号其他9个文件进入队列等待。AB设备共用同一个队列(先进先出队列)只有等A设备第一个文件上传成功了,才能继续上传A的。B也是这样的。demo:public static Concurren...

2020-02-19 11:20:11 399

原创 Sql注入

Mybatis在mybatis中使用 #{} 和 ${} 来进行参数值替换,使用 #{} 语法时,MyBatis 会自动生成 PreparedStatement ,使用参数绑定 ( ?) 的方式来设置值,上述两个例子等价的 JDBC 查询代码如下: String sql = "SELECT * FROM users WHERE id = ?";PreparedStatement ps = c...

2020-02-17 09:54:13 124

原创 java中队列---Queue

Queue-APIConcurrentLinkedQueue非阻塞队列-先进先出示例代码:package com.study.juc.queue;import java.util.concurrent.ConcurrentLinkedQueue;// 优势:无锁。// 注意:批量操作不提供原子保证 addAll, removeAll, retainAll, containsAl...

2020-02-06 12:39:52 203

原创 LinkeList底层实现原理及源码

LinkeList原理LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链表的,所以随机访问的效率要比 ArrayList 差。1.ArrayList在实现添加、插入底层都要进行扩容及位置偏移问题。...

2020-02-03 16:16:14 231

原创 ArrayList 底层实现原理及Vector

ArrayList 底层实现核心点1.集合底层使用数组实现的2.为什么集合能存放无限大小?####数组扩容技术实现的Arrays.copyOf:实现数组的复制,返回复制后的数组。参数是被复制的数组和复制的长度。返回一个新的数组,将原来数组长度2,扩容长度为10的一个新的数组,原来的数据不变。代码示例实现:package com.mmall.demo2.demotest;impor...

2020-02-02 15:04:13 411

原创 RabbitMq基础(二)

一、几种队列类型1.简单队列2.work模式3.work模式(能者多劳)4.订阅模式5.路由模式6.通配符模式二、基础队列## 2.1简单队列## 2.2work模式## 2.3work模式(能者多劳)三、高级队列## 3.1订阅模式## 3.2路由模式## 3.3通配符模式四、消息确认模式## 4.1自动签收## 4.2手动签收...

2020-01-08 00:00:06 116

原创 RabbitMq基础知识(一)

一、为什么要使用mq可以实现同步,比如:商品的同步,商品在数据库中发生了改变,要同步到前端和solr或者ES中。通过mq可以实现一对多的关系进行同步。二、几种mq的对比三、RabbitMq简介RabbitMq是通过Erlang语言开发的,这语言就初衷理念就是实现高并发的。RabbitMq稳定性是比较高的。什么是AMQP?四、RabbitMq管理平台界面讲解## 4.2...

2020-01-07 23:45:18 200

原创 SSM实现普通的图片上传

利用 Spring MVC 实现文件上传功能,离不开对 MultipartResolver 的设置。MultipartResolver 这个类,你可以 将其视为 Spring MVC 实现文件上传功能时的工具类,这个类也只会在文件上传中发挥作用。在配置了具体实现类之后,Spring MVC 中的 DispatcherServlet 在处理请求时会调用 MultipartResolver 中的方法判...

2020-01-07 17:28:42 215

原创 反射之制作工具类(bean2map)

bean.getClass() **Class<?> clazz = bean.getClass();** getClass()是Object类中的一个方法,就是用来获取类本身的(获得类本身之后就可以使用newInstance()方法进行实例)。getDeclaredFields解析:getDeclaredFields():获得某个类的所有声明的字段,即包括pu...

2019-12-27 16:41:25 252

原创 WebRTC网络协议分析

webRTC网络协议分析常用工具Linux服务端用tcpdump其他端WireSharktcpdumptcpdump -i eth0 src port 80 -xx -Xs 0 -w test.cap-i:指定网卡 eth0就是网卡的名称src:指明包的来源port:指明端口号-xx:指抓到的包以10进制显示-X:指以ASCII码显示-s 0:指明抓整个包-w:写到文件中 ...

2019-12-07 22:55:10 405

原创 node.js 创建https服务

什么是https?通俗的来讲之前我们使用的http可以说是明文,对http加密之后就是https了(https=http+http+TLS/SSL)创建一个简单的https服务器var https = require('https');var fs =require('fs');//读取证书 fs 用于读取证书var options={ key:fs.readFileSync('文件路...

2019-12-05 21:59:11 141

原创 Node.js 创建(最简单的http服务)

如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们...

2019-12-05 21:58:48 300

原创 构建第三方开放平台接口

appid机制 只有appid和密钥验证通过了才能调用接口,并不是谁都能来调用我们的接口的,有点类似系统中的登录,需要使用的接口的用户需要在后台开通appid,提供给用户相关的密钥,在调用接口中需要提供appid和密钥,服务器端会进行相关的验证签名机制防止参数篡改限流机制防止流量攻击导致服务器或者数据库宕机黑白名单机制数据加密机制使用https协议,在http和tcp之间添加一层...

2019-12-02 23:14:27 331

原创 windows常用的cmd指令

cmd 常用(非常实用)**netstat -ano|findstr指令 **cmd:查询占用端口的PID://比如查看8080端口被那个pid进程占用C:\Users\Administrator>netstat -ano|findstr 8080查询结果:1872 pid 占用8080端口TCP 127.0.0.1:8080 0.0.0.0:0 LISTENING 1872...

2019-11-08 00:35:02 227

原创 java中线程池的使用

线程池的分类Executor框架的最顶层实现是ThreadPoolExecutor类。Executors工厂类中提供的:1、newSingleThreadExecutor2、newScheduledThreadPool3、newFixedThreadPool4、newCachedThreadPool其实也只是ThreadPoolExecutor的构造函数参数不同而已。通过传入不同的...

2019-11-06 23:00:36 187

原创 java中通过位运算来判断某为是0还是1(实战)

嘻嘻嘻

2019-11-06 22:38:51 6092

原创 springboot整合静态资源及html

springboot默认资源路径注:SpringBoot中的src/main/resources/资源文件夹对应classpath:。默认存放静态资源文件的位置,在SpringBoot项目中的文件夹位置为:case one:搜索文件夹的优先顺序和数组中的顺序一致。当我们访问IP地址:端口号/时,就相当于访问到了这四个文件夹。如:访问:localhost:8080/123.jpg时,就...

2019-11-03 22:10:22 616

原创 项目不可少之一过滤器(Filter)

什么是Filter?Filter实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理应用场景1、权限验证2、使用Filter进行重写init 可以在项目的启动的时候进行初始化一些资源3、是否登录拦截配置及使用Filter基于ssm及xml形式创建一个类并实现Filter中三个方法public class LoginFilter implements ...

2019-10-30 22:59:19 339

原创 项目不可少之一拦截器(HandlerInterceptorAdapter)

什么是HandlerInterceptorAdapter?HandlerInterceptorAdapter 这个适配器是由Spring MVC提供的(org.springframework.web.servlet.handler.HandlerInterceptorAdapter)继承此类,可以非常方便的实现自己的拦截器,而且不仅可实现Filter的所有功能,还可以更精确的控制拦截精度(shi...

2019-10-30 22:34:19 3394

原创 Springboot整合mybatis及swagger2(实战版)

整合前说明JDK1.7使用springboot内置tomcat整合mybatis xml版本springboot1.5.3小工具lombokyml格式导入pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xml...

2019-10-30 22:19:54 260

原创 Mvn-profile进行各个环境的切换

为什么要使用mvn-profile?在公司中可能会存在各种环境比如:开发环境、测试环境、生成环境等等,就可以使用mvn-profile进行项目的管理,只需要先配置各个环境需要的配置的信息,在打包部署的时候,只需要点击所选的环境进行切换就好,而不是每次进行修改想打包到那个环境的信息再进行打包。配置pom2.1使用profiles 配置文件路径赋值给env元素: <profiles&...

2019-10-29 00:14:19 286

原创 自定义注解基础

注解讲解@Target(ElementType.TYPE) //表示在类上使用@Target(ElementType.FIELD) //表示只能在属性上使用@Target({ElementType.METHOD, ElementType.TYPE}) //表示既能在方法也能在类上使用@Target(ElementType.PARAMETER) //表示只能在属性上使用@Reten...

2019-10-29 00:13:41 170

原创 项目不可少之一日志

为什么要使用日志?使用日志的原因很多种。比如:追查项目存在的问题(bug)方便调试(debug)等…可能有人就说了,为什么要使用日志而不使用System.out.println();呢,不都是输出到控制台吗?使用sout(简称)功能方便没有日志多,比如:1、不能形成文件,只是简单控制台输出而已。2、不便于追查3、不能选择性的输出记录 比如:我只要输入error级别的日志等…...

2019-10-28 23:57:34 195

原创 线程安全问题解决方案之同步synchronized或使用锁(lock)(二)

为什么使用线程同步或使用锁能解决线程安全问题呢?将可能会发生数据冲突问题(线程不安全问题),只能让当前一个线程进行执行。代码执行完成后释放锁,让后才能让其他线程进行执行。这样的话就可以解决线程不安全问题。比如:3个人同时去上厕所,但是坑只有一个。那么3个人谁的动作快,就能先上厕所,其余的人只能是在外面等候排队,等第一个人上完了,才能进入第二个人使用厕所,依次类推…使用同步synchroniz...

2019-10-12 21:09:11 298

原创 线程安全问题及解决方案(一)

什么是线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。如何解决线程安全问题?使用同步容器同步容器讲解链接:待发布使用单例模式单例模式讲解链接:待发布使用并发容器并发容器讲解链接:待发布线程封闭线程封闭讲解链接:待发布线程之间同步synchronized...

2019-10-12 00:20:25 159

原创 Java左移 和 右移 > >

嘻嘻嘻

2019-10-10 23:31:15 264

原创 十进制转二进制(正负数)

十进制转二进制(正数)比如:一个十进制的数:10 转为二进制为:0000 1010(八位的)过程:咱们倒着排一下,10所对应二进制就是1010十进制转二进制(负数)比如:一个十进制的数:-5 转为二进制为:1111 1011(表示8位的-5)过程:把5转化为二进制字节形式。得到101,然后补零0000 0101。这个时候,原码就出来了:0000 0101然后,取反(0的变...

2019-10-09 00:06:57 2666

空空如也

空空如也

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

TA关注的人

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