- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 当Java SPI遇上Groovy
从Java SPI说起Dubbo SPI我的SGI本文描述一种Java SPI机制与Groovy相结合的方式,实现中借鉴了Dubbo SPI的思想,旨在提供一种更加动态灵活的集成方式。抛砖引玉。从Java SPI说起SPI,想必大家对此耳熟能详,全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。SPI 的本质是将接口实现类的全限定...
2020-01-19 00:20:23
484
原创 简单有效地解决SnowFlake的时钟回拨问题
SnowFlake是Twitter开源的可以在分布式系统中生成唯一的ID的算法 , 具体介绍本文不再赘述, 可以参考这篇文章: https://segmentfault.com/a/1190000011282426?utm_source=tag-newest SnowFlake算法生成id的结果是一个64bit大小的整数, 其中的41位时间戳部分依赖服务器的时间, 当服务器发生时钟...
2019-11-03 23:28:55
17196
12
原创 基于Docker Swarm的JStorm集群实践
现在是9021年, 虽然JStorm已经过时了, Docker Swarm也是明日黄花, 但是这一点也不妨碍我写下这篇文章
2019-08-12 23:11:39
624
原创 Groovy简介与使用
简介使用应用Groovy语法特性(相比于Java)Groovy与Java项目集成使用GroovyShellGroovyClassLoaderGroovyScriptEngineJSR-223Groovy实现相关原理Groovy代码文件与class文件的对应关系对于没有任何类定义对于仅有一个类对于多个类对于有定义类的脚本Spring对Groo...
2018-11-04 16:59:17
64425
2
原创 论Docker容器中的Nginx配置文件如何读取系统/容器的环境变量
需求背景: 集群中,每一台服务器都有自己的Nginx, 转发请求到本机的应用. 应用与Nginx都通过Docker部署.随之而来的一个问题是,应用是无状态的,可以通过一个镜像在所有的机器上运行,而Nginx需要转发到本机的应用,在每台服务器的Nginx配置文件中不可避免地需要写上本机的内网IP,也就是镜像似乎不能通用. 在此,我想到的一种方法是,启动Nginx Docker容器时, 通过 –en
2017-10-22 15:17:23
14299
原创 Java NIO简单实例教程
相较于传统的IO基于字节流和字符流的阻塞式操作,NIO则是基于通道(channel)和缓冲区(buffer)的非阻塞式操作。数据总是从通道读取到缓冲区或者从缓冲区写入到通道。NIO采用内存映射文件的方式来处理输入/输出,NIO将文件或文件的一段区域映射到内存中(map()方法),这样就可以像访问内存一样来访问文件了,也可以采用“用竹筒多次重复取水”的方式,创建一个固定大小的ByteBuff,每次从
2017-05-29 22:25:37
647
原创 计算机网络(1)
近来深感人生之艰难,但是书不能不看,文章不能不写,学习不能停下。 本文为学习网易云课堂计算机网络之网尽其用课程期间所做的一些笔(chao)记(shu)并结合自己当下的见闻,在此做一下精简的整理,并删了一些。计算机网络是一种通信网络,具有自治(无主从)互连(互联互通,通过通信链路)的特点。 如何保证远距离、数量大互连?:通过交换网络互连主机,交换节点(路由器或交换机)实现数据的分组转发。 通信信
2017-05-13 21:49:03
525
原创 《深入理解Java虚拟机》读书笔记:第三章垃圾收集器与内存分配策略
垃圾收集(Garbage Collection,GC)程序计数器,虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭引用计数(ReferenceCounting)算法判断对象是否存活,但是很难解决对象之间相互循环引用的问题.参数-XX:+PrintGCDetails(打印GC日志) 可达性分析(Reachability Analysis)判断对象是否存活,通过一系列的称为"GCRo
2017-04-16 13:49:22
752
原创 《深入理解Java虚拟机》读书笔记:第二章Java内存区域与内存溢出异常
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域:方法区、虚拟机栈、本地方法栈、堆,程序计数器程序计数器(Program CounterRegister):一块较小的内存空间,看作当前线程所执行的字节码的行号指示器;字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令.分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完
2017-04-08 11:09:09
1573
4
原创 一些知识点:Spring AOP
本篇主要讲述Spring AOP一些基本概念及应用。 那么AOP是什么呢?我所理解的AOP,通俗的说,就是一段代码片段在不修改源码的情况下,动态地在源码前后织入另一段代码,使之增强 下面抛出一些基本性的概念: AOP指一种程序设计范式,该范型以一种称为切面(aspect)的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象,类或方法中
2017-04-06 21:37:38
380
原创 一些知识点:Java基础(2)
本篇主要包含Java关键字、UML、多态等上一篇没有的,又是一锅大杂烩。Java引用变量有两个类型:一个是编译是类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。例如: 父类 引用变量 = new 子类();该引用变量的编译时类型为父类而运行时类型为子类,这个引用变量只能调用声明该变量时所用类里包含的方法,通过引用变量总是访问到编译时的
2017-04-03 19:09:17
304
原创 一些知识点:Java基础(1)
在这个春暖花开而又特殊的季节,整理一下过去的笔记,梳理自己在过去的9个多月的时光中,实习的所见所闻。回想起去年此时,我正借了一本书,照着书本正着手准备人生的第一个Web项目。。。历历在目。类中静态域包括静态方法、静态变量、 静态代码块。类加载时按顺序初始化静态变量和静态代码块。静态方法不能被覆盖,如果父类中的静态方法在子类中重新定义,那么父类中定义的方法被隐藏。创建一个
2017-04-02 20:10:43
327
原创 jmeter测试读取 .csv 文件出现第一个字符乱码的解决方法
系统环境:win10使用Jmeter自动测试,读取 .csv文件,在这里我的第一个变量是host,即请求地址 结果运行时,和第一个变量相关的全部接口报错:java.net.UnknownHostException:?127.0.0.1而我在后面配的另一个服务器上的地址则能正常连接从图中可知,这个127.0.0.1 异常,前面莫名多出了一个字符而导致,解决方法:在
2017-03-21 21:14:52
1879
原创 tomcat启动出现Preparing launch delegate的可能原因之一
zookeeper + dubbo 本地启动项目时,Tomcat一直停在 Preparing launch delegate...可能是zookeeper未启动成功的问题
2017-03-05 13:35:04
8980
Groovy入门经典
2019-04-25
docker-compose 1.20
2018-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人