Loading

随笔分类 -  【Java基础】

摘要:前言 前几天,有个前同事向我吐槽,他们公司有个大神把公司的项目代码全部上传到了 github,并且是公开项目,所有人都可以浏览。更加恐怖的是项目里面包含配置文件,数据库信息、redis 配置、各种公钥私钥密码全在项目里面,也一同上传了。 如果只是单纯的业务代码泄露,情况倒还好,因为别人知道你代码,要 阅读全文
posted @ 2020-01-05 23:31 KIWI的碎碎念 阅读(1641) 评论(0) 推荐(0) 编辑
摘要:前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器。 准确的说,思维导图并不是一个具体的工具,而是一种方法。是道而不是术。实际落地时,我们通常还需要借助外部的工具。从最原始的纸和笔,到各种软件,可以说是应用尽有。 阅读全文
posted @ 2019-12-03 21:34 KIWI的碎碎念 阅读(4092) 评论(4) 推荐(0) 编辑
摘要:【并发那些事】可见性问题的万恶之源 硬件工程师为均衡 CPU 与 缓存之间的速度差异,特意加的 CPU 缓存,竟然在多核的场景下阴差阳错的成为了并发可见性问题的万恶之源!( 本文过长,如果不是特别无聊,看到这里就可以了 ) 前言 还记得那些年,你写的那些多线程 BUG 吗?明明只想得到个 1 + 1 阅读全文
posted @ 2019-11-25 20:56 KIWI的碎碎念 阅读(427) 评论(0) 推荐(0) 编辑
摘要:Step 1. 什么是生产者消费者问题 生产者消费者问题 也叫 有限缓冲问题 ,是多线程同步的一个最最最经典的问题。这个问题描述的场景是对于一个有固定大小的缓冲区,同时共享给两个线程去使用。而这两个线程会分为两个角色,一个负责往这个缓冲区里放入一定的数据,我们叫他 生产者 。另一个负责从缓冲区里取数 阅读全文
posted @ 2019-11-09 17:00 KIWI的碎碎念 阅读(1127) 评论(0) 推荐(1) 编辑
摘要:0. 为什么人人都讨厌写单测 在之前的关于 "swagger" 文章里提到过, 程序员最讨厌的两件事,一件是别人不写文档,另一件就是自己写文档。这里如果把文档换成单元测试也同样成立。 每个开发人员都明白单元测试的作用,也都知道代码覆盖率越高越好。高覆盖率的代码,相对来说出现 BUG 的概率就越低,在 阅读全文
posted @ 2019-11-03 22:04 KIWI的碎碎念 阅读(2421) 评论(3) 推荐(0) 编辑
摘要:集成 websocket 的四种方案 1. 原生注解 pom.xml WebSocketConfig 说明: 这个配置类很简单,通过这个配置 spring boot 才能去扫描后面的关于 websocket 的注解 WsServerEndpoint 说明 这里有几个注解需要注意一下,首先是他们的包都 阅读全文
posted @ 2019-10-23 22:05 KIWI的碎碎念 阅读(47081) 评论(2) 推荐(26) 编辑
摘要:创建线程可以说是并发知识中最基础的操作了,JDK 提供的创建线程的方式,如果不包括通过线程池的话,目前有三种形式,它们分别是通过继承 Thread 类,通过实现 Runable 接口,通过 FutureTask。如下图所示 下面整理了一下 3 种方法的具体使用与异同。 创建线程的 3 种方法 1. 阅读全文
posted @ 2019-10-16 21:31 KIWI的碎碎念 阅读(548) 评论(0) 推荐(1) 编辑
摘要:作为程序员,我真的有时候特别想 debug 这个世界。看看这个世界究竟是怎么运行的。因为经常会遇到她的输出跟我断言的不一样,或者我觉得正常的输入,却被她判定为非法。 先分享两件事吧。 第一件事,记得去年考驾照的时候,应该是在练科目三。教练带着我练车,当开到一个地方时,让我停车。然后跟我说:『这里是一 阅读全文
posted @ 2019-10-13 15:40 KIWI的碎碎念 阅读(504) 评论(0) 推荐(2) 编辑
摘要:【Sentinel】sentinel 集成 apollo 最佳实践 前言   在 sentinel 的控制台设置的规则信息默认都是存在内存当中的。所以无论你是重启了 sentinel 的客户端还是 sentinel 的控制台。你所设置的规则都会丢失。如果想要 sentinel 在 阅读全文
posted @ 2019-09-22 20:53 KIWI的碎碎念 阅读(4408) 评论(6) 推荐(0) 编辑
摘要:1. 安装 Namesrv 拉取镜像 docker pull rocketmqinc/rocketmq:4.4.0` docker run d p 9876:9876 v {RmHome}/data/namesrv/logs:/root/logs v {RmHome}/data/namesrv/st 阅读全文
posted @ 2019-09-18 22:23 KIWI的碎碎念 阅读(8833) 评论(0) 推荐(1) 编辑
摘要:【Swagger】可能是目前最好的Spring Boot集成 swagger 的方案   据说程序员最恨的两件事:一件是别人不写文档,另一件是自己写文档。   可见文档真的是程序员生活中相爱相杀的存在。一方面对于使用者来说,一份 全面、准确 的文档简直就是旅行 阅读全文
posted @ 2019-09-08 16:24 KIWI的碎碎念 阅读(1925) 评论(0) 推荐(2) 编辑
摘要:JMH 简单入门 "" 什么是 JMH JMH 是 Java Microbenchmark Harness 的缩写。中文意思大致是 “JAVA 微基准测试套件”。首先先明白什么是“基准测试”。百度百科给的定义如下: "基准测试" 是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某 阅读全文
posted @ 2019-09-06 17:40 KIWI的碎碎念 阅读(3367) 评论(0) 推荐(2) 编辑
摘要:大家都知道 dubbo 是一个优秀 rpc 框架,它一般(dubbox 除外)通过对外提供 tcp协议的接口进行外部调用。而我们日常使用的测试工具 jmeter 并不支持 dubbo 协议的请求。所以本文到此结束,谢谢观看,再见。 当然 jmeter 本身的确是不支持 dubbo 的请求,但是呢,有 阅读全文
posted @ 2019-09-05 11:23 KIWI的碎碎念 阅读(5753) 评论(0) 推荐(0) 编辑
摘要:如果涉及到统计的话,可能会经常用到。很简单的基础知识。 1、getTimestampByOffsetDay public static long getTimestampByOffsetDay(int day){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, ... 阅读全文
posted @ 2015-09-26 13:41 KIWI的碎碎念 阅读(1457) 评论(0) 推荐(0) 编辑