吉他程序员的博客

我们有一支程序员的乐队,欢迎加入

自己实现dubbo传输层

1.看了dubbo的源码自己也仿dubbo实现了个基于netty的传输层,实现思想与dubbo基本一致,只是不涉及dubbo对传输数据的编解码,我这里直接使用简化的netty自带的StringEncoder,InternalDecoder,下面是用到的技术: dubbo ExtensionLoad...

2018-05-09 16:41:13

阅读数 145

评论数 0

Dubbo URL 源码解析

1.今天简单来介绍下dubbo中的URL类,主要是以源码(稍作简化修改)来介绍。“` /* * dubbo://hadluo:1234@127.0.0.1:20881/context/path?version=1.0.0&application= * morgan&noV...

2018-05-03 15:38:37

阅读数 566

评论数 0

自己实现dubbo服务的导出

1.今天 我们要实现dubbo的三个功能: dubbo标签的定义 dubbo标签的解析并赋值给对应的XXConfig(如:ServiceConfig 对应dubbo:service 标签) dubbo怎么利用spring bean的生命周期来进行导出 dubbo:service 服务 的 2.代...

2018-05-02 19:02:24

阅读数 335

评论数 0

自己实现Dubbo Invoker

1.Dubbo Invoker 用来执行spring注入的业务接口的实现类的方法。下面我来自己实现一套。基本上是dubbo的设计模式思想。 2.先看下使用说明: //User 对象 class User { private String name; public Strin...

2018-04-27 18:09:16

阅读数 657

评论数 1

自己实现Dubbo的ExtensionLoader

看了dubbo的ExtensionLoader觉得用这样的方式加载各种组件和替换组件十分的方便,便自己实现了个。使用方法: public static void main(String[] args) { // 调用 key 为 post 的http组件 Ex...

2018-04-24 21:01:31

阅读数 205

评论数 0

Java Holder 使用

1.很多框架都会使用Holder类,今天来介绍下其作用。考虑如下代码:public class Counter { public static void main(String[] args) throws InterruptedException { User user ...

2018-04-19 17:24:41

阅读数 1509

评论数 0

jmap详解

jmap一般使用于以下的几种情况:内存泄漏,线上程序在运行一段时间之后内存越来越大,这是我们要使用jmap命令dump出,内存的对象信息,然后进行分析 内存使用大于预期,这个一般是程序设计不合理,有很多冗余的对象放置在内存中,可以使用jmap查看内存中的对象,看看有些对象是否必要 jvm调优,...

2018-03-06 14:38:03

阅读数 179

评论数 0

jstat详解

Jstat是JDK自带的一个轻量级小工具。jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。参数详解 jstat -class pid 显示加载class的数量,及所占空间。 [root@S10 activity-assembly]# jstat -class...

2018-03-05 11:35:24

阅读数 64

评论数 0

jps详解

jps是jdk提供的一个查看当前java进程的小工具。查找当前用户的Java进程,而不是当前系统中的所有进程。命令格式:jps [options ] [ hostid ] 参数如下 jps -l 输出主类或jar的完全路径 [root@S10 core]# jps -l 29202 com.al...

2018-03-05 10:07:46

阅读数 53

评论数 0

JVM常见内存设置参数

1.-Xms1m -Xmx1m -XX:+HeapDumpOnOutOfMemoryError -Xms:最小堆设置 -Xmx:最大堆设置 将最小堆与最大堆设置为一样避免了虚拟机自动扩展堆大小 -XX:+HeapDumpOnOutOfMemoryError: 出现内存溢出时Dump当前的内...

2018-02-27 16:05:30

阅读数 63

评论数 0

scala编写dubbo自动化部署工具

1.我们在工作中开发环境部署dubbo服务时总是先要上传服务包到服务器,然后在解压,然后在执行start.sh启动dubbo服务,今天我介绍一个自己用scala开发的dubbo自动化部署工具。 界面如下: 此工具可以部署 服务包(.tar.gz 这是我们公司打包服务后的后缀名)和 wa...

2018-01-09 18:00:06

阅读数 401

评论数 0

scale教程(五)抽象 接口

1.抽象类//测试类 object abs{ def main(args:Array[String]){ var car = new BMW() car.setName("BMW") ...

2017-12-29 15:09:17

阅读数 104

评论数 0

scale教程(四)面向对象

scala 对象

2017-12-28 18:33:14

阅读数 170

评论数 0

hadoop基础教程(二) MapReduce 单词统计

1.这是hadoop基础系列教程,适合入门者学习。2.MapReduce是一种分布式计算模型,解决海量数据问题,由两个阶段组成,map()和reduce()。本文不讲解原理,下面实际操作利用MapReduce实现一个统计单词。首先准备一个单词源文件,我们要统计每个单词出现的次数 新建word.t...

2017-12-27 18:36:44

阅读数 116

评论数 0

scale教程(三)集合

1.今天来讲下scala中的数组,集合。 2.不可变长度数组 : Array object collection{ def main(args:Array[String]){ // 有初始值 的 不要new v...

2017-12-26 18:37:56

阅读数 365

评论数 0

过期的suspend()挂起、resume()继续执行线程

suspend : 暂停线程 resume : 恢复 suspend 暂停的线程但这两个 API 是过期的,也就是不建议使用的。不推荐使用 suspend() 去挂起线程的原因,是因为 suspend() 在导致线程暂停的同时,并不会去释放任何锁资源。其他线程都无法访问被它占用的锁。直到对应的...

2017-12-25 18:22:06

阅读数 115

评论数 0

java停止线程

1.java提供了3种方式停止正在运行的线程 使用退出标志,也就是当run完成后线程终止。 使用stop暴力终止线程(不推荐)。 使用interrupt方法中断线程。 2.interrupt()介绍 调用interrupt(),只是在当前线程打了一个停止标记,并不是真的停止线程。 在线程中需要...

2017-12-25 17:55:06

阅读数 98

评论数 0

hadoop基础教程(一) HDFS

1.这是scala基础系列教程,适合入门者学习。2.HDFS单机环境搭建 hadoop core下载:http://archive.apache.org/dist/hadoop/core/stable/ 下载解压 到/usr/local/hadoop 将 hadoop/bin 添加到环境变量 /e...

2017-12-25 16:46:42

阅读数 267

评论数 0

scala教程(二) 函数

1.这是scala基础系列教程,适合入门者学习。2.函数定义函数//没有返回值的函数,Unit 类似void def error1(msg:String): Unit = { println(msg) }// 类似上面的简写方式: 去掉Unit def error2(msg:Str...

2017-12-25 16:00:51

阅读数 175

评论数 0

scala教程(一)

1.这是scala基础系列教程,适合入门者学习。2.linux环境搭建 前提必须有java8的环境,在http://www.scala-lang.org/download/ 下载scala-2.12.4.tgz , 然后解压,配置bin 目录 到环境变量(/etc/profile)。 ...

2017-12-22 12:11:40

阅读数 691

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭