2021 01-26

多媒体开发(7):编译Android与iOS平台的FFmpeg

编译FFmpeg,一个古老的话题,但我还是介绍一遍,就当记录。之前介绍怎么给视频添加水印时,就已经提到FFmpeg的编译,并且在编译时指定了滤镜的功能。 但是,在手机盛行的时代,你可能更需要的是能在iOS或Android平台上运行的FFmpeg,而对于命令行的ffmpeg,你可以在个人电脑上面使用(因为它简洁易操作),也可以在服务程序中使用(安装FFmpeg后直接调用ffmpeg命令),比如小程经常在自己的mac机上使用ffmpeg命令。 本文介绍怎样编译出iOS或Android平台使用的FFm

2021 01-26

【Android初级】使用setContentView实现页面的转换效果(附源码)

一提到Android中页面的切换,你是不是只想到了startActivity启动另一个Activity?其实在Android中,可以直接利用setContentView达到类似页面转换效果的!实现思路如下: 在第一个Activity的布局中添加一个Button,实现点击事件 点击该Button,调用setContentView,传入第二个页面的Layout,第二个页面就显示出来了 第二个页面的布局中仍然有一个Button,仍然实现其点击事件 点击该Button,调用setContentView

2021 01-26

ES6在工作中会用到的核心知识点讲解

一、var,let,const 谈到ES6,估计大家首先肯定会想到var,let,const咱就先谈谈这三者的区别 vara=3; { vara=4; } console.log(a);//4 letb=5; { letb=6; } console.log(b);//5 constc=7; { constc=8; } console.log(c);//7 c=9;//报错UncaughtTypeError:Assignmenttoconstantvariable. 很简单吧,var声明的变

2021 01-26

图像分类学习:X光胸片诊断识别----迁移学习

引言   刚进入人工智能实验室,不知道是在学习机器学习还是深度学习,想来他俩可能是一个东西,查阅之后才知道这是两个领域,或许也有些交叉,毕竟我也刚接触,不甚了解。  在我还是个纯度小白之时,写下这篇文章,希望后来同现在的我一样,刚刚涉足此领域的同学能够在这,跨越时空,在小白与小白的交流中得到些许帮助。 开始   在只会一些python语法,其他啥都没有,第一周老师讲了一些机器学习和深度学习的了解性内容,就给了一个实验,让我们一周内弄懂并跑出来,其实老师的代码已经完成了,我们可以直接放进Pycha

2021 01-26

TCP/IP协议栈在Linux内核中的运行时序分析

TCP/IP协议栈在Linux内核中的运行时序分析 1.网络体系结构模型 1.1.OSI七层模型   OSI模型是由国际化标准组织ISO提出的网络体系结构模型。被称为开放系统互联参考模型。OSI模型总共有7层。自上而下依次为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。七层模型结构清晰。共同完成数据的传输和处理工作。   在OSI模型中,各层的功能大致如下:   应用层为特定类型的网络应用提供访问OSI环境的手段。   表示层主要处理在两个通信系统中交换信息的表示方式。   会话层

2021 01-26

Mysql 中写操作时保驾护航的三兄弟!

这期的文章主要是讲述写操作过程中涉及到的三个日志文件,看过前几期的话可能你或多或少已经有些了解了(或者从别的地方也了解过)。比如整个写操作过程中用到的两阶段提交,又或者是操作过程中涉及到的日志文件,但是总体来说不是很系统更谈不上全面。 今天我们就来会会这三兄弟。 图注:思维导图 两阶段提交 这个名词你应该听到过很多次了,在这里再介绍下这位老朋友。 所谓的两阶段提交,从字面意思来看应该是有两个步骤来进行约束的。事实上也是如此。这两个步骤中的主角就是我们今天要讲的重要角色中的两位:binlog和r

2021 01-26

如何处理线程死锁

在上一篇文章中,我们用Account.class作为互斥锁,来解决银行间的转账问题,虽然这个方案不存在并发问题,但是所有的账户的转账都是串行的,例如账户A转账户B、账户C转账户D这两个转账操作现实世界里是可以并行的,但是在这个方案里却被串行化了,这样的话,性能太差。 那下面我们就尝试着把性能提升一下。 1.从现实世界寻找答案 现实世界里,账户转账操作是支持并发的,而且绝对是真正的并发。我们先试想一下古代,账户的存在形式就是一个账本,而且每个账户都有一个账本,统一放在文件架上,在做转账时,去文件架

2021 01-26

Java并发编程常识

这是why的第85篇原创文章 写中间件经常要做两件事: 1.延迟加载,在内存缓存已加载项。 2.统计调用次数,拦截并发量。 就这么个小功能,团队里的人十有八九写错。 上面这句话不是我说的,是梁飞在他的博客里面说的。 梁飞是谁? 据网上的公开资料,梁飞,花名虚极。 2009年加入阿里巴巴,负责中间件的开发,Dubbo开源分布式服务框架作者,HTTL开源模板引擎作者。 2012年加入天猫,负责手机天猫APP的技术团队,见证了天猫双11无线化全过程。 热衷参与开源社

2021 01-26

Java 概述

1.什么是Java 什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码,以及一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。 2.jdk1.5之后的三大版本 jd

2021 01-26

.NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)

在前两篇: .NETCore部署到linux(CentOS)最全解决方案,常规篇 .NETCore部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对.netcore部署到linux有了一个充分的了解,已经可以满足应用要求了,这篇文章我们继续深入带你了解使用Doker+jexus或Nginx来部署.netcore应用。 1、使用Jexus作为web服务器 Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关服务器,以支持ASP.NET、