org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor以下所有源码均在此类中首先我们看下log4j2异步队列的初始化 从这里面我们可以看到,使用的是单例的线程池,这里请注意,这个线程池里定义的是后台线程 并且对于线程池的实现我们不可以自定义配置,是写死的,为什么要这样做呢?原因是为了保证日志的顺序性. 而在stop()方法也就是服务关闭的处理逻辑里,将循环条件设置为(队列不为空&&次数<200次),每次则将线程休眠…
gorm的日志模块源码解析 如何让gorm的日志按照我的格式进行输出 这个问题是<如何为gorm日志加traceId>之后,一个群里的朋友问我的.如何让gorm的sql日志不打印到控制台,而打印到自己的日志文件中去.正好我实现了这个功能,就记录一下,并且再把gorm的logger这个线捋一下. 首先我写了一个demo来实现设置我自己的Logger.其实非常简单,只要实现print方法就行了. package main import ( "fmt" "github.…
首先了解一下几个相关概念,以方便后面遇到的问题的解决: RSA算法:1977年由Ron Rivest.Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字.算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行因式分解却非常困难,因此可以把乘积公开作为公钥.该算法能够抵抗目前已知的所有密码攻击.RSA算法是一种非对称算法,算法需要一对密钥,使用其中一个加密,需要使用另外一个才能解密.我们在进行RSA加密通讯时,就把公钥放在客户端,私钥留在服务器. PE…
业务类接口在TCP,HTTP,BLL模式下的实例 设计模式混搭 附源码一份 WinForm酒店管理软件--框架这篇随笔可以说是我写的最被大家争议的随笔,一度是支持和反对是一样的多.大家对我做的这个行业的前景有很大的建议啊.虽然市场有困难,但好技术架构肯定是前提.事实也是,当你还是一个孩子准备和一群成年人竞争时,你可以被人轻易的暴力推到,可以被人家多年的经验轻松完虐,别人也会说“大人说话小孩子一边玩去”.这些都是过程,作为一位有准备的小孩会有心理准备的,今天准备把之前的架构中的使用策略实现业务类接…
原文地址: MacOS下IntelliJ IDEA关联JDK1.8源码 1 打开jdk设置,找到具体添加的地方 2 找到自己jdk的源码位置替换掉 3 如果没有源码或者源码没有下载解压,自己下载解压,Mac下安装的自带src.zip和javax-src.zip解压好后,再添加 4 自带的jdk的zip包里面没有1.8的sun包,自己可以到csdn或者其他第三方下载一个带sun包的源码重新关联,或者复制进src 5 查看效果,之后的源码都带注释了,jdk本身的注释…
最近园子里首页有好几篇文章都是讲异步编程的,尤其是几篇讲博客园自身的异步化建设的文章,看了以后很有收获. 闲暇之余再重新查查资料温故知新学习一遍,重新认识了SynchronizationContext.AspNetSynchronizationContext和ConfigureAwait. 最大的心得是,web异步化处理后,容易引发问题的一个重要方面就是请求上下文,也就是本文标题里的HttpContext.Current. 园子里fish-li写过一篇HttpContext.Current并不是…
今天我准备拿大众点评.美团.猫眼电影三款App的实例来分享一下APICloud下拉加载这个模块的效果. 美团App下拉加载效果   以美团中的下拉酷似动画的萌萌着小人儿效果作为参考,来实现的一个加载模块.这个效果实际是使用关键帧(即多张具有微小差别的图片)来完成完整的动画过程,此分享就拿这个小人儿作为实例分享给大家.基于这个效果大家可以在这之上再去做更复杂.更炫的效果,让你的应用更加的高炫拽. 按照APICloud官方对此模块的概述,所以这里我使用了 window + frame 的布局,如果你…
php日志模块设计 Monolog 是PHP的一个日志类库解析 整体介绍:monolog日志模块遵循 PSR3 的接口规范.主要有日志格式类接口(格式化日志信息),处理类接口(写日志的驱动,通过扩展写入不同地方),过程类接口(在有机组合,利于扩展和兼容. handler的level值决定其处理大于的等级日志,代码参考AbstractHandler里面的isHandling是否需要处理 public function isHandling(array $record) { return $reco…
转自http://www.zjmainstay.cn/lamp-config 本文记录了我自己配置LAMP的全过程,借此记录一下,同时希望能够帮助一下需要帮助的LINUX新人,跟我一起学习,一起进步. MySQL安装全过程 源码包来自:http://distfiles.macports.org/mysql5/ $cd ~/Download $wget http://distfiles.macports.org/mysql5/mysql-5.1.60.tar.gz $chmod +x mysql-…
在做项目时我们有时需要实现切换上一页下一页图片,切换上一首下一首歌曲等等类似的功能.这里写了个简单的实现源码(仅供参考),要是有更好的方法欢迎提出来,共同进步~ 以切换上一页下一页图片为例: using UnityEngine; using System.Collections; using UnityEngine.UI; public class PanoramaManager : MonoBehaviour { //图片存放数组 Texture2D[] arr; //下一张按钮计数索引 ;…
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新的稳定版是2.6.0)地址  http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz b) 下载apache-ant (centos自带的ant版本太低,编译过程中会报错)地址: http://mi…
1 打开jdk设置,找到具体添加的地方 2 找到自己jdk的源码位置替换掉 3 如果没有源码或者源码没有下载解压,自己下载解压,Mac下安装的自带src.zip和javax-src.zip解压好后,再添加 4 自带的jdk的zip包里面没有1.8的sun包,自己可以到csdn或者其他第三方下载一个带sun包的源码重新关联,或者复制进src 5 查看效果,之后的源码都带注释了,jdk本身的注释…
CountDownLoatch是JUC下一个用于控制计数的计数器,比如我需要从6开始计数,每个线成运行完之后计数减一,等计数器到0时候开始执行其他任务. public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(6); for (int i = 0; i < 6; i++) { new Thread(() -> {…
遍历List时抛ConcurrentModificationException异常原理分析     http://www.blogjava.net/houlinyan/archive/2008/04/01/189924.html…
这段时间一直在修改日志模块,现在基本上写好了,也把注释什么的都加上了,昨天邮件发送给mark的园友一直报失败,老是退回来,真是报歉,如下图所示:…
<?php /** * @desc 解析当前目录并递归删除目录下的指定文件 * @author mengdj<mengdj@outlook.com> 2014.10.02 1530 */ //定义脚本持续执行直到退出为止 set_time_limit(0); ignore_user_abort(true); $global_filter=array("html","css","php","htm","…
exFAT文件系统是微软的一个产品,设计让外置储存设备和PC之间实现无缝的TB级数据转移和数据交换,它只支持Windows和OS X,不支持Linux.作为一个含有大量专利的私有产品,没有人会预计它会整合进Linux内核.但三星公司为旗下的Android 设备开发了私有的exfat驱动,一位GitHub用户获得了三星的私有代码去除私有许可头文件,在GPL下发布了非官方版本exfat-nofuse,结果引发了一场争议.现在,在Software Freedom Conservancy的帮助下,三星在…
最近逐渐打算将工作的环境转移到ubuntu下,突然发现对于我来说,这ubuntu对于我这种上上网,收收邮件,写写博客,写写程序的时实在是太合适了,除了刚接触的时候会不怎么完全适应命令行及各种权限管理,apt-get命令相当的方便,各种原先在windows下各种奇怪错误在ubuntu下都没有出现了,好了,我就不说废话了,今天大致简单的介绍下python下的ORM  to Mysql 的操作(注意:一定要看官网的文档!) refer:http://docs.sqlalchemy.org/en/lat…
该过程一共分为四步: 1.下载内核:我下载的是3.13.11这个版本的内核! 2.解压内核:我将其解压/home/jello/Downloads/linux-3.13.11目录下!下文将会基于此目录编译内核. 3.开始为编译内核做准备: a.在terminal下面进入目录:cd /home/jello/Downloads/linux-3.13.11 c.配置内核:我没有改动以前的内核配置文件,直接将/boot/config-*.*.*文件(当前内核的配置文件)复制到linux-3.13.11目录…
编译所需软件地址 http://mysql.mirror.kangaroot.net/Downloads/  -- 下载需要的mysql版本例如mysql-5.5.39.tar.gz    目前还不太理解mysql那么多的安装包都是干嘛用的,先mark一下.下载的时候注意要下mysql-版本号.tar.gz的包.http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz 开始安装 1,安装cmake 1)下载Cmake [root@test1 so…
本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1071 本文实现在html5网页中使用下拉功能自动刷新显示更多内容, 使用jquery捕捉和处理相应的鼠标事件, 例如内容在顶部时,触发下拉事件后显示更多内容; 如内容在页面底部时,鼠标滚轮到最底部时处罚事件后显示更多内容, 详情下载实例后亲测一下 [实例内容] [实例功能] 1. indx_more1.html实现浏览器下拉自动刷新,显…
下面的内容是关于Android下实现一个简单的计算器的内容. import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.view.View.OnClickListener; public class Computer_Activity extends…
第一个方法是使用MFC里面的 <afxinet.h> CString GetHttpFileData(CString strUrl) { CInternetSession Session(); CHttpFile *pHttpFile = NULL; CString strData; CString strClip; pHttpFile = (CHttpFile*)Session.OpenURL(strUrl); while ( pHttpFile->ReadString(strClip…
1.Ruby的下载 Ruby可以在Ruby 官网上下载,如果想获取更多的Ruby版本,可以到淘宝镜像网站下载. 2.Ruby的编译源码安装 解压 首先把下载下来的源码压缩包解压到自己指定的目录 编译安装 进入解压后的目录,打开终端,执行以下命令 ./config是生成makefile,默认的路径是/usr/local,可以自行调用--prefix=PREFIX来配置安装路径.make是编译源代码,make install是Ruby安装.安装可以自行删除系统自带的Ruby以免对新安装的Ruby造成…
在写这篇博客之前我查了很久发现全网都没有一篇写httpserver源码解析的 所以今天就由我来为大家解析一下httpserver的源码.(这里我会去掉其中的https部分的源码,只讲http部分,对httpserver中https的实现感兴趣的读者可以尝试自己去阅读,这部分并不复杂) 第一次在没有参考资料的情况下写这么长一篇源码解析,可能会有很多错误和讲不清楚的地方,希望大家尽量指出来. 本文链接 https://www.cnblogs.com/fatmanhappycode/p/1261442…
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/28/hbase-batch-put-performance-analysis-of-single-column-and-multiple-columns.html 针对HBase在单column family单column qualifier和单column family多column qualifier两种…
运行环境为: Windows Server2012 Oracle11g  32位数据库+客户端 IIS发布后提示错误信息: “尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题” 解决办法: 原因分析就是因为我的程序运行为64位模式,而数据库访问和Oracle客户端是32位.需要把这两个版本一致就可以. 第一种解决办法: 既然程序运行模式为64位,则把Oracle客户端安…
  为了让我们第一时间知道程序的运行状态,Asp.Net Core 添加了默认的日志输出服务.这看起来并没有什么问题,对于开发人员也相当友好,但如果不了解日志输出的细节,也有可能因为错误的日志级别配置导致性能问题,笔者的同事在一次进行性能测试的时候被输出日志误导,与其讨论分析了测试源码,排除业务代码因素,后来联想到应该是由于默认的日志输出导致(默认的日志级别 Microsoft 是 Inforamtion),随后将日志级别调高,性能立即飙升,问题解决.   虽然问题得到解决,但笔者脑中的对于到底…
本文出处:http://www.cnblogs.com/wy123/p/6646143.html SQLServer中开启CDC之后,在某些情况下会导致事务日志空间被占满的现象为:在执行增删改语句(产生事务日志)的过程中提示,The transaction log for database '***' is full due to 'REPLICATION'(数据库“***”的事务日志已满,原因为“REPLICATION”). CDC以及复制的基本原理粗略地讲,对于日志的使用步骤如下: 1,每当…
Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园  作者:wuli潇萧 [字体:大 中 小]     (一)Linux下软件的源码编译安装和卸载方法 Linux下正常的编译安装/卸载 源码的安装一般由3个步骤组成: 配置(configure) 编译(make)          #编译产生的所有文件仅仅在当前目录下,可以查看MakeFile文件查看编译内容 安装(make install).    #执行MakeFile的INSTALL方法 con…