自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (11)
  • 收藏
  • 关注

原创 webservice-TCP三次握手四次挥手

此图是wireshark抓包获取的数据,现在分析一下三次握手四次挥手。1.字符(SYN,ACK,FIN,seq,ack)各代表什么意思SYN:代表请求创建连接,所以在三次握手中前两次要SYN=1,表示这两次用于建立连接,至于第三次什么用,在疑问三里解答。 FIN:表示请求关闭连接,在四次分手时,我们发现FIN发了两遍。这是因为TCP的连接是双向的,所以一次FIN只能关闭一个方向...

2019-01-31 14:12:44 517

原创 1.Spring容器初始化过程

架构过程:1.反射动态创建对象,操作对象2.容器:过渡:通过new ->工厂方法 ->IOC容器

2021-06-23 16:00:38 108

原创 getField和getDeclaredField的区别

这两个方法都是用于获取字段1.getField只能获取public的,包括从父类继承来的字段。2.getDeclaredField 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。 (注: 这里只能获取到private的字段,但并不能访问该private字段的值,除非加上setAccessible(true))public class DemoTest02 { @Test public void testField2() throws Exce..

2021-06-22 17:07:43 5110

原创 CentOS 7快速开放端口

一、CentOS 7快速开放端口:CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:开启端口[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent查询端口号80 是否开启:[root@centos7 ~]# firewall-c

2021-06-19 20:18:36 1634

原创 Spring Cloud微服务教程-第一篇

Spring Cloud微服务教程(一)文章目录Spring Cloud微服务教程(一)1.教程大纲2.统一开发环境3.微服务架构3.1.单体架构3.2.单体架构存在的问题3.3.什么是微服务?3.4.微服务架构的特征3.5.微服务架构示例4.Spring Cloud简介4.1.简介4.2.Spring Cloud子项目4.3.版本说明4.4.Spring Cloud框架特点5.使用 Spring Boot 实现微服务5.1.实现商品微服务5.1.1.创建maven工程

2020-06-23 16:26:07 562

原创 window 关闭8080端口

netstat -o -n -a | findstr :8080taskkill /F /PID 12684

2020-06-18 14:20:46 769

原创 【Linux】CentOS7 安装rabbitmq

1、安装erlang环境yum install http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm2、安装rabbitmqyum install http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm报错: 6月 02 15:25:26 dev01 sys

2020-06-02 18:14:59 202

原创 gitHub创建分支命令操作

一、clone Repositorygit clone https://github.com/siskinc/siskinc.github.io二、管理分支查看分支$ git branch 1. master*标识的是你当前所在的分支查看远程分支git branch -r查看所有分支git branch -a本地创建新的分支git branch [branch name]切换到新分支git checkout [branch name]创建+切换分

2020-05-21 16:22:36 477

原创 死锁-CAS下ABA问题及优化方案

一、并发业务场景库存业务,stock(sid, num),其中: sid为库存id num为库存值 如上图所示,两个并发的查询库存操作,同时从数据库都得到了库存是5。接下来用户发生了并发的库存扣减动作:如上图所示: 用户1购买了3个库存,于是库存要设置为2 用户2购买了2个库存,于是库存要设置为3 这两个设置库存的接口并发执行,库存会先变...

2019-03-13 17:03:27 667

转载 微信支付曝出的漏洞

一、背景        昨天(2018-07-04)微信支付的SDK曝出重大漏洞(XXE漏洞),通过该漏洞,攻击者可以获取服务器中目录结构、文件内容,如代码、各种私钥等。获取这些信息以后,攻击者便可以为所欲为,其中就包括众多媒体所宣传的“0元也能买买买”。        漏洞报告地址:http://seclists.org/fulldisclosure/2018/Jul/3二、漏洞原理1.  XX...

2018-07-08 11:55:18 3344

原创 ContextLoaderListener作用详解

ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行他事先的方法。第一段:说明ContextLoader可以由 ContextLoaderListener和ContextLoaderServl

2017-07-07 11:18:40 334 1

原创 angularjs 前台复杂的json串传到后台接受(简单)总结

字符串:{"childs":[{"_id":14,"alpha":0,"areaSelect":true,"background":"","backgroundColor":"255,255,255", "childs":[{"_id":10000,"alarmColor":"255,0,0","alpha":1,"borderColor":"255,255,255","borderWidth"

2017-07-03 16:11:46 3395 1

原创 SpringMVC的@RequestMapping,@Responsebody区别

预备知识:@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping(value = "/aaa")//类级别,可以没有public class myController { @RequestMapping(value = "/bb

2017-06-15 17:06:51 674 2

原创 shell -- 练习

练习一:写一个脚本       1.设定变量FILE的值为/etc/passwd       2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么        形如:(提示:LINE=`wc -l /etc/passwd | cut -d" " -f1`)         Hello,root,your UID is 0.       3.统计一个有多少

2017-05-25 13:50:17 489

原创 linux (centOS) 网络链接配置(windows10)

进行网络配置前,需要确认几个事情:1. 网络适配器模式是否为NAT模式右键虚拟机,或者点击VMvare菜单栏中的虚拟机(按ctrl+alt键可切出虚拟机返回到windows,点击虚拟机窗口,可进入虚拟机操作)点击“设置”          . 确认网关、网段点击VMvare虚拟机“编辑”菜单中的“虚拟网络编辑器”,在弹出页面上方列表中选择VM

2017-05-22 14:32:49 838 1

原创 shiro 简单使用

项目目录结构:                    public class HelloWorld { public static void main(String[] args) { //读取配置文件,初始化SecurityManager工厂 Factory factory=new IniSecurityManagerFactory("classpath:shiro.in

2017-05-12 16:43:36 201

原创 linux-用户命令

用户管理:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage组管理:groupadd, groupdel, groupmod, gpasswd权限管理:chown, chgrp, chmod, umask/etc/passwd:用户名:密码:UID:GID:注释:家目录:默认SHELL

2017-05-11 15:24:36 216

原创 linux-文本编辑

cut、sort,join、sed(查找替换)、awk1.1 cut:-d: 指定字段分隔符,默认是空格-f: 指定要显示的字段-f 1,3-f 1-3        例子:echo "a b c d e f" | cut -d' ' -f1 1.2 文本排序:sort-n:数值排序-r: 降序-t: 字段分隔符-k: 以哪个字段为关键字进行排序

2017-05-11 13:25:30 181

原创 linux解压文件

gzip 只能压缩文件,不能压缩目录;压缩完原文件就不在了gzip baidugunzip(gzip -d)  baidu.gz压缩解压命令:zip 打包目录压缩后文件格式:tar.gz语法:tar 选项[-zcf][压缩后文件名][目录]              -c  打包              -v   显示详细信息

2017-05-04 10:27:45 173

原创 linux 文件搜索命令 find

命令名称:find命令所在路径: /bin/find执行权限:所有用户语法:find [搜索范围] [匹配条件]功能描述:文件搜索

2017-05-03 17:18:23 282

原创 权限管理命令 chmod

名称:chmod英文:change the permissions mode of a file 路径:/bin/chmod权限:所有用户语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]   u 所有者 g 所有组 o 其他人 a 所有人                       [mode=421][文件或目录]

2017-05-02 17:54:49 200

原创 linux简单命令

1.mkdir   语法:mkdir -p [目录名]         -p 递归创建         mkdir -p /tmp/japan/boduo2.pwd   展示当前目录3.rmdir 文件处理命令  rmdir [目录名]  删除空目录4.cp 目标处理命令(复制文件或目录)  cp [文件] [目标目录]  cp -r [目录] [目

2017-04-27 11:14:52 159

原创 用maven创建一个Web project

1.到目标文件夹下:按shift鼠标右击,选择命令窗口2.输入mvn archetype:generate,首次创建时,时间较长耐心等待。。。3.输入:maven-archetype-webapp4.依次输入:5.最后输入:y  ,确认,在目标文件件下生成了项目。

2017-04-25 12:02:30 165

原创 用maven创建一个简单java工程

1.到目标文件夹下:按shift鼠标右击,选择命令窗口2.输入mvn archetype:generate,首次创建时,时间较长耐心等待。。。3.输入:maven-archetype-quickstart4.依次输入5.最后输入:y  ,确认,在目标文件件下生成了项目。

2017-04-25 11:25:23 262

原创 linux分区的命名

/dev/   这个字串是所有设备文件所有的目录名,因为分区在硬盘上,而硬盘是设备,所以这些文件代表了在/dev/上所有            可能的分区。xx       分区名的前两个字母标明分区所在设备的类型。通常是hd(IDE硬盘)或sd(SCSI磁盘)。y        这个字母标明分区所在的设备。 /dev/hda(第一个IDE磁盘)或//dev/sdb(第二个SCSI磁盘

2017-04-05 13:21:56 973

原创 主分区和逻辑分区的区别

主分区、扩展分区、逻辑分区  一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区。 扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行。逻辑分区也就是我们平常在操作系统中所看到的D、E、F等盘。 不管使用哪种分区软件,我们在给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩

2017-04-05 10:09:18 19653

原创 linux 下vi 命令使用

功能最强大的编辑器之一——vivi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就

2017-03-13 16:56:46 187

原创 @SuppressWarnings(“unchecked“)

作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={})根据su

2017-03-07 11:33:40 282

转载 rest框架

1.统一响应结构使用REST框架实现前后端分离架构,我们需要首先确定返回的JSON响应结构是统一的,也就是说,每个REST请求将返回相同结构的JSON响应结构。一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值,其中,元数据表示操作是否成功与返回值消息等,返回值对应服务端方法所返回的数据。该JSON响应结构如下:{ "meta": { "success

2017-03-03 09:39:56 517

原创 angularjs

angular 表达式 通过$parse服务解析执行。与Javascript表达式的区别1.属性求值:所有属性的求值是对于scope的,而javascript是对于window对象的;2.宽容:表达式求值,对于underfined和null,angular是宽容的,单javascript会产生NullPointerExceptions=3.没有流程控制语句:在angular表达式里

2017-02-24 14:55:02 186

原创 restful

1.restful web service 应用不广泛,优点编码渐变、面向资源。2.对url 进行规范,写RESTful格式的url:  REST的url风格:http://...../querytems.action?id=001&type=T01;  rest的url风格:http://..../items/001特点:url简洁,将参数通过url传到服务端;2.http的

2017-02-24 10:35:33 224

原创 同是流行MVC框架,比较Strtus2和SpringMVC的区别

一、SpringMVC的工作流程描述      1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获;      2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Ha

2016-11-17 10:39:03 1820

原创 getSession()和getCurrentSession()的区别及常见问题

1. 采用getCurrentSession()创建的session会绑定到当前线程中(第一次调用时会创建一个Session实例,如果该Session未关闭,后续多次获取的是同一个Session实例),而采用openSession()创建的session则不会(每次打开都是新的Session,所以多次获取的Session实例是不同的)。2.采用getCurrentSession()创建的s

2016-11-10 22:45:25 3479

原创 ModelDriven的原理

所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象。比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public class User { private int id; private String username; private String password; pr

2016-11-07 21:59:20 369

转载 MyEclipse开发中,全局编码设置为UTF-8

在使用Eclipse+MyEclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP)。这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不用每次修改编码了, UTF-8 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(works

2016-11-06 09:53:39 5764 1

原创 servlet API 解耦访问和耦合访问的区别

一.与Servlet API解耦的访问方式1.为了避免与Servlet API耦合在一起,方便Action类做单元测试,  Struts2对HttpServletRequest、HttpSession和ServletContext进行了封装,  构造了三个Map对象来替代这三种对象,在Action中,  直接使用HttpServletRequest、HttpSession、

2016-11-05 10:24:15 2398

原创 AbstractInterceptor和MethodFilterInterceptor的区别

1.AbstractInterceptor是Interceptor的子类。2.MethodFilterInterceptor是AbstractInterceptor的子类,你需要实现的拦截器支持方法过滤性,就继承MethodFilterIntercepter这个类.默认的情况下,拦截器会拦截Action中的所有的方法,这里不包括setter或getter方法.这时就可以使用方法

2016-11-05 10:15:59 2293

原创 hibernate JPA注解主键生成策略

Id生成策略:@GeneratedValue,JPA通用策略生成器 。        JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.           TABLE:使用一个特定的数据库表格来保存主键。           SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。 1.sequence 根据底层数

2016-11-02 21:38:30 2813

转载 Hibernate注解方法使用总结

1.类级别注解@Entity     映射实体类@Table    映射数句库表 @Entity(name="tableName") - 必须,注解将一个类声明为一个实体bean。属性:name - 可选,对应数据库中的一个表。若表名与实体类名相同,则可以省略。 @Table(name="",catalog="",schema="")

2016-10-26 20:14:31 200

原创 hibernate manytoone list 查询 发出的语句为什么是 1+N条

1+N问题的描述:举例,多个主题(Topic)属于一个帖子(Category),一个帖子含有多个主题。当只需要查询Topic时不要查询Category时,如果@ManyToOne的属性fetch=FetchType.EAGER,这时查询所有Topic时,每查询一个Topic就会多产生一个SQL语句查询相关的Category表的数据,这样要是有N条Topic数据,就会产生1+N条SQL语句。同样的在

2016-10-22 23:47:09 2040

RedisClient.rar-redis客户端工具

RedisClient是Redis客户端的GUI工具,使用Java swt和jedis编写,可以方便开发者浏览Redis数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。RedisClient将redis数据以资源管理器的界面风格呈现给用户,可以帮助redis开发人员和维护人员方便的建立,修改,删除,查询redis数据,完全不需要了解redis命令。可以让用户方便的编辑数据,可以剪切,拷贝,粘贴redis数据,可以导入,导出redis数据,可以对redis数据排序

2019-06-06

18什么情况下Java程序会产生死锁?如何定位、修复?

什么情况下Java程序会产生死锁?如何定位、修复?pdf中有介绍

2018-11-25

36谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?

36谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?

2018-11-25

entOS-6.5-x86_64-bin-DVD1.iso、entOS-6.5-x86_64-bin-DVD2.iso等

CentOS6.5各种镜像文件,entOS-6.5-x86_64-bin-DVD1.iso、entOS-6.5-x86_64-bin-DVD2.iso、entOS-6.5-x86_64-LiveDVD.iso、entOS-6.5-x86_64-minimal.iso

2018-02-12

Spring Boot 企业微信点餐系统视频教程及源码

以Spring Boot和微信特性为核心技术栈,实现一个从下单到接单流程完整,包含买家端和卖家端前后台功能的微信点餐系统,带你一步步设计并开发一个中小型企业级Java应用

2018-01-04

Notepad++自动缩进插件---NppAStyle.dll

1 Notepad++本来是没有自动缩近的功能的。想要自动缩近必须要安装插件NppAStyle。 2 下载后我们打开这个解压文件。发现有两个文件夹ansi和unicode。由于我们是在中国,所以打开unicode文件夹,将里面的NppAStyle.dll解压出来。 3 然后找到你安装的Notepad++的安装目录,最简单的方法就是在你使用的Notepad++的快捷方式的属性里点“打开文件位置”。进入后我们打开plugins文件夹,把刚才解压的NppAStyle.dll复制到这里。 4 重启Notepad++,点击菜单栏里的“插件”,发现NppAStyle已经成功安装。但不急,还需要配置。点击"options",我在语言里选择了linux。 5 写一段C代码,再按NppAStyle的快捷键Alt+f,怎样?已经缩进得整整齐齐了吧。

2017-12-05

jquery 3.2.1 API

jquery 3.2.1 API CHM版本 因windows系统权限,打开空白无内容解决办法:右键单击该 chm格式的电子书,然后单击“属性”, 单击“取消阻止”或者选“解除锁定” 。 另:chm版本会调用系统默认IE内核,请确保系统IE版本为9.0以上。

2017-11-02

apache-cxf-2.5.9-src.zip

webservice cxf

2017-08-09

尚硅谷Redis视频

Redis视频及代码

2017-07-19

SSM项目教学视频(有代码)

教学视频,有源码

2017-07-04

空空如也

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

TA关注的人

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