8 罗小辉

尚未进行身份认证

暂无相关简介

等级
TA的排名 9k+

java进阶(8)之阿里云 安装单机版rocketmq并躺坑

PS: 本人是阿里云服务器裸机实践安装准备安装jdk下载选择合适的jdk版本进行下载,我是选择的清华大学开源软件镜像站,oracle官网还得账号登录才能下载,比较麻烦,我选择的是jdk1.8:wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_open...

2020-03-29 10:12:32

Java进阶(7)之mac 安装rocketmq以及与springboot结合使用

安装RocketMQ Server下载bin压缩包在 rocketmq官网中下载最新bin压缩文件(当前最新版本是4.7.0)环境配置在.bash_profile文件中添加环境变量:export ROCKETMQ_HOME=/yourPath/rocketmq-all-4.7.0-bin-release启动路由cd到rocketmq-all-4.7.0-bin-release目录下...

2020-03-24 20:18:09

java进阶(6)之从硬件底层剖析synchronized/volatile原理

已知:java中的synchronized关键字能保证可见性,有序性,原子性;volatile关键字能保证可见性,有序性。问题:为什么java中的并发,在硬件层面不能保证,非要在JVM里处理呢?它们在硬件层面是如何对应保证的呢?java层面为啥要加这两个关键字才能保证java的并发特性呢?指令重排序无法保证有序性java中的一行行代码,对应到硬件层面,就是一个个指令,现代处...

2020-03-02 10:41:26

java进阶(5)之ReentranctLock/AQS等并发原理解析

PS: AQS全称AbstractQueueSynchronizer,抽象队列同步器,是并发中最核心的一个类了,本篇文章不剖析源码,只用文字和图形表达。AQS解析以及与ReentranctLock之间的关系通过看源码可知,ReentranctLock关于锁的操作,都是基于AQS的。AQS中有两个核心的属性,状态变量state和双向链表head和tail。state用于保存当前是否有锁以及...

2020-02-24 16:20:40

mysql数据库(1)之性能压测

我是用mac本地测试的,linux环境大致相同。数据库的性能压测,不单单一味追求qps/tps,还要看CPU和内存使用情况。QPS/TPS压测工具sysbench安装sysbench使用brew命令安装sysbenchbrew install sysbench查看sysbench安装版本,确保安装OKsysbench --version预执行命令sysbench --db-dr...

2020-02-04 15:28:14

java进阶(4)之volatile关键字深入详解

volatile作用可见性当有多个线程共用一个变量,有线程读,有线程写,那么就有可能导致有的线程无法及时读取到另外线程修改后的变量的值。volatile关键字可以让其他线程立即看到变量的最新值。有序性终端设备为了加快运行速度,会让编译器和处理器进行指令重排序,有可能会导致上下两句代码的执行顺序不一致。volatile关键字看可以禁止指令重排序,保证代码语句按顺序执行。CPU多级缓存模型...

2020-02-03 17:12:03

java进阶(3)之Eureka注册中心原理以及性能调优

图解原理看图说明:1. 应用server的服务实例一上线,就会将自己注册到Eureka Server的注册表中;2. 服务注册表一旦检测到有更新,就会将实例同步到读写缓存表;3. 读写缓存表每隔30s,就会将实例信息同步给读缓存表;4. 应用Client的服务,每隔30s,就会去Eureka Server的读缓存拉取所有的服务实例,这时候通信已经建立起来;5. 服务注册表每隔60s,...

2019-11-16 08:50:36

java 图片url以form-data方式上传

之所以想记录下来,主要是之前对这个不太熟,然后在网上找了大半天也没找到合适的,然后自己慢慢试了出来,比较囧。。。但分享给大家,亲测可用!主要分为两步:1. 将图片url转为二进制字符串;2. 将二进制字符串以及其他字段一并上传。直接上代码:public class HttpClient { public static final OkHttpClient client = ...

2019-11-05 17:13:11

java进阶(2)之Eureka集群配置以及Ribbon负载均衡浅析

本文是基于上一篇Euraka和Feign的结合使用来的,请先看下上一篇的内容。Eureka集群配置先对eureka-feign进行build,生成jar包然后在命令行的两个窗口分别执行:java12 -Dserver.port=8761 -Deureka.instance.hostname=peer1 -Deureka.server.responseCacheUpdateIntervalM...

2019-10-08 13:40:15

java进阶(1)之Euraka和Feign的结合使用

PS: 本篇博客只讲具体使用,原理源码后续博客再讲。博客源码地址在这里: https://gitee.com/dafeige/java_advanced项目结构如图,euraka-feign是euraka服务注册中心,eureka-feign-server是feign服务端,eureka-feign-client是feign客户端。euraka-feign配置pom.xml中添加依赖...

2019-09-13 09:16:50

Django系列(3)-统一封装Response消息体

亲测,直接拷贝我代码用就好,有问题请留言~定义常见code# 响应成功,状态码200CODE_SUCCESS = '000000'MSG_SUCCESS = '成功'# token失效或权限认证错误,状态码401CODE_AUTH_ERROR = '000001'MSG_AUTH_ERROR = 'token认证失败, 请重新登录'# 业务上的错误CODE_BUSSINESS_E...

2019-07-25 10:47:02

Django系列(2)-设置token失效时间

PS: 本篇中的token,指的是rest_framework的token。新建token.py,比较token时间戳import datetimefrom rest_framework.authentication import TokenAuthentication, get_authorization_headerfrom rest_framework.exceptions impo...

2019-07-24 20:43:30

Django系列(1)-自动化生成API文档

PS: 个人深感python开发者社区氛围比安卓/ios/java差多了。不过,这也许是个机会~前提: 本人开发环境是mac10.14.4,Python3.7.2django-rest-swagger vs drf-yasg百度google各种查询帖子,python中生成自动化API文档绝大部分用的都是django-rest-swagger库,然而此库作者表示在2019-06-04已停止更新...

2019-07-22 16:17:22

EasyRouter源码解析---仿Arouter路由的简洁版

为什么市面上由如Arouter这样优秀的路由框架了,还要自己去手写路由框架呢?Arouter框架大而全,会比较臃肿,很多功能其实我们并不需要,我们完全定制属于自己的路由;路由框架中有很多知识点需要我们综合运用,比如AutoService,Javapoet,注解,反射;对路由框架源码有更清晰的认识和理解。之前在项目中用ARouter比较多,看了ARouter的源码,也是似懂非懂,过了一段...

2019-06-27 17:28:44

JQuery中$()函数的7种用法总结

前言最近项目中需要用到jQuery,而jQuery中最重要的概念应该就是这个$符号了,特意总结了下$()函数的几种用法。jQuery对象是一个类数组的对象,含有连续的整形属性以及一系列的jQuery方法。它把所有的操作都包装在一个jQuery()函数中,形成了统一(也是惟一)的操作入口。其中我们用的非常频繁的一个函数是$()或者说是jQuery(),当我们调用他的时候会根据传入的参数的不同而达...

2019-04-15 17:44:36

安卓进阶(13)之离奇bug

PS:此贴会持续更新,记录我平时遇到的比较坑爹的bugLoaderManager.LoaderCallbacks前提: 数据源从始至终都没有变化!问题: 当我的compileSdkVersion为27及以下时,onLoadFinished()只会调用一次,但是当我的compileSdkVersion为28时,从其他页面返回到已实现LoaderManager.LoaderCallbacks接口...

2019-03-08 12:05:22

安卓进阶(12)之自定义数字键盘

想要源码的请戳这里:源码地址实现效果实现原理概括:数字键盘View用Popuwindow来呈现,通过监听Activity/Dialog中Window的decorView焦点改变事件,以及EditText中的tag属性,来动态显示自定义的数字键盘。在Dialog中弹出自定义数字键盘,需要动态更新数字键盘的位置,和宽度。初始化数字键盘设置数字键盘的宽高,并监听焦点变化:private v...

2019-01-30 15:05:56

ArrayList 原理解析

PS: 前阵子面试,被问到ArrayList的原理,我是一脸懵逼。ArrayList是我们在java语言当中,最常用的一个容器类了。我只知道ArrayList是基于数组的,但是让我说明白ArrayList的原理,当时还真没说出来,所以赶紧补了下,写个帖子(主要讲构造函数,添加对象,删除对象,查询对象)。构造函数ArrayList有三个构造函数:设置初始大小的构造函数;默认缺省初始大小的构...

2018-11-27 17:43:30

安卓进阶(11)之UI适配解决方案

博客内容有些UI设计师给到我们的设计图的宽的单位是px(比如1080*1920),有的给到我们的的单位是dp(比如360dp),我们没法保证设计师到底给出哪一种,而且,给到我们的设计图的尺寸,我们除了适配常规的尺寸,还得适配非常规的手机分辨率。那具体我们应该怎么去做适配呢?看了几篇帖子,都是人家用过非常成熟的,适用场景比较多的方案了。我自己总结了下,分为两种解决方案,一种是单位以px为参照物,...

2018-10-24 14:32:40

安卓进阶(10)之OkHttp3.10连接层原理解析

参考文章OkHttp3源码解读四:连接层TCP连接与OKHTTP复用连接池

2018-10-22 19:39:30

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。