源码

fedora源码安装opencv3.4.1

被刻印的时光 ゝ 提交于 2019-12-27 13:58:12
1,安装依赖: sudo dnf install gcc gcc-c++ ncurses-devel cmake sudo dnf install gtk2 gtk2-devel gtk2-devel-docs sudo dnf install libgnome-devel gnome-devel-docs sudo dnf install zlib glib atk pango gdk-pixbuf2 gdk-pixbuf2-devel sudo dnf install gtk+ gtk2-devel pkgconfig python-devel python-numpydoc sudo dnf install libavc1394 libavc1394-devel libdc1394 libdc1394-devel jasper-devel sudo dnf install ffmpeg ffmpeg-devel openjpeg-devel libjpeg-devel libpng-devel libtiff-devel 2,下载opencv3.4.1安装包: 官网下载巨慢,附一个自己上传的 链接传送门 3,安装opencv3.4.1 tar -xzvf OpenCV3.4.1.tar.gz cd opencv-3.4.1/ mkdir build cd build

lamp源码编译

匆匆过客 提交于 2019-12-27 13:52:23
在编译这些源码包之前,我们需要确认系统中有gcc,gcc-c++,make编译器,一般系统都自带了gcc和make编译器。 一般安装一个源码包的过程是: 1.解压源码包的tar.gz文件,如 tar -xvf mysql.tar.gz -C /opt/lamp ,其中tar命令中的-C是指定解压路径.其实我们完全可以写一个shell脚本进行解压. 2.配置源码,使用命令 ./configure 3.编译源码,使用命令 make 4.安装,使用 make install 现在我们开始安装lamp环境,在此之前,我们需要安装一系列的必须库. 安装 libxml2 1.进入libxml2源码包目录,进行配置设置安装的路径 Shell> ./configure --prefix=/usr/local/libxml2 2.使用make编译 3.使用make install 安装 注:在编译libxml2时,由于nanohttp.c中的open函数有问题,所以我们需要修改nanohttp.c的源代码,在1588行给open加上第三个参数0777就行了. 安装 libmcrypt 1.进入libmcrypt源码包目录,进行配置设置安装 Shell> ./configure --prefix=/usr/local/libmcrypt 2.使用make编译 3.使用make install安装 4

SpringBoot源码分析-Tomcat-启动流程

蓝咒 提交于 2019-12-27 13:19:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 上一篇: SpringBoot源码分析-初始化Tomcat-ServletWebServerFactory实例化 在 SpringBoot源码分析-初始化Tomcat-ServletWebServerFactory实例化 讲了TomcatServletWebServerFactory的自动配置和实例化,在 Springboot源码分析-启动流程-自动配置详解 将了DispatcherServlet的自动配置,接下来就从头到尾看看Tomcat是如何一步步启动并将DispatcherServlet添加到ServletContext当中的 概要 使用时序图完成描述整个启动过程,整个过程大概分为几个步骤 Spring通过自动配置将Tomcat所需的相关类的BeanDefinition注册到容器中 Spring优先于其他Bean先实例化Web容器相关的类 在onRefresh的时候使用TomcatServletWebServerFactory创建TomcatServer并完成Server的启动 在finishRefresh的时候完成loadStartup>0的servlet启动操作,完成Tomcat所有启动操作 时序图 源码分析 自动配置相关类 请参考如下章节: SpringBoot源码分析-初始化Tomcat

Mybatis源码系列0-从JDBC到Mybatis

为君一笑 提交于 2019-12-27 11:34:14
享学源码,一起行动。 文章目录 缘起JDBC 如何使用 痛点分析 轮子Mybatis (脱离Spring)使用初级阶段:DefaultSqlSession (脱离Spring)使用中级阶段:Mapper (脱离Spring)使用高级阶段:SqlsessionManager Spring-JDBC 总结 缘起JDBC 如何使用 说Mybatis之前得先讲讲JDBC public class JDBCTest { public static void main ( String [ ] args ) throws Exception { String url = "jdbc:mysql://127.0.0.1:3306/test" ; String user = "root" ; String password = "123456" ; try { // 1.加载驱动 Class . forName ( "com.mysql.jdbc.Driver" ) ; // 2.获取连接 Connection connection = DriverManager . getConnection ( url , user , password ) ; // 3.获取statement,preparedStatement String sql = "select * from user where

Nginx 安装

老子叫甜甜 提交于 2019-12-27 10:47:42
Nginx 安装 Windows 安装 Linux 安装 rpm 包方式(推荐) 源码编译方式 Linux 开机自启动 rpm 包方式 源码编译方式 脚本 参考资料 Windows 安装 (1)进入 官方下载地址 ,选择合适版本(nginx/Windows-xxx)。 (2)解压到本地 (3)启动 下面以 C 盘根目录为例说明下: cd C: cd C:\nginx-0.8.54 start nginx 注:Nginx / Win32 是运行在一个控制台程序,而非 windows 服务方式的。服务器方式目前还是开发尝试中。 Linux 安装 rpm 包方式(推荐) (1)进入 下载页面 ,选择合适版本下载。 $ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm (2)安装 nginx rpm 包 nginx rpm 包实际上安装的是 nginx 的 yum 源。 $ rpm -ivh nginx-*.rpm (3)正式安装 rpm 包 $ yum install nginx (4)关闭防火墙 $ firewall-cmd --zone=public --add-port=80/tcp --permanent $ firewall-cmd -

IntentService源码分析

☆樱花仙子☆ 提交于 2019-12-27 07:20:53
我们带着问题来看源码! 一. IntentService如何单独开启一个新的工作线程? @Override public void onCreate ( ) { // TODO: It would be nice to have an option to hold a partial wakelock // during processing, and to have a static startService(Context, Intent) // method that would launch the service & hand off a wakelock. super . onCreate ( ) ; // 1 HandlerThread thread = new HandlerThread ( "IntentService[" + mName + "]" ) ; thread . start ( ) ; // 2 mServiceLooper = thread . getLooper ( ) ; //3 mServiceHandler = new ServiceHandler ( mServiceLooper ) ; } 1.实例化HandlerThread新建线程并启动,这里注意HandlerThread 继承自Thread,内部封装了Looper; 2.

ASP.NET Core 源码阅读笔记(1) ---Microsoft.Extensions.DependencyInjection

大兔子大兔子 提交于 2019-12-27 05:57:40
这篇随笔主要记录一下ASP.NET Core团队实现默认的依赖注入容器的过程,我的理解可能并不是正确的。 DependencyInjection这个项目不大,但却是整个ASP.NET Core的基础,因为它提供了依赖注入(DI)容器的默认实现,而依赖注入贯穿整个ASP.NET Core。相关源码可以去 GitHub AspNet 上下载。 要实现是一个依赖注入容器,主要是实现它添加依赖、描述依赖、存储依赖和解析依赖的能力,可以分别用Add(A), Describe(D), Store(S), Resolve(R)表示。从功能的角度来讲,分别对应着ServiceCollection,ServiceDescriptor,Service,ServiceEntry,ServiceTable,ServiceProvider,以及CallSite相关的类。 对于框架使用者来说,注册一项服务最自然的方式就是提供服务的接口和实现这个接口的服务实例,比如IEmail是用户需求的服务,而Outlook类就是服务的实例类型,用这两种信息注册一项服务是最自然的。所以ASP.NET Core团队提供了ServiceDescriptor类型来提供对服务的描述功能。 1 public class ServiceDescriptor 2 { 3 /// <inheritdoc /> 4 public

ASP.NET Core MVC 源码学习:详解 Action 的激活

旧城冷巷雨未停 提交于 2019-12-27 05:24:33
前言 在 上一篇 文章中,我们已经知道了在 ASP.NET Core MVC 中如何发现一个 Action,那么在发现了Action之后,就是 Action 的一个调用过程,也就是整个 Action 执行的生命周期,那么本文我们就来一起看一下Action是怎么激活并且执行的吧。 Getting Started 还是从 MvcRouteHandler 的 RouteAsync() 开始说起,在上一篇的结尾中,我们已经拿到了 actionDescriptor 这个对象,接着,MVC 会把 actionDescriptor 和 routeData 已经 HttpContext 对象一起包装成为一个 ActionContext 上下文对象。 ActionContext: public class ActionContext { public ActionDescriptor ActionDescriptor {get; set;} public HttpContext HttpContext {get; set;} public ModelStateDictionary ModelState {get;} public RouteData RouteData {get; set;} } 在有了 ActionContext 之后,接下来就是创建 ControllerActionInvoker

随笔之XP下编译Webkit

痴心易碎 提交于 2019-12-27 03:35:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 终于下载并编译完成Webkit了。我是在32位XP下做的。下面是手顺 ======================= 1 前期工作 》1 安装VStudio 2005,我的是中文专业版,记住安装的时候尽量只安装Visual C++,否则后面会痛苦至死。 》2 安装SP1包,VS80sp1-KB926604-X86-CHS.exe。这个比装VS时间还要长。如果第1步选择全部安装的话,这一步需要花费2-3个小时。如果第一步只装VC的话 这一步大概就20分钟 》3 安装VS补丁,否则VS容易死掉。VS80sp1-KB947315-X86-CHS.exe。如果不装该补丁的话,就得禁止intellisense功能,就是删除 C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\feacp.dll库,这个库就是intellisense。或者改名吧。 》4 安装quicktimeSDK。从网上找,在Apple官网上下载,注意不要修改默认安装路径。 》5 安装DirectxSDK。从MS官方网上找。不过现在好像要检查你的系统是不是正版。网上也有破解方法。 》6 安装safari win32浏览器。 ======================== 2 下载源码 》1

JDK源码(17)-Compiler

旧巷老猫 提交于 2019-12-27 03:04:30
一、概述 Compiler这个类被用于支持Java到本地代码编译器和相关服务。在设计上,这个类啥也不做,他充当JIT编译器实现的占位符。 放JVM虚拟机首次启动时,他确定系统属性java.compiler是否存在(系统属性可以通过System类的getProperty(String)和getProperty(String,String)方法获取)。如果存在,就被认定为是库的名称(跟平台依赖相关的确切位置和类型);然后调System.loadLibrary来加载这个库。如果加载成功,函数在库中的名字Wiejava_lang_Compiler_start()。 如果编译器不可用,那么这些方法啥也不干。 二、源码解析 这又是一个native级别的类,所以属性和方法上均有native关键字。 类定义: public final class Compiler 有一个私有无参构造,不要使用它构造实例,即使通过反射。 //编译指定的类 public static native boolean compileClass(Class<?> clazz); //编译名称与指定字符串匹配的所有类 public static native boolean compileClasses(String string); //使编译器恢复运行 public static native void enable()