Hibernate是笔者使用了超过5年的优秀ORM框架,虽然说使用了5年,但笔者并没有把握说自己真正意义上的精通Hibernate。说道熟悉Hibernate还差不多,因为Hibernate用法和特性只要使用过或许都很简单,但是要做到发挥Hibernate最大限度的潜力,Hibernate优化,或者说Hibernate性能优化笔者仅仅是初窥门径而已。这里摘录一篇牛人对于Hibernate优化的文章,希望对自己以后的使用指引下方向吧。这篇是上一篇的续作,着实
系统 2019-08-29 23:06:49 2061
ejb中的3种bean:什么是会话bean?编写第一个ejb3的会话bean:步骤:1.ejb企业级开发是面向接口编程的,我们完成第一个HelloWorld的例子,首先写接口,也就是远程接口(服务器端)packagecn.com.xinli.ejb3;publicinterfaceHelloWorld{publicStringsayHello(Stringname);}2.在写接口的实现类(服务器端)packagecn.com.xinli.ejb3.imp
系统 2019-08-29 21:59:26 2061
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。本文简单分析zookeeper的工作原
系统 2019-08-12 09:27:35 2061
前言在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。0x00可迭代(Iterable)简单的说,一个对象(在Python里面一切都是对象)只要实现了只要实现了__iter__()方法,那么用isinstance()函数检查就是Iterable对象;例如classIterObj:def__iter__(self):#这里
系统 2019-09-27 17:56:54 2060
戳这里~小结Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(1,2,3),又可以先组装list或tuple,再通过*args传
系统 2019-09-27 17:54:27 2060
项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包如果是web下,比如说django,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了如果是本地代码,可以有几种方式,1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录folder------toinvoke.py------tobeinvoded.py这样在toinvoke.py中引入i
系统 2019-09-27 17:54:22 2060
前言最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧。示例代码:#-*-coding:utf-8-*-'''获取当前日期前后N天或N月的日期'''fromtimeimportstrftime,localtimefromdatetimeimporttimedelta,dateimportcalendaryear=strftime("%Y",localtime())mon
系统 2019-09-27 17:54:18 2060
利用python库random,string生成大小写字母和数字的随机验证码importrandomimportstringdefgenerate_code(bit_num):''':parambit_num:生成验证码位数:return:返回生成的验证码'''all_str=string.printable.split('!')[0]code=''.join([random.choice(all_str)foriinrange(bit_num)])ret
系统 2019-09-27 17:54:02 2060
本函数可以使用参数real+imag*j方式创建一个复数。也可以转换一个字符串的数字为复数;或者转换一个数字为复数。如果第一个参数是字符串,第二个参数不用填写,会解释这个字符串且返回复数;不过,第二个参数不能输入字符串方式,否则会出错。real和imag参数可以输入数字,如果imag参数没有输入,默认它就是零值,这个函数就相当于int()或float()的功能。如果real和imag参数都输入零,这个函数就返回0j。有了这个函数,就可以很方便地把一个列表转
系统 2019-09-27 17:53:57 2060
代码如下fromfake_useragentimportUserAgentfromlxmlimportetreeimportrequests,osimporttime,re,datetimeimportbase64,json,pymysqlfromfontTools.ttLibimportTTFontua=UserAgent()classCustomException(Exception):def__init__(self,status,msg):self
系统 2019-09-27 17:53:51 2060