山月记

苟有恒何必三更眠五更起 最无益莫过一日曝十日寒

RPC客户端如何实现-KRPC源码解析

1.前言 这篇文章主要结合KRPC(我自己开源的一个RPC框)代码详细分析一下RPC客户端具体实现。在一篇文章了解RPC框架原理文中,我们主要讲述了一次调用RPC调用中各流程,这篇文章就结合KRPC的代码仔细讲解一下 开始前,我先说一下KRPC的网络传输中的内容: 1.服务实现名字。serv...

2018-06-03 11:02:46

阅读数:37

评论数:0

反序列化 动态加载jar的里的类报ClassNotFoundException解决办法

1.背景 自己在写一个RPC框架时,碰到第一个麻烦就是做动态加载加载jar包后,在进行反序列化(不要吐槽为啥用java原生的序列化方案,一步一步来,框架写完能跑后在优化)时报CNF错误,当时感觉应该是原生的序列化方案中使用的ClassLoader是应用加载器AppCloassLoader,而我使...

2018-04-29 11:54:41

阅读数:48

评论数:0

HashMap

注意事项 数组+链表/红黑树来存储数据 链表长度为8(默认)时,转化为红黑树,加快查询速度。 数组下标是 (n-1)&hash,n表示数组长度,hash表示key的hash值 构造参数 无参:数组长度和扩容因子采用默认(16,0.75) 单参:指定数组大小(向上...

2018-03-12 16:37:17

阅读数:53

评论数:0

java线程不安全类 SimpleDateFormat

不安全在什么地方? 前段时间在做系统数据清洗过程中,因为用到多线程及simpeldateformat,一开始没注意,遇到了线程安全问题,就在此描述解决办法。 // Called from Format after creating a FieldDelegate private S...

2018-01-07 12:03:49

阅读数:91

评论数:0

Redis客户端Jedis源码阅读及连接池分析

0.起因 自己负责的项目redis服务端连接数明显高于实际访问量,很多空闲连接没有释放;Jedis对象和连接的对应关系?连接池的复用是复用了jedis对象,还是只保存连接?总总疑惑,让我开始了jedis的源码阅读。所幸最后都搞明白了,在这里写明白分享给大家。 我相信很多刚入门的同学一定想了解连...

2017-11-25 16:05:56

阅读数:1124

评论数:2

apache-common-pool2源码分析

基础概念apache-common-pool2是一个对象池管理框架,任何需要对象池这种概念的都可以利用这个框架来实现,例如redis的客户端jedis和dbcp都是基于common-pool2实现的。本文是common-pool2的源码分析,在讲源码前我先阐述一下基本对象池的基本概念吧。现在jav...

2017-10-31 10:03:55

阅读数:451

评论数:0

Java线程池使用与原理

线程池是什么?我们可以利用java很容易创建一个新线程,同时操作系统创建一个线程也是一笔不小的开销。所以基于线程的复用,就提出了线程池的概念,我们使用线程池创建出若干个线程,执行完一个任务后,该线程会存在一段时间(用户可以设定空闲线程的存活时间,后面会介绍),等到新任务来的时候就直接复用这个空闲线...

2017-09-25 10:01:17

阅读数:2532

评论数:7

单例模式

单例模式其实是一个很简单的设计模式,其作用就是为了让某一个类的全局实例只有一个。 我认为这个模式在oop上思想的增加是很少的。但这个模式却是对多线程安全认知的一个很好的例子。这是我代码的demo单例github demo其实我代码中的注释也写的很明白了。 能保证线程安全的单例大概有三种写法。第...

2017-08-14 19:36:11

阅读数:276

评论数:0

代理模式-Java动态代理的实现及应用

Java动态代理其实写日常业务代码是不常用的,但在框架层一起RPC框架的客户端是非常常见及重要的。spring的核心思想aop的底层原理实现就使用到了java的动态代理技术。 使用代理可以实现对象的远程调用以及aop的实现。 java的动态代理的实现,主要依赖InvoctionHandler(...

2017-06-03 17:45:31

阅读数:342

评论数:0

Java注解的实现与使用

Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,特此说明一下。

2017-04-26 09:15:11

阅读数:3313

评论数:3

认识java中线程安全问题

出现场景: 多个线程同时操作一个对象,如果该对象没有线程安全的控制,便会出现线程安全问题。例如:我们有一个类Apublic class A{ int count=0; public void add1000(){ for(int i=0;i<1000;i++)...

2017-03-16 16:32:33

阅读数:287

评论数:0

Java IO最详解

博客原文:  http://blog.csdn.net/yczz/article/details/38761237 Java IO最详解 2014-08-22 20:14 118301人阅读 评论 (35) 收藏举报 本文章已收录于: 分类: JAVA (118) ...

2017-01-13 15:31:07

阅读数:303

评论数:0

SSM框架整合

最近没有写博客,主要是在学习前端和java开发的一些入门知识。 这篇博客讲一下SSM整合,虽然这个没有技术含量,多搭两次变能掌握的事情,但对于刚入门的新手而言,整合这三个框架还是有点头痛的,毕竟配置文件好多。使用的工具:Spring Tool Suite(就是在Eclipse上加了一些插件);m...

2016-12-28 10:01:09

阅读数:381

评论数:0

SSH框架如何与APP通信

最近SSH肤浅的学了一遍后,也算自己向全栈迈出了重要的一步。现在学SSH框架大多以网站开发为例。像我这种做APP出身的,就特想实现跟服务器的通信。 要解决的问题就是如何接受APP传来的数据(一般为json格式)和返回数据(一般为json格式)。下面就进行一下说明。 如何接受APP传来的数据: ...

2016-11-05 14:46:48

阅读数:1198

评论数:1

java回调思想

难得有时间,是时候写一篇java思想这一块了。随着自己的学习,越来越被OO的思想所折服!这里写一下在android用的最多也是最早就学了的回调思想。 button.setOnClickListener(new OnClickListener(){ @override publ...

2016-07-19 13:22:30

阅读数:314

评论数:0

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