hanjinping的博客

天道酬勤,厚德载物

代理模式

通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用处理,或调用后处理。既(AOP微实现) ,AOP核心技术面向切面编程。 代理的分类 静态代理(静态定义代理类) 动态代理(动态生成代理类) Jdk自带动态代理 Cglib 、javaassist(字节码操作库) 静态...

2019-04-03 18:34:10

阅读数 20

评论数 0

计算分页工具类

/** * @returnType:@param list 切割集合 * @returnType:@param pageSize 分页长度 * @returnType:@return List<List<T>> 返回分页数据*/...

2019-04-01 00:15:00

阅读数 9

评论数 0

SpringCloud微服务搭建详解

主要讲解SpringCloud搭建微服务的步骤,其中用到了Eurake、Ribbon、Feign、Hystrix、Zuul、Config技术。 项目地址:https://github.com/17665387407?tab=repositories 一、建立一个总工程 首先建立一个mi...

2019-03-29 15:56:03

阅读数 19

评论数 0

个人手记

标题

2019-03-15 09:18:49

阅读数 26

评论数 0

二分查找法与二分法排序

1、二分查找法 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位...

2019-03-12 00:07:19

阅读数 24

评论数 0

分布式事务的四种解决方案

简述 分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。 例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。 解决方案 在分布式系统中,要实现分布式事务,无外乎那几种解决方案。 一、两阶段提交(2PC) 两阶段提交(Two-phase Commi...

2019-03-10 15:30:47

阅读数 24

评论数 0

基于zookeeper分布式锁的原理和实现

一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。 二、架构介绍 在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图 解释: 左边的整个区域表示一个Zookeeper集群,locker是Zook...

2019-03-10 13:50:29

阅读数 15

评论数 0

redis分布式锁安全性探讨

一、基于单个redis节点的分布式锁 步骤1:向redis发送命令,获取锁 SET resource_name my_random_value NX PX 30000 解释说明: my_random_value:客户端生成的随机值,要保证在足够长的时间内所有客户端生成的随机值是唯一的 ...

2019-03-10 10:59:20

阅读数 13

评论数 0

三种实现分布式锁的方式

一、为什么要使用分布式锁 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug! 注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共...

2019-03-09 10:08:11

阅读数 165

评论数 0

自动构建编译javaweb项目并发布到N台服务器

前言 当你使用nginx实现了负载均衡,当你有了超过3台以上的应用服务器时,一个特别头疼的问题就来了,发布项目好麻烦。 你每次都要在本地编译打包一遍,然后手动复制到每一台服务器上面去,如果只有一两台服务,那么确实还不算麻烦,但是当你有了一定数量的服务,你就会发现,发布一遍项目,一个小时过去了。...

2019-03-08 17:25:24

阅读数 111

评论数 0

jsp的三种自定义标签 写法示例

自定义标签可以大大方便我们的页面控件编写,并且可以实现很多统一的管理。   0、首先需要引入支持自定义标签的jar包,有两种方式, 一个是直接在maven里面引入依赖: <dependency> &...

2019-02-26 11:22:42

阅读数 13

评论数 0

简要分析ZooKeeper基本原理及安装部署

一、ZooKeeper 基本概念 1、ZooKeeper 是什么? Zookeeper官网地址: http://zookeeper.apache.org/ Zookeeper官网文档地址:http://zookeeper.apache.org/doc/trunk/index.html Zoo...

2019-01-13 17:20:13

阅读数 24

评论数 0

Kafka史上最详细原理总结

Kafka Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、stor...

2019-01-05 17:49:00

阅读数 34

评论数 0

Shell 教程(一)

Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。 由于习惯的原因,简洁起见,本文出现的 &quo...

2018-12-14 11:39:38

阅读数 84

评论数 0

Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 什么是 vim? Vim是从 vi 发展出来的一个文本编辑器。代码补...

2018-12-14 09:56:55

阅读数 17

评论数 0

Linux 文件属组、属性

文件基本属性 在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如 实例中,bin文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。 在Linux中...

2018-12-11 11:39:30

阅读数 21

评论数 0

Linux系统目录结构

系统结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, ...

2018-12-11 11:14:04

阅读数 18

评论数 0

drop、truncate和delete的区别

(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。    TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触...

2018-12-04 17:14:58

阅读数 29

评论数 0

Java文件切片 & 切片合并

文件分割器: package com; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.RandomAccessFile; import java...

2018-12-04 11:03:18

阅读数 127

评论数 0

Java并发编程:volatile关键字解析-原子性,可见性,有序性

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情...

2018-11-30 10:43:24

阅读数 27

评论数 0

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