Fork me on GitHub

随笔分类 -  java

摘要:netty中的ChannelHandler和ChannelPipeline ChannelHandler 家族 https://www.w3cschool.cn/essential_netty_in_action/ Channel 生命周期 channelRegistered: 注册。 channe 阅读全文
posted @ 2017-11-10 14:12 秋楓 阅读(3326) 评论(0) 推荐(0) 编辑
摘要:Netty buffer缓冲区ByteBuf byte 作为网络传输的基本单位,因此数据在网络中进行传输时需要将数据转换成byte进行传输。netty提供了专门的缓冲区byte生成api ByteBuf。 Buffer API主要包括: ByteBuf ByteBufHolder Netty 缓冲 阅读全文
posted @ 2017-11-06 17:37 秋楓 阅读(3019) 评论(0) 推荐(0) 编辑
摘要:Netty 中ChannelOption的含义以及使用的场景 转自:http://www.cnblogs.com/googlemeoften/p/6082785.html 1、ChannelOption.SO_BACKLOG ChannelOption.SO_BACKLOG对应的是tcp/ip协议l 阅读全文
posted @ 2017-10-31 16:14 秋楓 阅读(4482) 评论(0) 推荐(0) 编辑
摘要:netty4.0 Server和Client的通信 创建一个maven项目 添加Netty依赖 Server端开发 client 开发 测试 分别启动server端和client端 阅读全文
posted @ 2017-10-27 12:36 秋楓 阅读(523) 评论(0) 推荐(0) 编辑
摘要:Netty重要概念介绍 Bootstrap Netty应用程序通过设置bootstrap(引导)类开始,该类提供了一个用于网络成配置的容器。 一种是用于客户端的Bootstrap 一种是用于服务端的ServerBootstrap Channel Netty中的channel定义了丰富的和socket 阅读全文
posted @ 2017-10-27 12:35 秋楓 阅读(1484) 评论(0) 推荐(0) 编辑
摘要:当两个或多个功能很大一部分实现都一样,只有其中一部分处理逻辑不同的情况下。我们通常都会采用模板设计模式来实现,这样既可以满足功能的需求也可以很好地实现代码的维护。这也正是设计模式的精髓所在。但是,如果有这样一个需求,该如何实现呢?既满足了模板设计模式的条件,也就是说两个或多个功能的总体实现流程是一致 阅读全文
posted @ 2017-05-19 17:57 秋楓 阅读(2900) 评论(0) 推荐(0) 编辑
摘要:CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让我们跟深入的了解一下 阅读全文
posted @ 2017-04-04 10:27 秋楓 阅读(297) 评论(0) 推荐(0) 编辑
摘要:单例模式 Java内存模型的抽象示意图: 所有单例模式都有一个共性,那就是这个类没有自己的状态。也就是说无论这个类有多少个实例,都是一样的;然后除此者外更重要的是,这个类如果有两个或两个以上的实例的话程序会产生错误。 出于性能考虑,采用 相对于普通的单例和加锁模式而言,从性能和线程安全上来说都有很大 阅读全文
posted @ 2017-04-03 18:51 秋楓 阅读(1538) 评论(0) 推荐(2) 编辑
摘要:如: public class SingleTest implements Serializable{private static final long serialVersionUID = -8600246627673134435L;private static class SingleTestH 阅读全文
posted @ 2017-04-03 12:57 秋楓 阅读(252) 评论(0) 推荐(0) 编辑
摘要:前言 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用中存在比较多的长生命 阅读全文
posted @ 2017-04-01 13:04 秋楓 阅读(361) 评论(0) 推荐(0) 编辑
摘要:查看JVM统计信息 S0、S1 代表两个Survivor区的占比; E 代表 Eden 区占比; O(Old)代表老年代占比; P(Permanent)代表永久代占比; YGC(Young GC)代表Minor GC次数; YGCT代表Minor GC耗时; FGC(Full GC)代表Full G 阅读全文
posted @ 2017-04-01 13:03 秋楓 阅读(479) 评论(0) 推荐(0) 编辑
摘要:api重复引用导致的诡异问题排查 最近一个项目上线前开发环境、测试环境都能正常打包并运行。然而到了准生产环境和生产环境则报一些诡异的错误信息: 咋一看莫名其妙,代码怎么找也找不到问题所在。查看代码修改部分,发现是重新引入了一个新的api。 通过 发现,同时引用了 test api:jar:2.0.0 阅读全文
posted @ 2017-03-31 18:34 秋楓 阅读(3421) 评论(0) 推荐(0) 编辑
摘要:线程安全日期格式化操作的几种方式 由于 是非线程安全的,因此在多线程并发情况下日期格式化时需要特别注意。下面记录几种格式化的方式: 线程不安全的处理方式 这种方式会报如下异常: 线程安全的处理方式 方式一,每次new一个对象 方式二,通过ThreadLocal进行处理 如果是JDK7及以下的应用,可 阅读全文
posted @ 2017-03-31 18:14 秋楓 阅读(11239) 评论(0) 推荐(0) 编辑
摘要:命令行调用dubbo远程服务 telnet远程连接到dubbo 查看提供服务的接口 ls 接口名对外提供的方法 调用服务 invoke 接口名.方法名(参数) 进行调用 阅读全文
posted @ 2017-02-05 11:36 秋楓 阅读(13488) 评论(0) 推荐(0) 编辑
摘要:java问题排查命令 :查看java进程 :`导出堆详细信息 jhat`一起使用) :`分析Java堆 jmap`一起使用) :可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。 通常结合 、`top printf grep`命令使用。 得到21742的十 阅读全文
posted @ 2017-02-05 11:33 秋楓 阅读(354) 评论(0) 推荐(0) 编辑
摘要:java class加载机制及对象生成机制 当使用到某个类,但该类还未初始化,未加载到内存中时会经历 、`链接 初始化 需要注意的是类的初始化和链接的顺序有可能是互换的。` ClassLoader加载机制 ClassLoader用于动态加载class文件到内存中。 Java 提供了三个ClassLo 阅读全文
posted @ 2017-01-15 20:51 秋楓 阅读(1730) 评论(0) 推荐(0) 编辑
摘要:Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象;数据总条数正确,但有些记录多了,有些记录却又少了甚至没了。针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现。 增加排序的唯一 阅读全文
posted @ 2017-01-15 20:48 秋楓 阅读(3901) 评论(1) 推荐(2) 编辑
摘要:在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace就 阅读全文
posted @ 2017-01-04 12:40 秋楓 阅读(8651) 评论(0) 推荐(0) 编辑
摘要:垃圾收集器详解及参数配置 垃圾搜集器简介 垃圾搜集器大致分为以下三类 串行搜集器(serial collector):它只有一条GC线程,且就像前面说的,它在运行的时候需要暂停用户程序(stop the world)。 并行搜集器(parallel collector):它有多条GC线程,且它也需要 阅读全文
posted @ 2017-01-04 12:38 秋楓 阅读(2948) 评论(0) 推荐(0) 编辑
摘要:概述 内存划分 虚拟机规范中将内存分为六大部分,分别为PC寄存器、JAVA虚拟机栈、JAVA堆、方法区、运行时常量及本地方法栈。 1.PC寄存器: ; 2.JAVA虚拟机栈: ;JAVA虚拟机栈是在创建线程的同时创建的,用于存储栈帧,JAVA虚拟机栈也是线程独有的。 3.JAVA堆: ; 4.方法区 阅读全文
posted @ 2017-01-04 08:24 秋楓 阅读(685) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示