源码

关于 Debian 光盘的疑惑

与世无争的帅哥 提交于 2020-01-07 06:39:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 关于 Debian 光盘的疑惑 http://www.debian.org/CD/faq/ 在众多的映像中,我应该下载哪一个呢?我需要全部吗? 不,首先您当然只需要光盘 或是 DVD 映像的其中一种 - 这两种映像内包含的是一样的软件包。 而且,你只需要符合你的计算机架构的光盘映像。所谓架构就是你的计算机使用的硬件类型。 目前为止,最常见的就是 Intel/AMD 的架构,所以大部份的人只需要下载 "i386" 的映像。如果您的计算机使用 64 位元的 AMD 或 Intel 处理器, 您会需要使用 amd64 映像 (当然i386也是可以正常工作), ia64 映像还 不能 用。 此外, 在大部份的情况下,你并不需要下载架构中的全部映像。映像中的软件包是依照流行的程度来排序的: 第一片光盘包含安装系统及最流行的软件包。第二片光盘包含较不流行的。第三片光盘则是更不流行的,以此类推。 您可能只需要第一片 DVD (或是前两片光盘),除非你有非常特殊的需求。(而且假如你之后刚好需要某一个软件包,且不在你下载的光盘中, 你还是可以通过互联网来直接安装软件包。) 请继续阅读下一节来决定您是否需要下载网络安装光盘,升级光盘或是源码光盘。 什么是 "netinst" 或 " 网络安装光盘 " ? 引用 网络安装说明 :

Spring 源码深度解析笔记

偶尔善良 提交于 2020-01-07 05:09:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ####1. 核心容器 Core 模块:主要包括Spring 框架基本的核心工具类,其他模块都要基于该模块。 Beans 模块:包含访问配置文件、创建和管理bean以及进行IoC/DI操作相关的类。 Context 模块:构建于Core 和Beans 模块之上,提供了一种类似JNDI注册器的框架式的对象访问方法。Context 模块继承了Beans 模块的特性,为Spring 核心提供了大量扩展,添加了对 国际化、事件传播、资源加载和对Context 的透明创建的支持。同时也支持J2EE的一些特性,比如EJB、JMX和基础的远程处理。ApplicationContext接口是Context模块的关键。 Expression Language 模块:提供了一个强大的表达式语言用于在运行时查询和操纵对象。该语言支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文、容器和索引器、逻辑和算术运算符、命名变量以及从Spring 的IOC容器中根据名称检索对象。也支持list投影、选择和一般的list聚合。 2. 数据访问与集成 JDBC模块:提供了一个JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。这个模块包含了Spring对JDBC数据访问进行封装的所有类。 ORM模块:对象

nginx源码分析——事件模块

给你一囗甜甜゛ 提交于 2020-01-07 04:59:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 事件模块概述 事件处理框架所要解决的问题是如何收集,管理,分发事件。这里所说的事件,主要以网络事件和定时器事件为主,而网络事件中又以TCP网络事件为主。由于网络事件与网卡中断处理程序,内核提供的系统调用密切相关,所以网络事件的驱动取决于不同的操作系统平台,在同一操作系统中也受制于不同的操作系统内核版本。因此不同操作系统有不同的事件驱动机制。 基于模块化的设计思想,nginx对于事件处理分不同的模块来完成。首先是ngx_events_module,它是NGX_CORE_MODULE类型的模块,主要负责配置文件events块配置项的解析;其次是ngx_event_core_module,它是NGX_EVENTS_MODULE类型的模块,这个模块会决定使用哪种事件驱动机制,并且怎样调用事件驱动完成事件的管理;最后是ngx_epoll_module,ngx_kqueue_module,ngx_poll_module等一系列模块,这些模块实现了具体的事件驱动机制。 2. 事件模块间的抽象化及初始化流程 在模块接口ngx_module_t中,有一个指向模块上下文的指针,不同的模块采用不同的结构体。 对于NGX_EVENT_MODULE类型的模块,其上下文结构体为ngx_event_module_t: typedef

【一起学源码-微服务】Nexflix Eureka 源码十三:Eureka源码解读完结撒花篇~!

二次信任 提交于 2020-01-07 04:00:45
前言 想说的话 【一起学源码-微服务-Netflix Eureka】专栏到这里就已经全部结束了。 实话实说,从最开始Eureka Server和Eureka Client初始化的流程还是一脸闷逼,到现在Eureka各种操作都了然于心了。 本专栏从12.17开始写,一直到今天12.30(文章在平台是延后发布的),这将近半个月的时间确实收获很多。每天都会保持一定的时间学习,只要肯下功夫,没有学不会的东西。 2020年将继续保持学习的节奏,自己定的目标是把spring cloud几个重要的组件都学一遍,然后是分布式架构的几个常用组件,例如分布式事务、分布式锁、Netty等。 希望自己能够坚持下去吧,放弃不难,但坚持一定很酷。 说明 原创不易,如若转载 请标明来源! 博客地址: 一枝花算不算浪漫 微信公众号:壹枝花算不算浪漫 总结 首先看一下整体的Eureka架构图: 总结的思维导图: Eureka Rest operation: 更多可以查看: https://github.com/Netflix/eureka/wiki/Eureka-REST-operations 附录几个对spring cloud netflix eureka分析比较好的博客: Spring Cloud Eureka源码分析---服务注册 Spring Cloud Eureka源码分析 --- client 注册流程

flask源码分析

浪子不回头ぞ 提交于 2020-01-07 03:42:39
一、flask源码分析 # 创建一个flask项目 from flask import Flask app = Flask(__name__) if __name__ == '__main__': # app.__call__() app.run() 1.查看app.run()中run方法 首先进入app.run()方法,进入之后你会发现最核心的一句话, 导入了werkzeug工具包,启动了一个socket,其中self是app有Flask类创建的对象,host是ip地址,port是端口号 from werkzeug.serving import run_simple # app.run调用werkzeug.seriving的run-simple run_simple(host, port, self, **options) 2.查看__call__方法 在进入Flask类中的__call__,发现的是里面有一个是wssgi_app方法将执行的结果返回回来,其中参数意思为: self是app由flask创建的实例对象 environ:请求相关的参数也就是前端页面向后端发送请求携带过来的所有参数信息 start_response: 是请求响应相关的(response) def __call__(self, environ, start_response): """The WSGI

tomcat nio源码分析

限于喜欢 提交于 2020-01-07 03:25:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1http访问流程 1 NioEndpoint.Acceptor等待客户端连接,客户端连接之后将SocketChannel转发给Poller 相关源码如下 /** * */ protected class Acceptor extends AbstractEndpoint.Acceptor { @Override public void run() { int errorDelay = 0; // Loop until we receive a shutdown command while (running) { // Loop if endpoint is paused while (paused && running) { //代码略 } if (!running) { break; } state = AcceptorState.RUNNING; try { //if we have reached max connections, wait countUpOrAwaitConnection(); SocketChannel socket = null; try { // Accept the next incoming connection from the server // socket

java sun包下的源码

。_饼干妹妹 提交于 2020-01-07 03:14:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 由于JDK的src.zip里面没有sun包的源码,所以要在IDEA里面查看sun包下的源码的时候只能看到通过反编译得到的代码,反编译得到的代码没有注释,而且很多局部变量名都变成了var1,var2这样子,看起来不太舒适。如果只是想随便看一看,可以直接在 github 或者 OpenJDK 上查看,但是这样看还是比较麻烦的,因为这样在网页上看不能像在IDE一样点击某个类然后跳转到某个类的源码。那么有没有办法可以直接在IDEA里面查看sun包下的源码,而不是在网页上看呢?您好,可以的。 下载源码到本地 使用git把源码clone到本地,然后切换到你想要查看的源码的分支 git clone https://github.com/openjdk-mirror/jdk.git cd jdk git checkout jdk8u/jdk8u/master 因为我要看JDK8的sun包的源码,所以我切换到了 jdk8u/jdk8u/master 分支,后面会在这个jdk目录复制里面的文件夹 魔改src.zip IDEA默认配置的源码文件为src.zip,所以只要把上面下载的源码里面的sun包直接复制到src.zip里面就能通过IDEA直接查看源码了。 src.zip在你的JDK目录下。比如在我的电脑中,我把JDK安装到了

源码的阅读,意识的觉醒

谁说我不能喝 提交于 2020-01-07 02:16:33
文章目录 引言 开篇 举个栗子 学习方向 学习方式 阅读源码 多米诺骨牌效应 参考 小白 进阶 登堂入室 引言 开篇 本篇没有干活,只有水货;不谈技术,只谈“风阅”。讲的是思想上的觉悟,也是意识的觉醒。虽然很水,但是也是相对比较重要。作为一名中级码农,想要 提升 (获取更高的薪水)享受编程的乐趣,不仅仅是 横向发展 (即浮于更多技能的学习了解和使用更多的框架),更应该 纵向发展 ,而且纵向发展更加重要。纵发展就是技术深度的挖掘,就需要了解技术的本质,能明白框架设计者的思想。 举个栗子 生活中最简单的一个利息计算公式:利息=本金×利率×存款期限。本金是现有的积累这个无法改变,当利率越高时,存款时间越长我们收获的利息越多(利息是央行规定我们无力改变( ̄(工) ̄),时间吗也只有一生,因此这个提高利息嘛,我们只能另想法啦。 但是对于我们的薪水来说,总薪水=时薪×时间,这两个变量都可由我们来控制。时薪嘛,增加单位时间的产出,提升对公司的贡献价值,拿到更高的薪水;时间嘛,你可以996再不行就007╮( ̄▽  ̄)╭)。哈哈第二条这个是不可能啦也不现实,毕竟是大部分都是普通人,我们不是机器不可能一天24小时干活,我们总是还要生活的。所以,我们还是重点就是要提升时薪啦。提升薪水小技巧,和老板反馈加薪,加薪不行就换工作(据说,换工作后工资翻一番,你可以试一试٩( ´︶ )( ´︶ )۶),但能力不提升

源码分析Dubbo配置规则机制(override协议)

廉价感情. 提交于 2020-01-07 01:58:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在上篇在讲解RegistryDirectory的时候,dubbo管理员可以通过dubbo-admin管理系统在线上修改dubbo服务提供者的参数,最终将存储在注册中心的configurators catalog,然后通知RegistryDirectory更新服务提供者的URL中相关属性,按照最新的配置,重新创建Invoker并销毁原来的Invoker。 有关官方文档关于动态改变配置(override协议)的详细描述如下: dubbo-admin 管理后台,界面如下: 当Dubbo管理人员在上述界面,选择配置后点击保存,会构建override:// url存入到注册中心(configurators) catalog下,此时基于注册中心发现服务提供者的监听器(RegistryDirectory)会收到回调(notify)方法,接下来我们再来看一下RegistryDirectory#notify方法。 RegistryDirectory#notify public synchronized void notify(List<url> urls) { // @1 List<url> invokerUrls = new ArrayList<url>(); List<url> routerUrls = new

视频直播系统开发的挑选规则

◇◆丶佛笑我妖孽 提交于 2020-01-07 00:23:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 现阶段网络直播平台的火爆让各行各业的人都参与进来,如此一来,互联网团队在技术上就会很多参差不齐的直播app开发团队,再此提醒大家,一个新的、定制的直播APP开发用时费劲,而一般公司售卖源码都是封装的,因而原生的直播系统开发最合适。 原生态app设计开发的优势 市面上绝大部分直播系统的服务供应商,大多数都是采用原生态语言开展开发设计的。而原生态app的优势我觉得大家都有一定的了解。 1、迅速、特性高、用户体验好; 2、能够适用很多图型和动漫; 3、操作流程的质量和安全性能有保证; 大家常说的找外包服务商进行定制开发时,还不能完全保证务必是原生态开发,有时服务供应商便于控制成本费用,也会采用混合开发。因而,务必要选择原生态语言开发的完全开源系统的直播系统。 彻底开源系统的现实意义,直播间并没有想像中的那么复杂,但倘若源码并非完全开源系统的,后半期在运营过程时候遇到新功效软件开发的阻拦。只有完全开源系统的1对1源码才可用功效的软件开发,可以对根据行业前景和顾客规定进行综合服务平台的提高,打造真正经营级的网络直播平台。 开源系统源码物美价廉,前面谈及,倘若找服务供应商进行直播系统的原生态开发,成本费用是相当高的。因此,原生态语言开发的直播间,其开源系统源码价格都划不来,三四千是绝对买不到的