函数重载函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数。这些同名函数的形参列表(参数个数或类型或类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。1、参数类型不同#includeusingnamespacestd;intAdd(intleft,intright){cout<<"intAdd(intleft,intright)"<
kotlin的密封类
消失的旧时光-1943
kotlin学习kotlin开发语言android
引言密封类是一种特殊的类,它用来表示受限的类继承结构,即一个类只能有有限的几种子类,而不能有任何其他类型的子类。这不就是JAVA的枚举么。概念密封类使用sealed关键字声明,在Kotlin1.0中,密封类的所有子类必须嵌套在密封类内部;在Kotlin1.1中,这个限制放宽了,允许将子类定义在同一个文件中;在Kotlin1.5中,这个限制进一步放宽了,允许将子类定义在任何地方,只要保证子类可见性不
【Java程序员面试专栏 数据结构】五 高频面试算法题:二叉树
存在morning
Java程序员技术栈#二叉树java面试算法
一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是二叉树相关汇总的高频题目总的来说,前序遍历是自上而下调整或比较节点,中序遍历用来对节点排序,后序遍历是自下而上的寻找或求最值供上层决策,这里的上下指的是树的层高题目关键字解题思路时间空间二叉树的前序遍历DFS-前序遍历按照根左右的顺序进行递归,补充迭代思路,依赖辅助栈O(n)O(n)二叉树的中序遍历DFS-中
自学网络安全,一般人我劝你还是算了吧_白银安卓开发
2401_84281629
程序员web安全android安全
whois信息用来查询域名信息,shodan、zoomeye、fofa等网络空间搜索引擎检索IP、域名、URL等背后的信息,GoogleHacking利用搜索引擎来检索网站内部信息,这些东西都是在网络信息搜集中经常用到的技能。暴力破解在网络攻击中,当扫描到目标开放的服务后,最直接的就是想要登录进去。常见的服务有SSH、RDP、MySQL、Redis、Web表单等等。这个时候,暴力破解通常会派上用场
深入MapReduce——从MRv1到Yarn
黄雪超
大数据基础#深入MapReducemapreduce大数据hadoop
引入我们前面篇章有提到,和MapReduce的论文不太一样。在Hadoop1.0实现里,每一个MapReduce的任务并没有一个独立的master进程,而是直接让调度系统承担了所有的worker的master的角色,这就是Hadoop1.0里的JobTracker。在Hadoop1.0里,MapReduce论文里面的worker就是TaskTracker,用来执行map和reduce的任务。而分配
公司的税收日期的确定(OBCK)
SAP小V
S4HANAFinanceSAPS4HANAFinanceFICO财务
本文主要介绍在S4HANAOP中S4HANA公司的税收日期的确定(OBCK)相关设置。具体请参照如下内容:如果税率是基于日期的,那么以上配置点用来确定基于什么日期来确定最终使用的税率。如果勾选,则代表以“凭证日期”作为税率确定的日期如果不勾选,则代表以“过账日期”为税率确定的日期
linux-centos安装Mysql5.7
就一个码农
linuxcentosadb
文章目录一、下载包和前期配置1.下载外部商店wget2.下载mysql的yum仓库文件包3.用来检查依赖关系;并不是真正的安装4.测试是否有MySQL包5.配置MySQLGPG密钥6.安装MySql二、MySql服务相关1.开机自启动mysql2.开启mysql服务3.关闭mysql服务4.查看mysql服务状态5.重启mysql服务三.密码配置1.默认密码2.进行登录3.密码修改注意1.开启33
WAF相关知识及安全狗的部署和绕过_安全狗waf拦截规则
2401_86951318
安全网络
2)工具检测二:安全狗使用指南(一)安全狗的下载(二)安全狗的安装(三)安全狗绕过一:WAF基础知识(一)WAF简介WAF即Web应用程序防火墙通过过滤和监视Web应用程序与Internet之间的HTTP通信来帮助保护Web应用程序,WebApplicationFirewall(WEB应用防护系统)。WAF与传统的Firewall(防火墙)不同,WAF针对的是应用层。WAF可以用来屏蔽常见的网站漏
def __init__(self)是什么意思_通俗的告诉你Python中 init_ 到底是什么含义?
cjz0422
python
Python是面向对象的编程语言,因此我从Class、Instance以及属性(property/attribute)的角度出发解释。_init_根据其英文意思(initialize),用来初始化一个类(class)的新成员(instance),它是一个constructor.当新成员被创建时,这个方程会自动被调用。举个栗子1,使用_init_方程我们创建了一个叫做“人类”(Person)的类别,
【性能调优】高性能实践
Forest 森林
性能调优性能优化
缓存思想性能优化,缓存为王,所以开始先介绍一下缓存。缓存在我们的架构设计中无处不在,常规请求是浏览器发起请求,请求服务端服务,服务端服务再查询数据库中的数据,每次读取数据都至少需要两次网络I/O,性能会差一些,我们可以在整个流程中增加缓存来提升性能。异步化处理例如Redis的bgsave,bgrewriteof就是分别用来异步保存RDB跟AOF文件的命令,bgsave执行后会立刻返回成功,主线程f
【练习】PAT 乙 1024 科学计数法
柠石榴
PAT题解输入输出c++开发语言字符串
题目科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[±][1-9]”.”[0-9]+E[±][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式每个输入包含1个测试用例,即一个以科学计数法表示的实数A。该数字的
从零推导线性回归:最小二乘法与梯度下降的数学原理
Echo-Nie
机器学习机器学习线性回归人工智能梯度下降数学推导
欢迎来到我的主页:【Echo-Nie】本篇文章收录于专栏【机器学习】本文所有内容相关代码都可在以下仓库中找到:Github-MachineLearning1线性回归1.1什么是线性回归线性回归是一种用来预测和分析数据之间关系的工具。它的核心思想是找到一条直线(或者一个平面),让这条直线尽可能地“拟合”已有的数据点,通过这条直线,我们可以预测新的数据。eg:假设你想预测房价,你知道房子的大小(面积)
redis分布式锁与redsync库源码分析
阿鹏哥哥01
golang学习专题redis分布式锁redis分布式
redsync是redis官方推荐的go版本分布式锁实现,标准的官方redlock算法实现,阅读了下源码并顺便复习一下redis分布式锁原理。一.redlock算法单点场景首先来看单redis实例的场景,这是集群模式的基础。这种场景下实现分布式锁比较简单加锁各节点通过setkeyvaluenxex即可,如果set执行成功,则表明加锁成功,否则失败,其中value为随机串,用来判断是否是当前应用实例
Linux 自旋锁
不悔哥
linux网络tcp/ipc语言智能路由器
当内核发生访问资源冲突的时候,可以有两种锁解决方案:1.原地等待2.挂起当前进程,调度其它进程执行spinklock是内核中提供的一种比较常见的锁机制,自旋锁是“原地等待”的方式解决资源冲突的,即,一个线城获取看一个自旋锁后,另外一个线程期望获取该自旋锁,获取不到,只能够原地“打转”(忙等待)。由于自旋锁的这个忙等待的特性,注定了它的使用场景的限制-------自旋锁不应该被长时间的持有(消耗CP
服务器中的流量主要是指什么?
wanhengidc
服务器运维流量
服务器流量就是指服务器在单位时间内所传输的数据量,服务器流量在互联网中起着十分重要的作用,一般会被用来处理网站的访问请求,当用户在网站中浏览网页和视频时,服务器会接收到用户的请求,同时会返回网站的内容。服务器流量能够决定服务器可以处理的用户访问量和反应速度,服务器中的高流量则表示着可以同时处理多种用户请求,还可以保证网站正常运行和响应用户请求。服务器流量也是评估服务器性能的重要参考指标之一,管理员
Ts extends 泛型约束
TA_WORLD
TypeScriptTstypescriptextends泛型约束
extends泛型约束我们一般使用extends来继承接口或者类,但是extends还可以用来泛型约束functiongetCnames(entities:T[]):string[]{returnentities.map(entity=>entity.cname)}比如,以上代码对传入的参数进行了约束,传入的参数必须要有name这个属性,否则就会出错条件类型与高阶类型extends还有一大用途就是
JVM 堆内存分配过程
富士康质检员张全蛋
运维必须知道的JVM知识jvm
设置堆内存大小和OOMJava堆用于存储Java对象实例,那么堆的大小在JVM启动的时候就确定了,我们可以通过-Xmx和-Xms来设定-Xms用来表示堆的起始内存,等价于-XX:InitialHeapSize-Xmx用来表示堆的最大内存,等价于-XX:MaxHeapSize如果堆的内存大小超过-Xmx设定的最大内存,就会抛出OutOfMemoryError异常。我们通常会将-Xmx和-Xms两个参
一文讲解Java中的equals和hashCode方法
Journey_CR
JavaSEjava哈希算法散列表
什么是hashCode方法?hashCode()方法的作用是获取哈希码,它会返回一个int整数,定义在Object类中,是一个本地方法;publicnativeinthashCode();为什么要有hashCode方法呢?hashCode方法主要用来获取对象的哈希码,哈希码是由对象的内存地址或者对象的属性计算出来,它是一个int类型的整数,通常是不会重复的,因此可以用来作为键值对的键,来提高查询效
Typesrcipt泛型约束详细解读
黑码小帅
自己总结前端javascriptvue.jstypescriptvuejqueryreact.js
代码示例://如果我们直接对一个泛型参数取length属性,会报错,因为这个泛型根本就不知道它有这个属性(()=>{//定义一个接口,用来约束将来的某个类型中必须要有length这个属性interfaceILength{//接口中有一个属性lengthlength:number}functiongetLength(x:T):number{returnx.length}console.log(get
GO语言 链表(单向链表
徐小黑ACG
链表数据结构
链表的前提GO语言的链表类似于C语言的链表,它通过结构体和结构体指针实现。结构体GO语言定义结构体如下typeuserstruct{namestringageintnext*user}结构体指针结构体指针就是指向结构体的指针,我们在链表中会用到结构体指针实现链表节点之间的连接next*user就是结构体指针构建链表构建链表需要三点:头节点,尾节点,中间节点头节点的作用相当于链表的入口,尾节点用来表
Spring Boot中的 6 种API请求参数读取方式
java后端
使用SpringBoot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,SpringBoot中也提供了多种机制来满足不同的API设计要求。接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大家,一起互相学习一下吧~@RequestParam这是最最最最最最常用的一个了吧,用来加载URL中?之后
详解AI采集框架Crawl4AI,打造智能网络爬虫
朝阳区靓仔_James
人工智能爬虫神经网络深度学习prompt3d
使用Crawl4AI构建高效AI爬虫与数据提取工具。1介绍Crawl4AI这个开源Python库,专门用来简化网页爬取和数据提取的工作。它不仅功能强大、灵活,而且全异步的设计让处理速度更快,稳定性更好。无论是构建AI项目还是提升语言模型的性能,Crawl4AI都能帮您简化工作流程。你可以直接在Python项目中使用,或者将其集成到RESTAPI中,实现快速、稳定的数据爬取和处理。这样,无论是数据的
activiti 自动完成第一个任务
杨过姑父
springjava后端
有时候后我们开启一个流程实例的时候需要将第一个任务自动完成例如:我们开启一个请假申请,需要自动将提交请假申请的任务完成,自动跳到下一个审批任务通过监听器完成:监听器类型选择:delegateExpression表示将监听器的请求委托给spring容器中的一个实例${priceEvaluationListener}用来指定要委托的springbean的名字,例如@Slf4j@Componentpub
The Simulation技术浅析(二):模型技术
爱研究的小牛
AIGC—虚拟现实算法人工智能AIGC机器学习深度学习
一、物理模型(PhysicalModels)1.概述物理模型基于物理定律和原理,通过模拟现实世界中物理系统的行为和相互作用来构建模型。物理模型通常用于工程、物理和化学等领域,用于预测系统在不同条件下的表现。2.关键技术力学定律:例如牛顿运动定律,用于模拟物体的运动和受力情况。流体力学:例如纳维-斯托克斯方程,用于模拟流体流动。热力学定律:例如热传导方程,用于模拟热量传递。3.过程模型公式及案例详解
我的世界java邮箱和密码_java实现邮箱找密码
mkmk00
我的世界java邮箱和密码
SMTP,POP3,IMAPPOP3POP3是PostOfficeProtocol3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接
jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
[金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
[入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s