- 博客(46)
- 收藏
- 关注

原创 redis和zk分布式锁实现
分布式锁场景演示为什么需要分布式锁场景:一个订单表,库存表,支付表,多个用户对库存操作。当前库存为1public class Order {public void createOrder(){System.out.println(Thread.currentThread().getName()+" 创建订单");}}public class Pay {public static ...
2018-12-10 10:36:25
833

原创 Hadoop HDFS JAVA API 实战
Hadoop实战你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中...
2018-10-31 11:33:00
400
原创 理解BIO和NIO
通过一个例子理解BIO服务端:public class Server { public static void main(String[] args) { byte[] buffer = new byte[1024]; try { ServerSocket serverSocket = new ServerSocket(8080...
2019-11-07 14:22:57
327
1
原创 Linux环境下以命令和脚本方式启动jar包
start.sh启动#!/bin/bash java -Dfile.encoding=utf-8 -jar -server -Xms512m -Xmx512m -Xss256K -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -jar /mnt/ware...
2019-11-06 09:25:19
398
原创 Java并发编程-Semaphore使用
Java并发编程-Semaphore使用使用场景:Semaphore(信号量)同时运行多少个并发执行,比如我现在设置30个线程访问,可以通过Semaphore控制同时多个线程同时访问的,代码如下:public class SemaphoreTest { private static final int THREAD_COUNT = 30; private static fin...
2019-07-30 17:50:27
263
原创 Java并发编程-重入锁
Java并发编程-重入锁例子: public static void main(String[] args) { for (int i = 0; i < 5; i++) { new Thread(new Runnable() { public void run() { synchronized (this){ ...
2019-07-30 16:29:31
147
原创 Java并发编程- CAS原理
Java并发编程- CAS原理例子:/** * CAS原理 * @author wufei * @create 2019-07-23 19:03 **/public class CAS1 { private static volatile int m =0; //原子性的保证 private static AtomicInteger atomic...
2019-07-23 19:23:30
752
原创 Java并发编程- Synchronized原理
Java并发编程- Synchronized原理在jdk.1.6之前是重量级锁,jdk1.6之后对synchronzied的关键字的优化之后,引入了偏向锁,轻量级锁。1.先来看synchronzied使用的基础:static A a = new A();//普通同步方法public synchronized void test(){ System.out.printl...
2019-07-22 14:40:51
480
原创 Java并发编程- CyclicBarrier用法
Java并发编程- CyclicBarrier用法使用场景:用于多线程处理计算数据,最后合并计算结果的场景例子:public class CyclicBarrierTest { static CyclicBarrier cyclicBarrier = new CyclicBarrier(3); public static void main(String[] args) {...
2019-07-19 17:58:15
217
原创 Java并发编程- CountDownLatch用法
Java并发编程- CountDownLatch用法使用场景:需要在主线程等待其他子线执行完毕之后,然后再执行主线程的任务,这时需要使用CountDownLatch比较合适了。代码例子:public class TestCountDownLatch1 { final static CountDownLatch latch = new CountDownLatch(2); ...
2019-07-19 10:58:08
207
原创 kafka集群搭建
kafka集群搭建第一步部署三个节点zk3.1. 下载Zookeeper下载地址:http://mirror.bit.edu.cn/apache/zookeeper/解压文件:#tar -zxvf zookeeper-3.4.11.tar.gz3.2. 配置相关文件1) 配置conf/zoo.cfg将zk安装目录下conf/zoo_sample.cfg修改为zoo.cfg#cp...
2019-05-30 18:15:33
301
1
原创 Zabbix4安装
Zabbix4安装1.下载安装包zabbix-4.0.1.tar.gz192.168.3.185 server端在zabbix server充当两个角色:server、angent192.168.3.185 客户端先按照php环境:php编译安装添加用户useradd -r -s /sbin/nologin php-fpm下载解压安装包cd /mnt/zabbixwget...
2019-04-30 09:56:36
902
原创 nginx配置(https,负载均衡,80重定向443)
nginx配置(https,负载均衡,80重定向443)#user nobody;worker_processes 4;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;event...
2019-04-29 11:26:53
5183
原创 spring boot-自动配置原理和实战
spring boot-自动配置原理和实战spring boot 自动配置原理以spring配置的数据源源码为例,DataSourceAutoConfiguration分析原理。当我们需要配置一个数据源连接时,时常如下配置完成数据源连接。 spring: application: name: auth-server datasource: ...
2019-04-15 15:38:58
230
原创 Spring事物
Spring事物基本原理(AOP):对执行方法前后进行拦截,然后在目标方法开始之前创建或加入一个事物,在执行完目标方法之后,根据执行情况提交或者回滚事物。...
2019-04-12 16:49:28
122
原创 redis 运维
redis 运维1.连接redis集群redis-cli -c -a xinleju -h 192.168.3.155 -p 63822.查看redis集群状态 192.168.3.154:7381> cluster nodes3 问题 redis.clients.jedis.exceptions.JedisConnectionException: Could not...
2019-03-13 09:14:31
312
原创 使用docker-maven-plugin构建Spring boot镜像
docker-maven-plugin使用使用私有镜像中心为了将镜像推送到私有的镜像注册中心,docker需要在镜像tag之前用注册中心的地址作为前缀。比如需要推送my-image到registry.example.com,那么这个镜像需要命名为registry.example.com/my-image最简单的方法就是在中配置: &amp;amp;amp;amp;amp;amp;amp;amp;lt;build&amp;amp;amp;amp;amp;amp
2019-02-21 13:52:28
2107
原创 Harbor私有镜像仓库搭建
Harbor私有镜像仓库搭建目录:1.docker安装2.docker-compose安装3.Harbor私有仓库的安装4.Harbor实战1.Docker CE 安装docker提供了两个版本:社区版本(CE)和企业版本(EE)操作系统要求以Centos7为例,且docker环境必须为64位,且内核版本为3.1以上。查看系统内核版本信息:uname -r安装 Docker-...
2019-02-21 10:47:07
196
原创 手把手教你流行抓包工具Charles
手把手教你流行抓包工具Charles背景介绍Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。它的原理是通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。windows安装1、环境背景 P...
2019-02-18 17:41:27
1244
原创 Spring5源码解析-Bean的初始化
Spring5源码解析-Bean的初始化1.工程搭建在spring-beans工程上添加测试代码目录结构:源码:/**@author wufei@create 2019-02-15 9:08**/public class MyTestBean {private String testStr = “testStr”;public String getTestStr() {...
2019-02-18 11:52:46
444
原创 Protobuf入门
Protobuf入门Protobuf是一个灵活,高效,结构化的数据序列化框架,相比于XML等传统的序列化工具,它更小,更快,更简单。Protobuf支持数据结构化一次可以到处使用,甚至跨语言使用(go语言和java语言)。Protobuf开发环境搭建1.首先下载protobuf的最新的windows版本,网址如下:https://github.com/protocolbuffers/pro...
2019-02-01 15:46:01
162
原创 spring-事物源码分析
spring-事物源码分析1.spring事物管理的实现原理2.spring是如何控制事物的提交与回滚的?try/catch2.spring事物管理的传播属性3.事物的总结 spring事物管理的实现原理猜想+验证源码分析:org.springframework.transaction.interceptor.TransactionAspectSupport....
2019-01-16 18:55:17
240
原创 kafka单节点搭建
kafka服务器:192.168.3.521.下载kafa安装包下载地址:http://kafka.apache.org/downloads版本:kafka_2.11-2.1.02.安装zk解压 tar -zxvf zookeeper-3.4.12.tar.gz进入Zookeeper的config目录下cd /mnt/kafka/zookeeper-3.4.12/conf拷贝...
2019-01-10 09:08:27
723
原创 k8s使用总结
k8s使用总结:问题现象:通过ingrens调用nginx service连接超时。排查问题思路:1.查看能够nginx pod服务是否正常。是正常2.查看nginx service服务是否正常 正常。3.在nginx service上添加nodeport,通过主机ip加service设置的port端口访问nginx 访问不通。4.通过重启pod nginx 正常访问。 问题继续现...
2019-01-10 08:59:40
325
原创 linux常用命令
linux常用命令添加开启自启 如redis:1.vim /etc/rc.local添加/mnt/redis-6380/redis-4.0.8/src/redis-server /mnt/redis-6380/redis-4.0.8/redis.conf 内容2.rc.local 添加执行权限ll /etc/rc.d/rc.localchmod +x /etc...
2018-12-27 09:10:39
145
原创 springmvc源码解析
总结:首先请求进入DispatcherServlet 由DispatcherServlet 从HandlerMappings中提取对应的Handler 此时只是获取到了对应的Handle,然后得去寻找对应的适配器,即:HandlerAdapter 拿到对应HandlerAdapter时,这时候开始调用对应的Handler处理业务逻辑了(这时候实际上已经执行完了我们 的Contro...
2018-12-24 09:34:20
212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人