Welcome 微信登录

首页 / 操作系统 / Linux

Log4j容器初始化探究

Log4j容器初始化探究

Log4j容器初始化探究Log4j第一步就是初始化Logger容器Repository,这一章我们来探究Logger容器,从别从独立应用以及servlet容器下启动初始化两方面探究。1 独立应用静态初始化,java语言保证静态初始化只被执行一次,静态初始化源码在LogManager中。时序图:初始化流程:第一步: LogManager获取配置文件的URL第二步: OptionConverter获取Configurator实现类(配置类)第三步: Confi...
Android活动的生命周期

Android活动的生命周期

掌握活动的生命周期对任何Android开发者来说都非常重要,Android中的活动是可以层叠的,我们每启动一个洗的活动,就会覆盖在原活动之上,然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Task),栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,他会在返回栈中入栈,并处于栈顶位置,而每...
Linux 服务器模型小结

Linux 服务器模型小结

当我们用socket进行编程的时候,细节上都是选择一个AF_LOCAL,AF_INET再根据相应的类型填充地址,其实根据通信需求,有几种简单的服务模型可供选用,掌握了这些框架再结合socket高度的抽象,可以为我们编写简单的服务器程序提供指导循环服务用户请求服务需要排队,服务器一次只能服务一个客户,服务完才能对下一个客户进行服务。ATM机就是这个1vs1模型。udp服务器也经常使用这个模型//模型伪代码main{//获得侦听文件描述符listenfd=so...
Java并发编程之CAS

Java并发编程之CAS

CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让我们跟深入的了解一下这项技术。CAS的使用场景在程序和算法中一个经常出现的模式就是“check and act”模式。先检查后操作模式发生在代码中首先检查一...
OpenCV调用摄像头录像并保存下来

OpenCV调用摄像头录像并保存下来

网上很多都说录制了之后视频文件为0k,或者是打不开。其实,这个原因主要与2方面有关: 1. OpenCV生成的视频的编码格式有关。 2. 非法退出录取有关(我用200次循环解决。或者可以用Timer。或者用其他键处理)我个人推荐的解决方法如下:1.下载一个XviD编码器并安装。2.用以下代码进行测试:#include "cv.h"#include "cxcore.h"#include "highgui.h"#include <iostream&g...
OpenCV实现人脸检测例程

OpenCV实现人脸检测例程

前段时间看的OpenCV,其实有很多的例子程序,参考代码值得我们学习,对图像特征提取三大法宝:HOG特征,LBP特征,Haar特征有一定了解后。对本文中的例子程序刚开始没有调通,今晚上调通了,试了试效果还可以,还需要深入理解。值得大家动手试试,还是很有成就感的,虽然是现成的例子.......环境:OpenCV3.1+VS2013+WIN10/*!* file Capture.cpp** author ranjiewen* date 十一月 2016*htt...
Linux tcp传输黏包解决方案

Linux tcp传输黏包解决方案

tcp/ip协议使用"流式"(套接字)进行数据的传输,就是说它保证数据的可达以及数据抵达的顺序,但并不保证数据是否在你接收的时候就到达,特别是为了提高效率,充分利用带宽,底层会使用缓存技术,具体的说就是使用Nagle算法将小的数据包放到一起发送,但是这样也带来一个使用上的问题——黏包,黏包就是说一次将多个数据包发送出去,导致接收方不能进行正常的解析,示意图如下:发生黏包一般有两种原因,一种是发送方进行了不该缓冲的缓冲,比如上图中,收...
C# Lambda表达式详解

C# Lambda表达式详解

概要今天我想给大家说道说道 C# lambda表达式,不废话,下面开始说道!lambdalambda是什么,它不是是什么,它只是一个语法糖,看着简单明了,写起来简单,对于开发人员可读性好,还有就是省劲儿!重点来了:lambda就是委托的实现方法的简单写法切记,切记,只要记住这句话,所有lambda表达式都好理解!什么不理解,不理解啊很正常,咱们看的例子就一下明白了。using System;using System.Collections.Generic;...
线程与内存交互操作

线程与内存交互操作

线程与内存交互操作 所有的变量(实例字段,静态字段,构成数组对象的 元素,不包括局部变量和方法参数)都存储在主内存中,每个线程有自己的工作内存,线程的工作内存保存被线程使用到变量的主内存副本拷贝。线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存的变量。不同线程之间也不能直接访问对方工作内存中的变量,线程间变量值的传递通过主内存来完成。Java内存模型定义了八种操作lock(锁定):作用于主内存的变量,它把一个变量标识为一个线程独占的状...
Spring源码解析——Spring源码导入Eclipse

Spring源码解析——Spring源码导入Eclipse

一.前言 众所周知,spring的强大之处。几乎所有的企业级开发中,都使用了spring了。在日常的开发中,我们是否只知道spring的配置,以及简单的使用场景。对其实现的代码没有进行深入的了解。开卷有益,在我们空闲的时间里面阅读一下spring的源码,对提升我们的自身能力还是还有很大的帮忙。下面总结一下spring源码导入eclipse的具体的操作。二.spring的特点 spring的的核心就是IOC(控制反转)和AOP(基于切面的编程) 事务管理方...
Java中采用Dom4j解析XML文件

Java中采用Dom4j解析XML文件

一.前言在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式;但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4j解析xml的具体操作。二.代码详情dom4j是一个第三方开发组开发出的插件,所以在我们使用dom4jf的时候我们要去下载一下dom4j对应版本的jar导入在我们项目中。1)xml文件:<?xml version="1.0" encoding="UTF-8...
Java集合类型详解

Java集合类型详解

一.前言 作为Java面试的常客【集合类型】是永恒的话题;在开发中,主要了解具体的使用,没有太多的去关注具体的理论说明,掌握那几种常用的集合类型貌似也就够使用了;导致这一些集合类型的理论有可能经常的忘记,下面就对集合类型进行详细的介绍。二.集合树继承图解 集合类型主要有3种:set(集)、list(列表)和map(映射)。Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collecti...
ARM汇编与C混合编程

ARM汇编与C混合编程

GNU内联汇编内联汇编即在C中直接使用汇编语句进行编程,使程序可以在C程序中实现C语言不能完成的一些工作,例如,在下面几种情况中必须使用内联汇编或嵌入型汇编程序中使用饱和算术运算(Saturating Arithmetic)程序需要对协处理器进行操作在C程序中完成对程序状态寄存器的操作__asm__ __volatile__("asm code":output:input:changed registers);Note:使用__asm__和__volati...
<< 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 >>