源码

《Druid源码解析(1) Guice和Realtime流程》——图较精简,不错

吃可爱长大的小学妹 提交于 2019-12-30 01:05:43
https://zqhxuyuan.github.io/ 最近两年更新少 任何忧伤,都抵不过世界的美丽 2015-12-08 Druid源码解析(1) Guice和Realtime流程 Source druid Druid is a fast column-oriented distributed data store. http://druid.io/ 当启动Druid的服务,会启动一个java进程,比如 run_example_server.sh 会启动 io.druid.cli.Main example realtime . Guice Inject Main的buidler类包含了多种服务组, 比如server服务包括了Druid的大部分组件: 协调,历史,Broker,实时,Overlord等. injectMembers和toInstance注入实例化好的对象 12345 final Injector injector = GuiceInjectors.makeStartupInjector();final Cli<Runnable> cli = builder.build();final Runnable command = cli.parse(args);injector.injectMembers(command); //command已经是实例化好的线程类

spring 源码系列(五)ConfigurationClassPostProcessor源码解析

白昼怎懂夜的黑 提交于 2019-12-29 23:56:48
目录 一、继承关系 二、源码解析 postProcessBeanDefinitionRegistry() 2.1 获取到BeanDefinition列表,取出所有未解析过的BeanDefinition. 2.2 排序 2.3 解析bean 2.4 将读取到configClasses加载到容器中,即beanDefinitionMap postProcessBeanFactory() 1. 对@Configuration标注的bean进行动态代理。 2. 添加一个后置处理器,用于给被cglib动态代理的bean注入BeanFactory spring初始化过程中添加了很多spring自身创建的bean,其中最重要的就是ConfigurationClassPostProcessor,它完成了spring对于bean的扫描,以及配置类的代理。 一、继承关系 可以看到ConfigurationClassPostProcessor实现的接口总共有三个源头: 1)Ordered ,这个接口的实现,是用来排序的 2)Aware 下的接口实现,主要是配置一些spring环境 3)BeanFactoryPostProcessor 这个接口就是ConfigurationClassPostProcessor的核心了,它完成了spring的扫描工作

我的第一篇博客

拥有回忆 提交于 2019-12-29 21:44:30
关于我的第一篇博客 第一篇讲一讲我接触JAVA开发过程的心得 第一篇讲一讲我接触JAVA开发过程的心得 我是成长中的小大哥,很开心你能看到我的第一篇博客。 我是想了很久之后,也是在一个很关键的时刻决定了,我要开始写博客。我要将我的所劳所得记录下来,方便我以后回过头看看我在这些特定的时间里做了些什么也是对自己做开发时间戳一个总结。但是当我提起笔,啊不!码上我的键盘的时候,我甚至连标题都无法确定好(又是一篇流水账的文章了),但万事开头难,我控制不了自己对新的事物的一种新的尝试。我要做到而且要做好它。 先讲讲我为什么决定要写博客吧,是往大的说还是往小的说呢?疑惑!那就往小的说吧。嘿嘿皮这一下很开心!好了,言归正传。我在大学刚开始接触软件技术这个专业的时候是一脸懵逼的状态,完全是丈八摸不清头脑(也不知道这样比喻的对不对),所以在这个时候我就开始在网上搜相关的介绍跟建议,后来就发现很多大牛的订阅号跟博客,发现了他们发表的日更的文章以及解决错误的日志。起初还没有什么反应觉得跟自己并没有很大的关系。但在日后的学习过程发现跟我关系还蛮大的,而且对自己开发的过程有很大的帮助。 那从何说起呢,首先,JAVA是一门面向对象的编程语言我想众所周知,但在我手里它就变成了一门面向百度的编程语言,因为在我们编写代码的时候总是会碰到很多玄学上的bug(其实是我学艺不精,没搞明白),搞不明白怎么办呢?百度就完事了

java.awt.container源码中的组合设计模式

北城余情 提交于 2019-12-29 21:36:49
最近学了下组合设计模式,很有心得,于是看了一些java中的用到组合设计的源码。再此分享给大家。 java.awt.container #add(component) 是使用的组合设计模式。下面上两个类的代码。 public abstract class Component implements ImageObserver , MenuContainer , Serializable { boolean updateGraphicsData ( GraphicsConfiguration gc ) { checkTreeLock ( ) ; if ( graphicsConfig == gc ) { return false ; } graphicsConfig = gc ; ComponentPeer peer = getPeer ( ) ; if ( peer != null ) { return peer . updateGraphicsData ( gc ) ; } return false ; } . . . } public class Container extends Component { /** * The components in this container. * @see #add * @see #getComponents */ private java

JQuery实现分页程序代码,源码下载

你说的曾经没有我的故事 提交于 2019-12-29 21:34:37
Web开发,分页在所难免的,微软GridView、AspPager等设置分页数据可以自动分页,但是这里浏览器会闪动,用户体验不是很友好,在此我整理了JQuery实现分页,并且使用 JQuery模板显示数据,用户体验很友好 项目结构: jquery.tools.pack.js是Jquery数据显示模板 Default.aspx显示分页数据,Member_Ajax.aspx是将数据已JSON格式输出到页面,PageBar.cs分页工具条,Student.cs实体类 首先Default.aspx页面需要引用的JS文件 JQuery采用 1.4.1.1 下载地址: http://pan.baidu.com/share/link?shareid=3024434948&uk=2920032010 JQuery数据显示模板JS 下载地址: http://pan.baidu.com/share/link?shareid=3030793948&uk=2920032010 分页按钮样式 下载地址: http://pan.baidu.com/share/link?shareid=3146737028&uk=2920032010 Default.aspx页面js代码,如下,每页条数可以自定义,也可以放置配置文件中,queryString函数是根据URL参数名称,获取参数的值 <script type=

常识

折月煮酒 提交于 2019-12-29 20:08:41
压缩包后缀: (1) bin 代表二进制class文件(由java文件编译而成), src 代表源码(java源码),源码source比binary大一些,一般正常使用下载bin类型即可,如果要学习源码下载src类型。 (2) .tar.gz 是linux的压缩包, .zip 是windows的压缩包 因此: bin.tar.gz是适用于linux、MacOsX系统的二进制文件 bin.zip是适用于windows的二进制文件 src.tar.gz是linux下的源码 src.zip是windows的源码 来源: CSDN 作者: ❤ζั什么名字好呢 链接: https://blog.csdn.net/qq_44617005/article/details/103756234

Redis5源码阅读【3-Redis编译与GDB调试】

家住魔仙堡 提交于 2019-12-29 19:30:05
文章目录 1、介绍 2、Redis编译 2.1、获取源码 2.2、目录介绍 2.3、编译前的准备 2.4、开始编译 3、GDB调试 3.1、安装GDB 3.2、GDB调试编译好的Redis 3.2.1、GDB模式启动 3.2.2、在Redis源码上打断点 4、结束 1、介绍 本章主要是为了介绍Redis的编译方式,以及使用GDB对Redis进行调试的方法,为后面讲解源码打下基础,同时也介绍GDB这个C语言代码调试利器的部分使用 2、Redis编译 Redis编译应该是一个必须掌握的技能,毕竟很多时候我们并不一定会直接使用Redis编译好的包类型,可能会更具当前操作系统的情况,调整部分源码编译后再使用,例如Redis5当前的版本是不支持Windows的,如果大家想要使用Windows版本的Redis最好去官网下载Redis3以及之前的版本去自行编译使用,此外当大家希望能在Redis中加入一些日志或者其它东西的时候,一样需要修改源码进行编译,那么下面就介绍一下官方的推荐的编译步骤(很简单的) 2.1、获取源码 自行编译的第一步当然就算获取源码,Redis获取源码的方式最直接的就是github,这里我贴出Redis的github地址: https://github.com/antirez/redis ,或者你可以通过github搜索Redis: 当然github上面的是最新版本的代码

zookeeper源码解析-单机服务端

∥☆過路亽.° 提交于 2019-12-29 19:22:51
1.引入 zk单机服务端虽然在实际生产使用中不可能碰到,但是用于接下来分析zk集群服务端有很大用处,我们秉承循序渐进的方式,先介绍一下单机服务端的启动和处理流程 2.单机服务器启动 在单机启动过程中,会创建服务端连接对象,用于处理客户端的请求。其处理过程,可以从以下代码开始介绍。 ZooKeeperServerMain . java -- -- -- -- -- -- -- -- -- -- -- -- - public void runFromConfig ( ServerConfig config ) throws IOException , AdminServerException { . . . . . if ( config . getClientPortAddress ( ) != null ) { cnxnFactory = ServerCnxnFactory . createFactory ( ) ; cnxnFactory . configure ( config . getClientPortAddress ( ) , config . getMaxClientCnxns ( ) , false ) ; cnxnFactory . startup ( zkServer ) ; needStartZKServer = false ; } . . . . . .

曹工说Spring Boot源码(6)-- Spring怎么从xml文件里解析bean的

↘锁芯ラ 提交于 2019-12-29 19:03:54
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下 曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean definition的? 曹工说Spring Boot源码(5)-- 怎么从properties文件读取bean 工程代码地址 思维导图地址 工程结构图: 整体流程 这次,我们打算讲一下,spring启动时,是怎么去读取xml文件的,bean的解析部分可能暂时涉及不到,因为放到一起,内容就太多了,具体再看吧。 给 ClassPathXmlApplicationContext 设置xml文件的路径 refresh 内部的 beanFactory ,其实这时候 BeanFactory 都还没创建,会先创 DefaultListableBeanFactory ClassPathXmlApplicationContext 调用其 loadBeanDefinitions ,将新建

dubbo源码解析(服务暴露+服务引用)

余生颓废 提交于 2019-12-29 18:57:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、服务暴露 1.xml解析 <dubbo:service> 标签会被解析成 ServiceBean,ServiceBean 实现了 InitializingBean,所以在类加载完成之后会调用 afterPropertiesSet() 方法。暴露就是从这里开始的。 public void onApplicationEvent(ApplicationEvent event) { if (ContextRefreshedEvent.class.getName().equals(event.getClass().getName())) { if (isDelay() && ! isExported() && ! isUnexported()) { if (logger.isInfoEnabled()) { logger.info("The service ready on spring started. service: " + getInterface()); } export(); } } } 2.开始暴露 org.apache.dubbo.config.ServiceConfig#doExportUrls开始 多协议暴露 org.apache.dubbo.config.ServiceConfig