在Java中打印当前线程的方法栈,可以用kill-3命令向JVM发送一个OS信号,JVM捕捉以后会自动dump出来;当然,也可以直接使用jstack工具完成,这些方法好几年前我在这篇性能分析的文章中介绍过。这样的需求可以说很常见,比如定位死锁,定位一个不工作的线程到底卡在哪里,或者定位为什么CPU居高不下等等问题。现在工作中我用的是Python,需要线上问题定位的缘故,也有了类似的需求――想要知道当前的Python进程“在干什么”。但是没有了JVM的加持,
系统 2019-09-27 17:46:00 2275
在平时的工程中,我们在构建工程时,常常需要用到配置文件,用来配置项目的一些信息,比如数据库,请求网址,文件夹,线程、进程数等信息,这样就可以方便我们通过修改配置文件中的参数来很好地完成整个项目的功能修改或开发。配置文件一般区别于Python代码,会单独存放在一个文件夹中,方便管理,常见的配置文件格式有.conf,.ini,.yaml等。本文使用Python中的configparser模块来处理conf、ini配置文件。首先需要安装configparser模
系统 2019-09-27 17:45:29 2275
实例如下:#!/usr/bin/python#-*-coding:utf-8-*-importrandomclassCDispatch:def__init__(self,sum,count):self.sum=sumself.count=count#print'initheresum=',sum,',count=',countdef__del__(self):pass#print'rundeltheclass'defgetListInfo(self):li
系统 2019-09-27 17:45:27 2275
解析树完成树的实现之后,现在我们来看一个例子,告诉你怎么样利用树去解决一些实际问题。在这个章节,我们来研究解析树。解析树常常用于真实世界的结构表示,例如句子或数学表达式。图1:一个简单句的解析树图1显示了一个简单句的层级结构。将一个句子表示为一个树,能使我们通过利用子树来处理句子中的每个独立的结构。图2:((7+3)*(5−2))的解析树如图2所示,我们能将一个类似于((7+3)*(5−2))的数学表达式表示出一个解析树。我们已经研究过全括号表达式,那么我
系统 2019-09-27 17:38:25 2275
在python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。eg:复制代码代码如下:importsysprint('================Pythonimportmode==============
系统 2019-09-27 17:37:55 2275
背景最近在写一个测试工具箱,里面有一个bug记录系统,因为后台我是用Django和MongoDB来实现的,就遇到了一个问题,要如何实现一个自增的字段。传统的关系型数据库要实现起来是非常容易,只要直接设置一个自增字段就行了,插入数据时不用管这个键值,只管自己处理的数据就行了,会自动实现自增的功能,但是非关系型数据库好像没有这个功能(或者我不知道)。百度之后发现都是MongoDB的设置方法,并不是我想要的。解决思路百度没有找到好的思路,那就只能自己解决了,我的
系统 2019-09-27 17:37:37 2275
1去重2满足一定条件的筛选
系统 2019-08-29 23:52:28 2275
本文为本人另一个账号jason_yes上的文章,那个账号不要了,乾坤大挪移过来。消息对话框msgbox函数。它不接受用户的任何输入,在用户单击OK按钮后,对话框自动关闭,然后返回程序中继续执行。>>msgbox('欢迎使用MATLAB')%建立一个没有标题的消息对话框>>msgbox('欢迎使用MATLAB','MATALB','warn')%%建立一个有标题的消息对话框错误对话框errordlg函数。>>errordlg%建立一个默认参数的错误对话框>>
系统 2019-08-29 23:43:20 2275
在服务器端使用脚本语言是ASP的特色,那么什么是脚本语言呢?它和HTML和编程语言又有什么不同呢?脚本语言介于HTML和Java,C++以及VisualBasic等编程语言之间。HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。脚本语言介于两者之间但它的函数与编程语言更为相象一些。它与编程语言之间最大的区别是后者的语法和规则更为严格和复杂一些。在服务器端使用脚本语言,需要在服务器端安装脚本引擎。脚本引擎是用于处理脚本的COM(
系统 2019-08-29 23:01:58 2275
linux服务器上的11种tcp状态说明:通常情况下:一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手里面的几个概念:SYN:(同步序列编号,SynchronizeSequenceNumbers)ACK:(确认编号,AcknowledgementNumber)FIN:(结束标志,FINish)TCP三次握手(创建OPEN)客户端发起一个和服务创建TCP链接的请求,这里是SYN(J)服务端接受到客户端的创建请求后,返
系统 2019-08-29 23:00:17 2275