编程技术

log4j日志异步化大幅提升系统性能

经过大型J2EE项目实测,Log4j的日志输出对系统性能有比较显著的影响,尤其是日志输入量比较大时,例如:系统并发量很大,显示Hibernate的sql和参数日志,或日志级别较低DEBUG或INFO时等。使用AsyncLogger控制日志输出可以显著改善系统性能。1)测试用例:同步文件日志输出测试功能:模块管理功能,输出HibernateSQL和参数,输出到文件,配置如下:

系统 2019-08-12 09:30:18 2337

Python

Python调用C语言的实现

Python中的ctypes模块可能是Python调用C方法中最简单的一种。ctypes模块提供了和C语言兼容的数据类型和函数来加载dll文件,因此在调用时不需对源文件做任何的修改。也正是如此奠定了这种方法的简单性。示例如下实现两数求和的C代码,保存为add.c//sampleCfiletoadd2numbers-intandfloats#includeintadd_int(int,int);floatadd_float(float,float);inta

系统 2019-09-27 17:56:20 2336

Python

python初学者该如何解决pygame.error: video

按照其他博客,码了最简单的游戏(贪吃蛇),出现bug,pygame.error:videosystemnotinitialized,无法解决,pygame.init()也多次调用,无法解决,先放在博客上,等会用了再来解决,使用的工具是pucharmimportpygame,sys,random,timefrompygame.localsimport*#定义颜色变量0=黑色255=白色redColor=pygame.Color(255,0,0)blackCo

系统 2019-09-27 17:55:09 2336

Python

python3文件复制、延迟文件复制任务的实现方法

使用python版本3.6.1工作中测试客户端传输报文速率,写了以下两个脚本。第一个,简单的复制文件并重命名。第二个,在循环中增加延时的功能。使用场景将文件复制并重命名(重命名方式在文件末尾加生成的随机数)#!/usr/bin/python3#coding=GB2312importosimportos.pathimportrandomimportshutilcount=0#源文件夹src="E:\\file\\CEB411Message__20171115

系统 2019-09-27 17:54:36 2336

Python

Python从小白到攻城狮(1)——python环境搭建

Python介绍Python是GuidovanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,1991年发布第一版。Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python是交

系统 2019-09-27 17:53:10 2336

Python

python爬虫(入门教程、视频教程) 原创

python的版本经过了python2.x和python3.x等版本,无论哪种版本,关于python爬虫相关的知识是融会贯通的,脚本之家关于爬虫这个方便整理过很多有价值的教程,小编通过本文章给大家做一个关于python爬虫相关知识的总结,以下就是全部内容:python爬虫的基础概述1.什么是爬虫网络爬虫,即WebSpider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从

系统 2019-09-27 17:52:41 2336

Python

Python魔术方法详解

介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"magic"的特殊方法。他们总是被双下划线所包围(e.g.__init__或者__lt__)。然而他们的文档却远没有提供应该有的内容。Python中所有的魔术方法均在Python官方文档中有相应描述,但是对于他们的描述比较混乱而且组织比较松散。很难找到有一个例子(也许他们原本打算的很好,在开始语言参考中有描述很详细,然而随之而来

系统 2019-09-27 17:52:15 2336

Python

Python编写屏幕截图程序方法

正在编写的程序用的很多Windows下的操作,查了很多资料。看到剪切板的操作时,想起以前想要做的一个小程序,当时也没做,现在正好顺手写完。功能:按printscreen键进行截图的时候,数据保存在剪切板里面,很不方便。比如游戏的时候截一个瞬间的图片,但你不能退出游戏保存图片,不方便多次截图。而我也不喜欢安装各种软件,所以准备写这个工具。思路:一个是自定义快捷键,截图,保存。考虑到很可能各种冲突,取消。然后还是用按printscreen来截图,然后从剪切板读

系统 2019-09-27 17:52:09 2336

Python

Python爬取妹子图

爬虫成果当你运行代码后,文件夹就会越来越多,如果爬完的话会有2000多个文件夹,20000多张图片。不过会很耗时间,可以在最后的代码设置爬取页码范围。本文目标熟悉Requests库,BeautifulSoup库熟悉多线程爬取送福利,妹子图网站结构我们从http://meizitu.com/a/more_1.html这个链接进去,界面如图一所示图一:可以看到是一组一组的套图,点击任何一组图片会进入到详情界面,如图二所示图二:可以看到图片是依次排开的,一般会有

系统 2019-09-27 17:51:31 2336

Python

Python3.6 openCV3.4.3车牌自动识别

算法思想来自于网上资源,先使用图像边缘和车牌颜色定位车牌,再识别字符。车牌定位在predict方法中,为说明清楚,完成代码和测试后,加了很多注释,请参看源码。车牌字符识别也在predict方法中,请参看源码中的注释,需要说明的是,车牌字符识别使用的算法是opencv的SVM,opencv的SVM使用代码来自于opencv附带的sample,StatModel类和SVM类都是sample中的代码。SVM训练使用的训练样本来自于github上的EasyPR的c

系统 2019-09-27 17:51:17 2336

Python

python中执行shell命令的几个方法小结

(现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里https://www.cbedai.net/ialexanderi可以跳转到教程。)最近有个需求就是页面上执行shell命令,第一想到的就是os.system,os.system('cat/proc/cpuinfo')但是发现页面上打印的命令执行结果0或者1,当然不满足需

系统 2019-09-27 17:50:55 2336

Python

Python,pandas中DataFrame的选取总结

pandas中选取方式有很多种,最常用的是一下几种:直接选取(单维度选取)、iloc();loc();ix()函数选取(区域选区),at();iat()函数选取(单元格选取)。通过以上几种方式可以实现:选取某些行、某些列、某区域(同时选择某些行和某些列)、某个单元格,还可以进行条件选区。具体实现方法如下。首先创建一个DataFrame.importpandasaspdimportnumpyasnpdata={'name':['Joe','Mike','Ja

系统 2019-09-27 17:49:56 2336

Python

实例讲解Python中的私有属性

在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子:复制代码代码如下:#!encoding=UTF-8classA:def__init__(self):#定义私有属性self.__name="wangwu"#普通属性定义self.age=19a=A()#正常输出printa.age#提示找不到属性printa.__name执行输出:复制代码代码如下:Traceback(mostrecentcalllast):File"C:\Use

系统 2019-09-27 17:47:46 2336

Python

Python爬虫入门【1】: CentOS环境安装

简介你好,当你打开这个文档的时候,我知道,你想要的是什么!Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套课程,没有你想要的Python基础,没有变量,循环,数组等基础知识,因为我不想在那些你可以直接快速学会的地方,去浪费你的时间。好了,这套课程是基于Python3.0以上写的,操作系统我使用的是CentOS7+所以里面的好多内容可能和你的不一样,当然也会导致许多问题

系统 2019-09-27 17:45:42 2336

编程技术

堆栈与函数调用

作者xgywinner日期2009-3-1811:44:001)在栈上创建。在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,一般使用寄存器来存取,效率很高,但是分配的内存容量有限。2)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete来释放内存。动态内存的生存期由程序员自己决定,使用非常灵活。3)

系统 2019-08-29 23:33:28 2336