- 博客(43)
- 资源 (11)
- 收藏
- 关注
原创 webservice-TCP三次握手四次挥手
此图是wireshark抓包获取的数据,现在分析一下三次握手四次挥手。1.字符(SYN,ACK,FIN,seq,ack)各代表什么意思SYN:代表请求创建连接,所以在三次握手中前两次要SYN=1,表示这两次用于建立连接,至于第三次什么用,在疑问三里解答。 FIN:表示请求关闭连接,在四次分手时,我们发现FIN发了两遍。这是因为TCP的连接是双向的,所以一次FIN只能关闭一个方向...
2019-01-31 14:12:44 545
原创 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 5201
原创 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 1677
原创 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 597
原创 【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 213
原创 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 504
原创 死锁-CAS下ABA问题及优化方案
一、并发业务场景库存业务,stock(sid, num),其中: sid为库存id num为库存值 如上图所示,两个并发的查询库存操作,同时从数据库都得到了库存是5。接下来用户发生了并发的库存扣减动作:如上图所示: 用户1购买了3个库存,于是库存要设置为2 用户2购买了2个库存,于是库存要设置为3 这两个设置库存的接口并发执行,库存会先变...
2019-03-13 17:03:27 693
转载 微信支付曝出的漏洞
一、背景 昨天(2018-07-04)微信支付的SDK曝出重大漏洞(XXE漏洞),通过该漏洞,攻击者可以获取服务器中目录结构、文件内容,如代码、各种私钥等。获取这些信息以后,攻击者便可以为所欲为,其中就包括众多媒体所宣传的“0元也能买买买”。 漏洞报告地址:http://seclists.org/fulldisclosure/2018/Jul/3二、漏洞原理1. XX...
2018-07-08 11:55:18 3377
原创 ContextLoaderListener作用详解
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行他事先的方法。第一段:说明ContextLoader可以由 ContextLoaderListener和ContextLoaderServl
2017-07-07 11:18:40 346 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 3413 1
原创 SpringMVC的@RequestMapping,@Responsebody区别
预备知识:@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping(value = "/aaa")//类级别,可以没有public class myController { @RequestMapping(value = "/bb
2017-06-15 17:06:51 692 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 505
原创 linux (centOS) 网络链接配置(windows10)
进行网络配置前,需要确认几个事情:1. 网络适配器模式是否为NAT模式右键虚拟机,或者点击VMvare菜单栏中的虚拟机(按ctrl+alt键可切出虚拟机返回到windows,点击虚拟机窗口,可进入虚拟机操作)点击“设置” . 确认网关、网段点击VMvare虚拟机“编辑”菜单中的“虚拟网络编辑器”,在弹出页面上方列表中选择VM
2017-05-22 14:32:49 936 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 209
原创 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 233
原创 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 194
原创 linux解压文件
gzip 只能压缩文件,不能压缩目录;压缩完原文件就不在了gzip baidugunzip(gzip -d) baidu.gz压缩解压命令:zip 打包目录压缩后文件格式:tar.gz语法:tar 选项[-zcf][压缩后文件名][目录] -c 打包 -v 显示详细信息
2017-05-04 10:27:45 186
原创 linux 文件搜索命令 find
命令名称:find命令所在路径: /bin/find执行权限:所有用户语法:find [搜索范围] [匹配条件]功能描述:文件搜索
2017-05-03 17:18:23 293
原创 权限管理命令 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 213
原创 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 172
原创 用maven创建一个Web project
1.到目标文件夹下:按shift鼠标右击,选择命令窗口2.输入mvn archetype:generate,首次创建时,时间较长耐心等待。。。3.输入:maven-archetype-webapp4.依次输入:5.最后输入:y ,确认,在目标文件件下生成了项目。
2017-04-25 12:02:30 174
原创 用maven创建一个简单java工程
1.到目标文件夹下:按shift鼠标右击,选择命令窗口2.输入mvn archetype:generate,首次创建时,时间较长耐心等待。。。3.输入:maven-archetype-quickstart4.依次输入5.最后输入:y ,确认,在目标文件件下生成了项目。
2017-04-25 11:25:23 271
原创 linux分区的命名
/dev/ 这个字串是所有设备文件所有的目录名,因为分区在硬盘上,而硬盘是设备,所以这些文件代表了在/dev/上所有 可能的分区。xx 分区名的前两个字母标明分区所在设备的类型。通常是hd(IDE硬盘)或sd(SCSI磁盘)。y 这个字母标明分区所在的设备。 /dev/hda(第一个IDE磁盘)或//dev/sdb(第二个SCSI磁盘
2017-04-05 13:21:56 999
原创 主分区和逻辑分区的区别
主分区、扩展分区、逻辑分区 一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区。 扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行。逻辑分区也就是我们平常在操作系统中所看到的D、E、F等盘。 不管使用哪种分区软件,我们在给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩
2017-04-05 10:09:18 19777
原创 linux 下vi 命令使用
功能最强大的编辑器之一——vivi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就
2017-03-13 16:56:46 195
原创 @SuppressWarnings(“unchecked“)
作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={})根据su
2017-03-07 11:33:40 561
转载 rest框架
1.统一响应结构使用REST框架实现前后端分离架构,我们需要首先确定返回的JSON响应结构是统一的,也就是说,每个REST请求将返回相同结构的JSON响应结构。一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值,其中,元数据表示操作是否成功与返回值消息等,返回值对应服务端方法所返回的数据。该JSON响应结构如下:{ "meta": { "success
2017-03-03 09:39:56 550
原创 angularjs
angular 表达式 通过$parse服务解析执行。与Javascript表达式的区别1.属性求值:所有属性的求值是对于scope的,而javascript是对于window对象的;2.宽容:表达式求值,对于underfined和null,angular是宽容的,单javascript会产生NullPointerExceptions=3.没有流程控制语句:在angular表达式里
2017-02-24 14:55:02 197
原创 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 231
原创 同是流行MVC框架,比较Strtus2和SpringMVC的区别
一、SpringMVC的工作流程描述 1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Ha
2016-11-17 10:39:03 1978
原创 getSession()和getCurrentSession()的区别及常见问题
1. 采用getCurrentSession()创建的session会绑定到当前线程中(第一次调用时会创建一个Session实例,如果该Session未关闭,后续多次获取的是同一个Session实例),而采用openSession()创建的session则不会(每次打开都是新的Session,所以多次获取的Session实例是不同的)。2.采用getCurrentSession()创建的s
2016-11-10 22:45:25 3516
原创 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 416
转载 MyEclipse开发中,全局编码设置为UTF-8
在使用Eclipse+MyEclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP)。这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不用每次修改编码了, UTF-8 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(works
2016-11-06 09:53:39 5785 1
原创 servlet API 解耦访问和耦合访问的区别
一.与Servlet API解耦的访问方式1.为了避免与Servlet API耦合在一起,方便Action类做单元测试, Struts2对HttpServletRequest、HttpSession和ServletContext进行了封装, 构造了三个Map对象来替代这三种对象,在Action中, 直接使用HttpServletRequest、HttpSession、
2016-11-05 10:24:15 2411
原创 AbstractInterceptor和MethodFilterInterceptor的区别
1.AbstractInterceptor是Interceptor的子类。2.MethodFilterInterceptor是AbstractInterceptor的子类,你需要实现的拦截器支持方法过滤性,就继承MethodFilterIntercepter这个类.默认的情况下,拦截器会拦截Action中的所有的方法,这里不包括setter或getter方法.这时就可以使用方法
2016-11-05 10:15:59 2306
原创 hibernate JPA注解主键生成策略
Id生成策略:@GeneratedValue,JPA通用策略生成器 。 JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO. TABLE:使用一个特定的数据库表格来保存主键。 SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。 1.sequence 根据底层数
2016-11-02 21:38:30 2954
转载 Hibernate注解方法使用总结
1.类级别注解@Entity 映射实体类@Table 映射数句库表 @Entity(name="tableName") - 必须,注解将一个类声明为一个实体bean。属性:name - 可选,对应数据库中的一个表。若表名与实体类名相同,则可以省略。 @Table(name="",catalog="",schema="")
2016-10-26 20:14:31 208
原创 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 2200
RedisClient.rar-redis客户端工具
2019-06-06
entOS-6.5-x86_64-bin-DVD1.iso、entOS-6.5-x86_64-bin-DVD2.iso等
2018-02-12
Spring Boot 企业微信点餐系统视频教程及源码
2018-01-04
Notepad++自动缩进插件---NppAStyle.dll
2017-12-05
jquery 3.2.1 API
2017-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人