- 博客(132)
- 资源 (3)
- 收藏
- 关注
原创 rabbitmq几种发送消息模式-快速入门
概念rabbitmq概念比较多,这里说几个重要的routing key: 消息体的一部分 发送消息时指定,用于队列和交换机绑定关系进行匹配。exchange 交换机:rabbitmq发送消息直接发送到交换机,由交换机发送消息给队列。queue:用于存储消息,交换机发送的消息会进入这里面,在创建的时候可以指定消息持久化,设置durable属性为TRUE。bingKey 用于绑定交换机和队列的关系,在项目初始化的时候声明,bindkey决定了通配符的消息进入哪些队列通配符:支持 *和#
2022-04-12 16:15:38
5371
原创 使用sentinel实现服务监测
sentinel简单实现服务的监控github地址:https://github.com/weiwensi/cloud-parent.gittag :sentinel-init
2022-04-01 14:27:27
609
原创 Oracle 按照父子级排序
select *from oes_stage_def where id=#{id} start with depend_on_id is null connect_on_id
2022-03-08 14:33:28
675
原创 【基于二进制的&运算的权限设计】
先说结论,基于2的倍数的数字相加 ,当一个数与改累加的和做与运算,如果得到的结果是他本身说明该值在这个累加的所有的值中的一项。先来看一组数据1,2,4,8,16对应的二进制分别是0001,0010,0100,1000,10000(1+2+4+8+16)&1=1(1+2+4+8+16)&2=2(1+2+4+8+16)&4=4(1+2+4+8+16)&16=16(1+8)&4=0(1+4+8)&16=0之前的..
2022-02-17 15:24:54
777
1
原创 静态代码块和spring注入的先后顺序
1.哪个优先?静态代码快的加载顺序优先于spring的容器的注入比如:我有一个类@Componentpublic class TestService{private Jedis jedis;static{RedisService redisService=ApplicationContentUtil.getBean(RedisService.class);jedis=redisService.getResource();}public void incr(){//
2021-09-17 10:49:28
2984
原创 navicat oracle设置主键自增
#创建一个自增的序列create sequence demo_seq increment by 1 start with 1 nomaxvalue nominvalue nocache;#给表创建触发器create or replace trigger demo_seq before insert on TEST_USER for each row begin select demo_seq.nextval into :new.id from dual; end;...
2021-06-08 18:33:55
1534
原创 python入门 python安装mysqldb Python version 2.7 required, which was not found in the registry
安装的时候报错Python version 2.7 required, which was not found in the registry执行一下脚本import sysfrom _winreg import *# tweak as necessaryversion = sys.version[:3]installpath = sys.prefixregpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)insta..
2021-04-07 11:08:12
165
原创 python入门1基础语法
1.变量类型# coding=UTF-8counter = 100 # 赋值整型变量miles = 1000.0 # 浮点型name = "John" # 字符串print counterprint milesprint name2.运算符运算# coding=UTF-8#初始化ab,c的值a=21b=10c=0c=a+bprint cc=a-bprint cc=a*bprint cc=a/b #默认保持整形向下取整print c#对abc
2021-04-07 10:58:16
178
1
原创 python入门2类
员工类# -*- coding: UTF-8 -*-class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total E.
2021-04-07 10:58:00
166
原创 队列同步器-AQS-接口与示例
队列同步器AbstractQueuedSynchronizer是用来构建锁或者其他同步组件基础的框架,它使用了一个int成员表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。 使用方式:继承 提供的三个方法:getState(),setState(int newState),compareAndSetState(int expect,int update)。这三个方法能够保证状态的改变是安全的。子类推荐被定义为自定义同步组件的静态内部类,同步器自身...
2021-03-24 14:30:02
242
原创 redis 常用数据结构 lists总结
简介Redis lists基于Linked Lists实现。这意味着即使在一个list中有数百万个元素,在头部或尾部添加一个元素的操作,其时间复杂度也是常数级别的。用LPUSH 命令在十个元素的list头部添加新元素,和在千万元素list头部添加新元素的速度相同。那么,坏消息是什么?在数组实现的list中利用索引访问元素的速度极快,而同样的操作在linked list实现的list上没有那么快。1.基本特性具体的命令这里不做描述请查询官方文档redis可以向list的左边(lpush)或
2021-01-25 17:46:23
177
原创 注册中心nacos的简单应用
1. Nacos概述官方地址:https://nacos.iogithub地址:https://github.com/alibaba/nacos面试题:微服务间远程交互的过程? 先去注册中心查询服务的服务器地址 调用方给对方发送http请求 1.1. 什么是 NacosNacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易..
2020-12-12 17:08:19
517
2
原创 一个 @Transactional(rollbackFor = Exception.class) 引发的问题
最近在做一个订单审核类需求,类似这样创建订单, 如果库里有那么直接对用户进行支付。 1.拆创建订单 2.进行订单分润预留 3.进行订单审核我的整体开发流程大概如上面三个,其中第三步是使用restTempLate远程调用后台管理系统接口。在调远程接口的时候我对传过来的订单进行校验,如果不存在那么返回给app端一个审核的结果。。整个过程如下: @Override @Transactional(rollbackFor = Exception.c...
2020-06-12 19:29:27
849
原创 记一次策略模式在项目中的应用
前面一篇文章中提到了策略模式的demo但没有实际进行项目的整合。正好这两天做项目遇到了一个可以使用这个模式的需求。分享一下。需求如下:这是个在app进行的统计,每个项目都有这样的统计,统计每个用户在不同项目下订单的数量。我的想法是每个项目给前端返回一个List<String>比如“全部:111”“通过:2”“撤销:3”因为每个项目的统计可能不一样,如果只是返回每个字段对应的数据的话app发版频率可能就比较频繁。整体需求大概是这样。每个项目对应一个策略。
2020-06-03 20:35:18
358
原创 org.apache.rocketmq.remoting.exception.RemotingConnectException rocketmq控制台网络连接异常
使用docker安装rocketmq 控制台, 控制台报了如上面异常信息上面事没有问题的,已经解决,店家添加或者其他操作都会弹出网络链接异常。这是由于控制台连接nameservere连接异常,由于之前我的这个控制台是好好的,很久没有用了,不知怎么的nameserveradress变了,创建rocketmq容器时需要指定其内部的nameserver ip,查看IP的方法:进入容器 docker exec -it rmqnamesrv bash查看ipip cat /etc/hosts...
2020-05-27 18:30:51
8781
原创 设计模式-策略模式的应用
对于策略模式的各种定义以及UML图我就不给出了,网上前篇一律。下面有一个自己写的小demo分享一下1.定义策略接口package com.leke.springsecurity.design.stratety;/** * @classname StrInt * @description * @date 2020/5/21 10:30 * @created by weiwensi */public interface Strategy { public void doSt
2020-05-21 10:50:58
228
原创 git删除本地和删除远程分支
查看所有分支git branch -a 查看当前所在分支git branch 删除本地的wws分支git branch -d weiwensi 或者git branch -D wws 删除远程的wws分支git push origin --delete wws
2020-05-20 14:57:21
204
原创 文件删除方法file.delete();删除不了文件
文件删除如果先删除文件后关闭文件流,就会出现文件删除不了的情况,我原先的代码 assert file != null; file.delete(); try { if(outStream!=null){ outStream.close(); } } catch (IOException e) { lo
2020-05-12 20:03:45
2057
原创 使用redis的bitmap实现用户点赞功能
最近有一个需求,是一个话题可以被评论,然后每个评论下都可以被回复,每个回复都有自己的回复数量,评论有评论的点赞数和回复数量,具体的方案如下:对于点赞这样的功能,操作非常的频繁,如果单纯的考虑数据库肯定是最low的方式。还有需要考虑的,哪个用户点赞了,对哪个评论点赞了,这两点非常重要。需要维护的数据用户的id,评论的id,以及点赞的结果。这里我采用了redis的bitmap数据结构。...
2020-04-24 19:59:41
2850
12
原创 The bean 'xxxImpl' could not be injected as a 'xxx'because it is a JDK dynamic proxy that implements
服务在启动的时候报错The bean 'lkFpAllotServiceImpl' could not be injected as a 'com.dong9.leke.allot.service.impl.LkFpAllotServiceImpl' because it is a JDK dynamic proxy that implements: com.dong9.leke.al...
2020-04-13 13:52:05
2195
1
原创 Netty框架学习02-TCP粘包/拆包解决之道
粘包,拆包说明TCP是个流的协议,就是没有界限的一串数据。他底层不了解业务数据的具体含义,他的数据数据传输的划分是根据TCP的缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓 的TCP粘包拆包。下面做出详细的说明。 ...
2019-11-25 14:15:46
332
原创 Netty框架学习01-Netty服务端开发和Netty客户端开发
环境准备依赖: <!-- https://mvnrepository.com/artifact/io.netty/netty-all --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all...
2019-11-22 16:24:07
567
原创 nio学习03-NIO的非阻塞式网络通信-NIO核心Selector
IO,NIO对比 传统的IO流都是阻塞式的。也就是,当一个线程调用read()和write()方法时,该线程被阻塞,直到有一些数据被读取或者写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行IO操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降。 nio是非阻塞模式的。当线程从某通道进...
2019-11-20 15:16:07
244
原创 nio学习02-通道Channel
1.Channel来看一下Channel的接口package java.nio.channels;import java.io.IOException;import java.io.Closeable;public interface Channel extends Closeable { public boolean isOpen(); pu...
2019-11-20 11:22:39
9011
原创 nio学习01-缓冲区
1.概念缓冲区是包在一个对象内的基本数据元素数组。Buffer类似相比一个简单的数组优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer类似及它专有的子类定义了一个用于处理缓冲区的api。他的本质是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成nio对象,并提供了一组方法,用来方便访问这块内存jdk中的Buffer抽象类如下图:2.缓冲区...
2019-11-18 19:19:34
248
原创 RPC原理的学习
文章摘自dubbo官方文档的博客。http://dubbo.apache.org/zh-cn/blog/rpc-introduction.html什么是RPC? RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B...
2019-11-18 15:50:18
184
redis 的bitmap点赞功能的应用源码.zip
2020-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人