- SpringCloud面试题----eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别
指尖下的技术
Java面试题springcloudeurekazookeeper
dEureka和Zookeeper都可以提供服务注册与发现的功能,它们的区别主要体现在以下几个方面:设计理念Eureka:是基于RESTful风格设计的,强调简单、轻量级,旨在为微服务架构提供一种易于使用的服务发现解决方案,注重服务的可用性和灵活性。Zookeeper:最初是为分布式协调而设计的,提供了一种通用的分布式数据管理和协调服务,其功能更侧重于分布式系统中的数据一致性、节点选举、配置管理等
- SpringCloud面试题
御风行云天
面试题大全springcloudspring后端
SpringCloud面试题1SpringCloud基础与原理1.1什么是SpringCloud?1.2解释SpringCloud中微服务架构的优势。1.3描述SpringCloud与SpringBoot的关系。2服务发现与注册2.1SpringCloud如何实现服务发现和注册?2.2使用Eureka服务注册中心的原因。2.3描述使用Consul或Zookeeper作为服务注册中心的场景。3配置管
- java进行pdf文件压缩
后端
pdf文件压缩添加依赖com.luhuiguoaspose-pdf23.1publicclassOptimizePdf{publicstaticvoidoptimize(Stringsource,Stringtarget){Documentdoc=newDocument(source);//设置压缩属性OptimizationOptionsopt=newOptimizationOptions();
- DeepSeek教unity------UI框架
Edision_li
DeepSeek教unityunityuic#学习
/****************************************************文件:BasePanel.cs作者:Edision日期:#CreateTime#功能:面板基类*****************************************************/usingUnityEngine;publicclassBasePanel:MonoBeha
- 静态NodeList 和 动态NodeList的区别
javascript
ps:了解这个知识点的原因前两天我在重温jsdom编程的时候,看到了获取dom元素这一章,然后看到了getElementsByTagName()和getElementsByClassName(),之后又了解到了现代浏览器新出的一个DOMAPI--querySelectorAll().以我的性格,看到这些方法之后我肯定是想了解一下它们的不同点啦,所以我就翻阅资料,就看到了stackoverflow上
- class unity 定义类_[Unity]用PropertyDrawer自定义struct/class的外观
weixin_39722025
classunity定义类
一般来说,当我们要扩展编辑器时,我们会从Editor类继承,为自己的MonoBehaviour实现不同的外观。但是如果有一个struct/class,在许多地方被使用,Unity默认的外观又不够好看,此时想修改它的外观,就需要使用PropertyDrawer了。上图是一个Monobehaviour中包含一个简单的struct(TileCoord类),包含两个int,但是显示效果十分别扭。实现对应的
- C++ -- vector的模拟实现
kk\n
c++开发语言
vector.h的内容:#pragmaonce#include#include#includenamespacekk{templateclassvector{public:typedefT*iterator;//指针版迭代器typedefconstT*const_iterator;//注:这里的bgein()、end()写的都是用的传值返回,所以不能对返回值进行++,--这种操作(就是++v.be
- SpringBoot中实现WebMvcConfigurer,配置跨域无效
TNTnine
Springspringbootjava后端
跨域配置如下:@ConfigurationpublicclassCorsConfigimplementsWebMvcConfigurer{/***跨域配置*-Access-Control-Allow-Origin的介绍:*-https://blog.csdn.net/MicroAnswer/article/details/102913571*-SpringMVC路径匹配规则:*-1、https:/
- 一个最简单的方法解决Python的TypeError: xxx() takes 1 positional argument but 2 were given
Wiktok
python开发语言
当我们在类内写了函数进行调用的时候,有时侯并没有传递参数,所编写的函数方法也不需要参数,但运行会报错:TypeError:xxx()takes1positionalargumentbut2weregiven,参数请求的错误,某并未深究其中原因,但单纯就解决这个问题而言,根据某实际经验,只需要在你的目标调用函数里定义空参数即可解决报错问题。演示如下:假设报错:classMainPro:def__in
- 求职刷题力扣DAY34--贪心算法part05
云墨丹青
leetcode贪心算法算法
Definitionforabinarytreenode.classTreeNode:definit(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightclassSolution:defminCameraCover(self,root:Optional[TreeNode])->int:#三种状态0:
- qt实现文字跑马灯效果
凌武贰玖
#QPainterQtqt开发语言
实现跑马灯的方式多种多少样,可以通过定时器,或者animation等来实现。本文通过定时器,将第一个文字,移动到最后一个这种方式来实现,还有其他方式哈。直接上源码h文件#ifndefTEXTTICKER_H#defineTEXTTICKER_H#include#include/*跑马灯标签文字*/classTextTicker:publicQLabel{Q_OBJECTpublic:TextTic
- 深入解析C++静态关键字:生命周期、存储管理与C++11线程安全实现
zzr915
c++
目录1、静态关键字的作用2、静态关键字的使用规则2.1存储位置2.2初始化机制3、静态局部变量的线程安全性解析3.1C++11及之后的线程安全机制3.2C++11之前的风险3.3关键注意事项4、总结1、静态关键字的作用静态关键字(static)可调整变量的生存周期,使其与程序生命周期一致。例如:classInt{intvalue;public:Int(intx=0):value(x){coutda
- 双指针-盛最多水的容器
Vacant Seat
算法java数据结构双指针
盛最多水的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。输入:整型数组输出:整型变量思路:本题使用双指针,一个在左一个在右,值小的先移动classSolution{publicintmaxArea(int[]heig
- 数据结构2.2:顺序表的实现
weixin_43979650
数据结构
实现一个顺序表函数classSequencelist():def__init__(self):self.SeqList=[]defCreatSequenceList(self):print('***********************')print('*请输入数据后按回车键确认,若想结束按“#”')print('***********************')Element=input("清
- 成功解决 python+kivy的raise Exception(‘SDL2: Unable to load image‘) Unable to get a Window, abort.
projectnone2019
python开发语言后端
运行python+kivy一个小程序出错,代码如下:fromkivy.appimportAppfromkivy.uix.floatlayoutimportFloatLayoutclassSizeFloat(FloatLayout):def__init__(self,**kwargs):super().__init__(**kwargs)classSizeApp(App):defbuild(self
- 模型/视图编程
潦潦
Qtqt开发语言
1.MVC包含模型(Model表示数据)、视图(View用户界面)、控制器(Controller界面对用户输入的反应方式)三部分,Qt中还引入了委托(Delegate,又称代理)来对用户输入进行灵活处理,使用它可以定制数据的渲染和编辑方式。QAbstractItemModel是模型的抽象基类TheQAbstractItemModelclassprovidestheabstractinterface
- Alpine 安装 应用错误 ERROR: unable to select packages
seojava
linux运维服务器
/#apkaddcurlfetchhttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/x86_64/APKINDEX.tar.gzWARNING:updatingandopeninghttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/:Nosuchfileor
- GAN网络
Wzongming
pycharmpython
"""ModuleimplementingGANwhichwillbetrainedusingtheProgressivegrowingtechnique->https://arxiv.org/abs/1710.10196"""importdatetimeimportosimporttimeimporttimeitimportnumpyasnpimporttorchasthclassGenerat
- list中将具有对应字段的某一个对象放在第一个
NewBee.Mu
从头开始学java注意事项知识点总结java大数据mysql
publicclassDemo{privateIntegerid;privateIntegernum;publicDemo(){}publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicIntegergetNum(){returnnum;}publicvoidsetNum(Integer<
- QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
DS小龙哥
QT(C++)应用软件开发AI人工智能opencv
一、环境介绍window系统:win10X64QT版本:5.12QT5.12自带的MinGW编译器版本:mingw730_32与mingw730_64在QT的安装目录下,可以查看MinGW编译器的版本:二、使用OpenCV出现的问题在QT框架代码里使用老版本的分类器(cvLoad、cvHaarDetectObjects)处理图像时,正常编译没有问题,当使用新版本级联分类器(CascadeClass
- 使用TimerTask实现定时任务
Yvonne978
java开发语言
实现定时任务,需要解决三个问题:1.任务是什么,即干什么?2.如何执行?什么时候开始执行?执行频率?3.使用什么框架执行?这里使用轻量Spring自带的TimerTask进行实现一、编写任务新建一个类如MyThread,继承TimerTask,重写run方法packagecom.icfcc.cnaps2.thread;importjava.util.TimerTask;publicclassMyT
- 【二叉树学习8】
m0_46150269
学习
力扣450.删除二叉搜索树中的节点链接:link思路先用中序遍历把BST结构保存在res中;然后再遍历一遍res,如果有key则删除,没有则returnroot;最后重构BST方法1:/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*Tre
- 题解 | #数组中出现次数超过一半的数字#哈希最简单的解法
2301_79125642
java
前端要转测试大佬们,我是软件工程专业的,毕业后又培训了半年前端,现在公司要我转软件测试,初中级都可以,学着麻烦吗?大概得多长时间?转转java凉面一个数组基本有序应该采用哪种排序方法为什么要有线程池,线程太多会怎么样??阻塞队列与普通队列的区别是?递归与非递归区别是什么?各自的优缺点?递归如何转为非递归题解|#数组中出现次数超过一半的数字#哈希最简单的解法classSolution{public:
- c语言%.4f,4f,4F法则是什么
满天乱走
c语言%.4f
4F法则是什么KISS是keepitSimpleStupid,即“使之简单笨拙”。是指广告创意的简洁原则,广告创意主题要突出,信息要凝练,无关紧要的要删去。电视广告镜头要破除繁琐,反映主信息;平面广告要讲究视觉流程,突显主题,越单纯越易为受众接受。4F是指优秀的...c语言中.4f是什么意思.4f是用于输出浮点数的格式字符串,输出时保留四位小数,输出宽度为10位,不足十位右侧补空格,超过十位按实际
- 在nodejs中使用RabbitMQ(四)队列类型Classic、Quorum、Stream
konglong127
nodejsrabbitmqnode.js后端
经典队列(ClassicQueues)、仲裁队列(QuorumQueues)和流队列(StreamQueues)——的特性对比表:FeatureClassicQueuesQuorumQueuesStreamQueuesNon-durablequeues(非持久队列)YesNoNoMessagereplication(消息复制)NoYesNoExclusivity(独占性)YesNoNoPermes
- LeetCode-680. 验证回文串 II
德先生&赛先生
力扣leetcode算法职场和发展
1、题目描述:给你一个字符串s,最多可以从中删除一个字符。请你判断s是否能成为回文字符串:如果能,返回true;否则,返回false。示例1:输入:s="aba"输出:true示例2:输入:s="abca"输出:true解释:你可以删除字符'c'。示例3:输入:s="abc"输出:false提示:1<=s.length<=105s由小写英文字母组成2、代码:classSolution{public
- SpringBoot中使用@Value注解读取配置文件的属性值
练川
Springspringboot后端javaspring
目录注意事项一注意事项二SpringBoot项目中使用@Value注解读取配置文件的属性值,将值赋给类中的属性,这是很常见的操作,示例如下:@ComponentpublicclassUser{@Value("${test.username}")publicStringusername;}application.yaml配置文件test:username:tom使用@Value注解有两点注意事项:注
- SpringBoot约定大于配置
骆驼整理说
分布式微服务框架开源框架及中间件javaspringboot
约定大于配置就是开箱即用中那些自动配置的细节,具体点就是配置文件(.yml)应该放在哪个目录下、命名规范等都可以被称为约定。maven目录结构的约定Spring官方文档,文档中描述的目录结构:Configlocationsaresearchedinreverseorder.Bydefault,theconfiguredlocationsareclasspath:/,classpath:/confi
- 力扣 乘积最大子数组
孑么
力扣算法leetcode职场和发展java动态规划贪心算法
动态规划,注意负负得正,dp交换。题目注意这里的dp的乘积要求最大,而两个很大的负数相乘也是大的,因此在每遍历到一个数时要存一个最大值的dp与一个最小值的dp,然后遍历完后再去存ans的dp。由于存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值。时间复杂度:O(n),空间复杂度:O(1)。classSolution{publicintmaxProduct(int[]nu
- React之高阶函数_函数柯里化
无名`
react高阶函数;函数柯里化
高阶函数_函数柯里化/*高阶函数:满足一个就是1.一函数接收参数是函数就是的2.一函数接收返回值是函数就是的(下面的event就是函数)函数柯里化:函数调用继续返回函数,多次处理参数最后统一处理(最后面例子returna+b+c)*///1.创建组件classLoginextendsReact.Component{//初始化状态state={username:'',//用户名password:''
- 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