自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 01查看Linux的命令的手册(man 命令)和命令的帮助信息

文章目录man2 help参数man大多数Linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册。熟悉手册对使用各种Linux工具大有裨益,尤其是在你要弄清各种命令行参数的时候。man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目。eg:man pwdPWD(1) User Commands

2021-02-28 19:56:58 3670

原创 12 curaror的事务支持

/** * 事务 * @throws Exception */ public void test() throws Exception { // 开启事务 client.inTransaction() // 操作1 .create().forPath("/node1","node1Data".getBytes()) .and()

2021-02-24 21:13:51 60

原创 11 curaror的监听API介绍

文章目录1 监听某个节点的数据变化2 监听某个节点的子节点的数据变化1 监听某个节点的数据变化/** * 监听某个节点的数据变化 */ @Test public void test1() throws Exception { // 1 创建监视器 // 参数一:客户端对象CuratorFramework // 参数二: 监听的节点路径 NodeCache nodeCache = new NodeCache

2021-02-24 21:07:33 87

原创 10 curaror节点基本操作

文章目录1 准备工作1 创建节点1.1 入门2.2 如何自定义权限列表2.3 递归构建节点树2.4 异步创建2 更新节点2.1 同步更新2.2 异步更新3 删除节点4 查看节点4.1 读取节点属性4.2 读取节点属性4.3 异步读取4 查看子节点4 节点是的否存在1 准备工作准备一个测试基类package study.wyy.zookeeper.curator.test;import org.apache.curator.framework.CuratorFramework;import org

2021-02-24 20:17:04 253

原创 10 curaror入门

文章目录1 curaror简介2 创建连接2.1 创建连接2.2 重连策略1 curaror简介urator是Netflix公司开源的一个zookeeper客户端,后捐献给apache, curator框架在zookeeper原生API接口上进行了包装,解决了很多zooKeeper客户端非常 底层的细节开发。提供zooKeeper各种应用场景(比如:分布式锁服务、集群领导选举、 共享计数器、缓存机制、分布式队列等)的抽象封装,实现了Fluent风格的API接口,是最好用,最流行的zookeeper的客户

2021-02-23 19:56:52 78

原创 10 DockerFile指令介绍

文章目录1 DockerFile介绍2 DockerFile构建过程2.1 基础知识表示注释2.2 DockerFile指令3 实战测试:构建自己的centos镜像1 DockerFile介绍前面说过:DockerFile就是用来构建docker镜像的文件步骤编写一个DockerFile文件docker build 构建镜像docker push 发布镜像到仓库(分为私有和公有)2 DockerFile构建过程2.1 基础知识每个保留的关键字(指令)都是大写的,比如FROM执行从上

2021-02-23 09:54:00 108

原创 09 一致性协议:zab协议

文章目录1 介绍2 工作流程2.1 读操作2.2 写操作3 leader选举3.1 服务器状态3.2 服务器启动时期的leader选举3.3 服务器运行时期的Leader选举4 observer角色及其配置1 介绍zab协议 的全称是 Zookeeper Atomic Broadcast (zookeeper原子广播)。 zookeeper 是通过 zab协议来保证分布式事务的最终一致性基于zab协议,zookeeper集群中的角色主要有以下三类,如下表所示:角色描述leade

2021-02-22 20:12:37 146

原创 08 利用zookeeper生成分布式唯一id

文章目录1 思路2 代码1 思路在过去的单库单表型系统中,通常可以使用数据库字段自带的auto_increment 属性来自动为每条记录生成一个唯一的ID。但是分库分表后,就无法在依靠数据库的 auto_increment属性来唯一标识一条记录了。此时我们就可以用zookeeper在分布式环 境下生成全局唯一ID。设计思路:连接zookeeper服务器指定路径生成临时有序节点取序列号及为分布式环境下的唯一ID2 代码package study.wyy.zookeeper.demo;i

2021-02-21 19:39:10 234

原创 05 zookeeper事件监听机制

文章目录1 watcher概念和架构1.1 概念1.2 架构1.3 watcher特性1.4 watcher接口设计1.4.1 Watcher通知状态(KeeperState)1.4.2 Watcher事件类型(EventType)1.5 捕获事件1.5.1 如何注册监听2 Watcher监听客户端于服务端的连接状态3 Watcher监听客户端于服务端的连接状态1 watcher概念和架构1.1 概念zookeeper提供了数据的发布/订阅功能,多个订阅者可同时监听某一特定主题对 象,当该主题对象

2021-02-21 18:23:26 159

原创 springboot的扩展点

文章目录1 ApplicationContextInitializer1.1 介绍1.2 使用方式方式一方式二方式三2 BeanDefinitionRegistryPostProcessor3 BeanFactoryPostProcessor4 InstantiationAwareBeanPostProcessor5 SmartInstantiationAwareBeanPostProcessor6 BeanFactoryAware7 ApplicationContextAwareProcessor8 Be

2021-02-20 19:51:43 171

原创 04 java操作zookeeper(一)

文章目录1 准备工作1.1 maven依赖1.2 概述1 创建客户端2 新增节点2.1 同步方式2.2 构建权限信息2. 3 节点类型2.4 异步创建3 更新节点3.1 同步更新3.2 异步更新4 删除节点4.1 同步删除4.2 异步删除5 查看当前节点(get )5.1 同步5.2 异步5 查看子节点5 检查节点是否存在5.1 同步5.2 异步1 准备工作1.1 maven依赖<dependencyManagement> <dependencies>

2021-02-16 17:14:46 145

原创 03 acl 权限控制

文章目录1 概述1.1 授权模式1.2 授权对象1.3 权限1.4 相关命令2 授权模式演示2.1 world授权模式2.2 ip 授权模式2.3 Auth授权模式:2.4 Digest授权模式:2.5 多种授权3 超级管理员1 概述zookeeper类似文件系统,client可以创建节点,更新节点,删除节点,那么如何做到权限控制呢?zookeeper的Access control list 访问控制列表可以做到这一点acl权限控制:使用scheme: id : permission来表示,主要涵

2021-02-16 11:23:26 269

原创 02 常用命令:节点操作

02 节点操作文章目录02 节点操作1 新增节点2 更新节点3 删除节点4 查看节点5 查看节点列表6 注册监听器1 新增节点create [-s] [-e] path data-s 为创建有序节点-e 创建临时节点path:节点路径data:节点数据创建持久化节点(默认创建持久化节点)create /hadoop "123456"使用get命令获取节点get /hadoop创建一个持久化有序节点create -s /java "hello world"

2021-02-15 20:48:30 1011

原创 01 zookeeper简介

zookeeper简介文章目录zookeeper简介1 概述2 ZooKeeper 特性3 应用场景3.1 维护配置信息3.2 分布式锁3.3 集群管理3.4 生成唯一id4 zookeeper的数据模型5 节点类型1 概述zookeeper由雅虎研究员开发,是google chubby开源实现,后来托管到ApacheZookeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中 应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式

2021-02-15 20:41:58 156

原创 30-springMvc注解开发-文件上传下载

文章目录1 文件上传1.1 MultipartFile: SpringMVC中对上传文件的封装1.2 MultipartResolver1.3 实现2 文件下载1 文件上传1.1 MultipartFile: SpringMVC中对上传文件的封装public interface MultipartFile extends InputStreamSource { /*** 获取临时文件名称 */ String getName(); /*** 获取真实(原始)文件名称 */ @Nullable

2021-02-15 20:26:00 325 1

原创 29-springMvc注解开发-异常处理器

文章目录1 异常处理器的思路2 异常处理器接口3 自定义异常处理器springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。1 异常处理器的思路预期异常:通过捕获异常,从而获取异常信息。运行期异常:通过规范代码,减少运行期异常。2 异常处理器接口package org.springframework.web.servlet;import javax.servlet.http.HttpServletRequest;impor

2021-02-15 20:05:41 121

原创 28-springMvc注解开发-类型转换器

文章目录1 Converter接口2 案例实现数据类型转换1 Converter接口@FunctionalInterfacepublic interface Converter<S, T> { /** 提供类型转换的逻辑 */ @Nullable T convert(S source);}2 案例之前通过InitBinder和DateTimeFormat注解实现过字符串转date,现在也可以通过Converter实现该功能package study.wyy.sp

2021-02-15 19:53:31 265

原创 27-springMvc注解开发-拦截器

文章目录1 如何实现2 执行顺序Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理。用户请求----->拦截器----->Controller,在拦截器处就可以做一些前处理和后处理1 如何实现实现HandlerInterceptor接口package study.wyy.spring.anno.intercerptor;import org.springframework.web.servlet.Handle

2021-02-15 19:42:45 115

原创 26-springMvc注解开发-跨域问题

文章目录1 什么是跨域2 解决跨域2.1 通过过滤器解决2.2 通过CrossOrigin注解1 什么是跨域当一个域名请求另一个域名的资源时,即是跨域协议,主机,端口任何一个不同即为跨域2 解决跨域核心就是设置响应头,允许跨域2.1 通过过滤器解决通过过滤器统一添加响应头public class CrossOriginFilter implements Filter { @Override public void init(FilterConfig filterCon

2021-02-15 19:17:47 198

原创 25-springMvc注解开发-常用注解(二)

文章目录1 @SessionAttribute和@SessionAttributes1.1 介绍1.2 测试测试一:默认存入请求域测试二:使用SessionAttribute注解和SessionAttributes注解2 @ExceptionHandler2.1 介绍2.2 演示2.3 全局异常处理3 @RequestBody3.1 介绍4 @ResponseBody5 rest风格注解1 @SessionAttribute和@SessionAttributes1.1 介绍此注解是用于让开发者

2021-02-15 11:16:35 72

原创 24-springMvc注解开发-常用注解(一)

文章目录1 @Controller2 @RequestMapping2.1 介绍2.2 demo2.3 衍生注解3 @RequestParam3.1 介绍3.2 demo4 @InitBinder(不常用)4.1 介绍4.2 demo4.3 补充一个注解:@DateTimeFormat5 @ControllerAdvice注解5.1 介绍6 @RequestHeader和@CookieValue6.1 介绍6.2 示例7 @ModelAttribute7.1 介绍7.2 测试测试一:修饰在方法上测试二:如何

2021-02-15 09:44:16 1767 1

原创 23-springMVc注解开发-环境搭建(基于servlet3.0规范)

1 环境搭建1.1 导入maven坐标<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.6.RELEASE</version> </dependency

2021-02-14 09:38:38 176 1

原创 22-spring注解开发-事务入门

文章目录1 API介绍1.1 PlatformTransactionManager和它的实现类1.2 TransactionDefinition1.3 TransactionStatus2 入门案例2.1 代码实现2.2 开发总结3 事务中的注解3.1 @EnableTransactionManagement3.2 @Transactional3.3 @TransactionEventListener3.1 演示1 API介绍1.1 PlatformTransactionManager和它的实现类此

2021-02-13 20:42:42 169

原创 21 spring-注解驱动AOP--获取形参,返回值,异常

文章目录1 获取目标方法形式参数2 获取目标方法的返回值3 获取目标方法的异常1 获取目标方法形式参数所有的通知类型都可以获取目标方法的形式参数比如在打印日志的时候,如何获取执行方法的参数呢:目标类public interface UserService { User save(User user,String id);}package study.wyy.spring.anno.aop.service.impl;import lombok.extern.slf4j.Sl

2021-02-12 22:42:10 628

原创 20 spring-注解驱动AOP--切入点表达式

文章目录1 概念1.1 分类1.2 关键字1.3 切入点表达式的通配符1.4 切入点表达式的逻辑条件1 概念指的是遵循特定的语法用于捕获每一个种类的可使用连接点的语法。用于对符合语法格式的连接点进行增强。1.1 分类方法执行:execution(MethodSignature)方法调用:call(MethodSignature)构造器执行:execution(ConstructorSignature)构造器调用:call(ConstructorSignature)类初始化:staticin

2021-02-12 22:14:31 174

原创 19 spring-注解驱动AOP--常用注解

文章目录1 @EnableAspectJAutoProxy1.1 暴露代理对象:exposeProxy属性1.2 代理方式:proxyTargetClass属性2 @Aspect注解2.1 value属性(了解)3 @Pointcut3.1 简单使用3.2 修饰符1 @EnableAspectJAutoProxy用于开启注解AOP支持的,表示开启spring对注解aop的支持。它有两个属性,分别是指定采用的代理方式和 是否暴露代理对象,通过AopContext可以进行访问。@Target(Elemen

2021-02-11 17:53:57 154

原创 18 Spring注解驱动AOP开发入门

文章目录1 AOP思想及实现原理1.1 AOP思想1.2 实现原理2 Spring中AOP的术语3 Spring注解驱动AOP开发入门3.1 入门案例1 AOP思想及实现原理1.1 AOP思想在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分

2021-02-05 20:59:03 100

原创 05 ServerSocket用法详解(一)

文章目录1 构造ServerSocket3.1 绑定端口在客户端服务端通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户端的连接请求。1 构造ServerSocketServerSocket的构造方法有以下几种重载形式:ServerSocket的构造方法有以下几种重载形式:ServerSocket()throws IOException /*** port: 服务器要监听的端口号*/ServerSocket(int port) thro

2021-02-05 08:37:47 1555

原创 04 SMTP协议和基本指令

文章目录1 SMTP协议和基本指令1 SMTP协议和基本指令SMTP 协议(Simple Mail Transfer Protocol,简单邮件传输协议)是应用层的协议,建立在TCP/IP协议基础之上。SMTP协议规定了把邮件从发送方传输到接收方的规则。SMTP客户程序请求发送邮件,SMTP服务器负责把邮件传输到目的地。默认情况下,SMTP服务器监听25端口。在SMTP客户与SMTP服务器的一次会话过程中,SMTP客户会发送一系列SMTP命令,SMTP服务器则做出响应,返回相应的应答码,以及对应答码的

2021-02-04 13:52:01 885

原创 10 mybatis缓存

文章目录1 介绍2 一级缓存2.1 一级缓存体验1.2 一级缓存失效的四种情况3 二级缓存3.1 二级缓存介绍3.2 cache标签3.3 二级缓存使用演示1 介绍MyBatis系统中默认定义了两级缓存,一级缓存和二级缓存。默认情况下,只有一级缓存( SqlSession级别的缓存,也称为本地缓存)开启。二级缓存需要手动开启和配置,他是基于namespace级别的缓存。为了提高扩展性。 MyBatis定义了缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存2 一级缓存一级

2021-02-03 23:05:19 80

原创 09 动态sql

文章目录1 if标签1.1 引入1.2 if标签改造sql映射文件1.3 OGNL2 where标签2.1 问题引入2.2 where标签3 trim标签-自定义字符串截取4 choose标签--分支选择5 set和if实现动态更新6 foreach-遍历集合6.1 批量查询6.2 批量插入7 动态sql-内置参数 _parameter & _databaseId7 动态sql-sql-抽取可重用的sql片段1 if标签1.1 引入比如下面的接口,我们期望根据查询条件动态查询用户信息/***

2021-02-03 22:17:37 114

原创 08 sql映射之多表查询

文章目录1 准备环境2 多对一的查询方式一:级联属性封装方式二:使用association标签定义关联的单个对象的封装规则方式三:使用association标签实现分步查询分步查询的延时策略3 一对多的查询方式一方式二:分步查询4 扩展1 准备环境用户表CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL COMMENT '用户名', `pass

2021-02-02 21:35:11 694

原创 03 Socket类详解

文章目录1 构造Socket1.1 设置超时时间1.2 设置服务器地址1.3 设置客户端地址1.4 使用代理服务器1.5 InetAddress地址类构建InetAddressInetAddress常用方法客户端需要主动创建与服务器的连接的socket,服务器端接收到了客户端的连接请求,也会创建与客户端连接的socket。socke可以看作通信连接两端的的收发器,服务器和客户端的通信就是通过socket传输数据。1 构造SocketSocket的构造方法有以下几种重载形式:Socket() /*

2021-02-02 17:49:08 1123

原创 02 java网络编程入门

文章目录1 说明2 服务端程序2 客户端程序1 说明这里所说的java网络程序都是建立在TCP/IP基础,实现的是应用层。传输层向应用层提供了一系列的Socket(套接字)接口,这些接口封装了数据传输的细节,应用层通过Socket来建立与远程主机的连接和数据传输。在Java中,有三种套接字类:java.net.Socketjava.net.ServerSocketjava.net.Server.DatagramSocket。其中Socket和ServerSocket类建立在TCP协议基础上

2021-02-02 15:29:14 71

原创 01 计算机网络概念

文章目录1 计算机网络2 OSI参考模型3 TCP/IP 参考模型和TCP/IP协议4 IP4.1 IP地址的组成4.2 发送数据包的过程4.3 端口1 计算机网络所谓计算机网络,是指把分布在不同地理区域的计算机用通信线路互联起来的一个具有强大功能的网络系统。通俗的说,计算机网络就是通过电缆、电话线、或无线通讯设施等互联的计算机的集合。网络中每台机器称为节点(node)。大多数节点是计算机,此外,打印机、路由器、网桥、网关和哑终端等也是节点。人与人之间交流需要通过语言,而计算机之间交流通信的语言,

2021-02-02 13:24:05 462

原创 07 sql映射之返回值自定义映射(resultMap)

文章目录1 入门resultMap配置数据库和java对象的映射,之前都是自动映射:自动映射有个前提条件:数据库的列名和java实体的属性名要一致或者符合驼峰命名(并且开启驼峰命名)全局配置文件中开启自动映射,默认就是开的<setting name="autoMappingBehavior" value="PARTIAL"/>1 入门数据表是这样的CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AUTO_INCREME

2021-02-01 21:20:47 655

原创 06 sql映射之返回值类型(resultType)

文章目录1 返回集合2 返回MapresultType属性就是指定返回值类型,这一章节主要介绍resultType属性1 返回集合如果返回值是一个集合,resultType并非指定为集合类型,而是指定为集合内元素的类型比如:List<TbUser> selectAll();<!-- 如果返回值是一个集合,resultType并非指定为集合类型,`而是指定为集合内元素的类型` --><select id="selectAll" resultType="TbUs

2021-02-01 19:44:44 2828

空空如也

空空如也

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

TA关注的人

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