#作者:闫乾苓文章目录1.版本选择Ceph版本发布历史目前官方在维护的版本2.部署方法3.服务器规划4.前置配置4.1系统更新4.2配置hostscat>>/etc/hosts>/etc/hosts/etc/chrony.conf/etc/chrony.conf/etc/os-release<
如何针对大Excel做文件读取?
F_windy
excel
针对大Excel文件(如超过百万行)的读取,传统的一次性加载到内存的方式会导致内存溢出(OOM),需采用流式读取(Streaming)或分块读取(Chunk)的策略。以下是具体方案及优化建议:一、核心解决方案1.使用ApachePOI的SAX模式(事件驱动)适用场景:处理.xlsx文件(不支持.xls),逐行解析避免内存溢出。代码示例(Java):importorg.apache.poi.open
WebRTC、WebSocket、EasyRTC嵌入式音视频SDK:技术差异与应用场景详细对比
EasyCVR
RTCwebrtcwebsocket音视频javascript网络开发语言
WebRTC和WebSocket是两种常用于实时通信的技术,尽管它们都支持实时数据传输,但在设计目标、技术实现和应用场景上存在显著差异。一、概述1)WebRTCWebRTC是一个开源项目,旨在通过简单的API实现浏览器之间的实时音视频通信和数据传输。它支持点对点(P2P)通信,主要应用于音视频通话、屏幕共享、文件传输等场景。2)WebSocketWebSocket是一种基于TCP的通信协议,提供了
Java8中如何使用Stream对列表进行去重?
上官美丽
javajava
在现代Java开发中,Java8引入的StreamAPI给我们带来了许多便利,尤其是在处理集合数据时。去重是数据处理中一个常见的需求,今天我们就来聊聊如何使用Stream对列表进行去重。这个过程其实并不复杂,只要掌握一些基本的操作,就能轻松实现。首先,大家可能会问,什么是Stream?Stream是一种对集合的抽象,可以让我们以声明性方式处理集合数据,比如过滤、映射、归约等。Stream的一个重要
文件的输出与读写 2.0
大力水手偷吃菠菜变成米老鼠
c语言
一、文章内容概述(一)知识要点文件操作函数概述:介绍了C语言中用于文件操作的一系列函数,这些函数是实现文件读写功能的基础工具。文件流概念定义与分类:FILE*stream这种定义方式包含了各种各样的流。流是一种用于在程序和外部设备(如文件、控制台、网络等)之间进行数据传输的抽象概念。具体类型文件流:用于读取与写入在磁盘上的文件。例如,通过文件流可以从硬盘上的文本文件中读取数据,并将其显示在程序中,
ubuntu20.04系统安装zookeeper简单教程
楼下创了电瓶车
zookeeper分布式云原生
Ubuntu系统中安装和配置Zookeeper的完整指南ApacheZookeeper是一个开源的分布式协调服务,广泛用于分布式应用程序中管理配置、提供命名服务、分布式同步以及组服务等。在本教程中,我们将详细介绍如何在Ubuntu系统中安装Zookeeper,并进行相关配置,使其能够正常运行。环境准备在开始之前,请确保你的Ubuntu系统版本为18.04或更高版本。此外,Zookeeper依赖于J
python nginx部署_nginx部署python应用
weixin_39611070
pythonnginx部署
2.nginx配置文件如下:#位于/nginx/conf/nginx.conf#usernobody;worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout185;server{l
大疆无人机航点飞行KMZ文件提取航点坐标
程序员南飞
无人机macosjavaspring
一、需要插件jaxenjaxen1.1.4dom4jdom4j1.6.1二、KMZ解压成KMLpackagecom.dji.sample.common.util;importorg.dom4j.Document;importorg.dom4j.io.SAXReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.In
Java Stream 流的介绍
吱屋猪_
java
介绍在Java8中,引入了StreamAPI,它为处理集合(如List、Set等)提供了一种更简洁、声明式的方式。Stream流的设计目标是支持对数据集合的高效操作,尤其是能够进行链式操作、并行处理等,极大地提升了代码的可读性和可维护性。本文将介绍JavaStream流的基础概念、常用操作以及如何利用Stream进行集合数据处理。1.什么是Stream流Stream是Java8引入的一个新的类,它
oracle cdc logminer与oracle xstream
24k小善
java大数据flink
以下为OracleCDC技术中XStream与LogMiner的核心差异解析,结合技术背景、实现原理、性能表现等维度进行系统化对比。一、技术背景与定位差异LogMiner:官方日志分析工具的非正式应用最初设计用于数据库管理员(DBA)审计和分析历史日志,非专为CDC场景优化[1][9][16]。通过解析归档日志(ArchiveLog)或在线日志(OnlineRedoLog)提取变更记录,采用轮询机
Java高级编程深度解析:JVM底层原理、设计模式与Java 8+新特性实战
幼儿园扛把子\
jdkjavajava开发语言
Java语言高级(面向高级开发者)文章目录Java语言高级(面向高级开发者)1.JVM内存管理1.1内存区域1.2垃圾回收(GC)2.并发编程进阶2.1线程池2.2CAS与原子类3.设计模式3.1创建型模式3.2结构型模式4.注解与序列化4.1自定义注解4.2序列化5.Java8+新特性5.1Lambda表达式5.2StreamAPI6.总结1.JVM内存管理1.1内存区域区域作用特点堆(Heap
Oracle转化为MySQL数据库
袅沫
点兵之经数据库mysql
使用HttpClient调用Post方法的时候,EntityUtils.toString(response.getEntity());响应数据只能读取一次,读取多次会出现,Attemptedreadfromclosedstream错误。Oracle转化为MySQL数据库OracleMySQLORDERBYCREATED_TIMEDESCNULLSLASTORDERBYCREATED_TIMEDES
JavaScript 性能优化实战【详细指南】
AI筑梦师
JavaScriptjavascript性能优化开发语言
#JavaScript性能优化实战#JavaScript性能优化实战JavaScript作为现代Web开发的核心技术,其性能优化涉及多个层面,包括计算效率、DOM操作、异步处理、内存管理、网络请求优化等。随着Web发展,越来越多的新技术(如WebAssembly、OffscreenCanvas、StreamsAPI、V8TurboFan优化等)正在提升JavaScript的性能。本指南涵盖从基础优
Megatron-LM训练框架和Deepspeed训练框架最主要的异同和优劣是什么
强化学习曾小健
人工智能
核心异同点并行策略Megatron-LM核心:以张量并行(TensorParallelism)和流水线并行(PipelineParallelism)为主,结合数据并行。张量并行通过切分模型层(如注意力头、MLP块)到不同设备,利用NVLink高速通信提升效率。流水线并行将不同层分配到不同设备,通过P2P通信协调。DeepSpeed核心:ZeRO优化技术(ZeroRedundancyOptimize
Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡ens33网卡不见了
新潮技术研究社
Qt开发问题大全算法爬虫大数据百万案例大全ubuntulinuxvmwareifconfig
某天,Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡执行操作:1.查看所有网卡,ifconfig-a2.执行sudodhclientens333.查看网卡驱动是否还在:lspci–v4.使能网卡:ifconfigens33up5.重启网络服务:/etc/init.d/networkingrestart6.测试:sudoaptupdate7.这里,关键的一步是,dhclienten
7.7:C++的 STL迭代器的分类和使用!(课程共7300字,8个代码举例)
小兔子平安
C++完整学习全解答c++开发语言
例子1:使用输入迭代器读取文件中的数据例子2:使用输出迭代器将数据写入文件例子3:使用双向迭代器反转容器中的元素例子4:使用随机访问迭代器进行二分查找例子1:使用输入迭代器读取文件中的数据下面的代码演示了如何使用输入迭代器从文件中读取数据,并计算其平均值。#include#include#include#includeintmain(){std::ifstreamfile("data.txt");
深入GPU渲染流水管线:从顶点到像素的微观世界
晴空了无痕
图形学GPU渲染管线
现代图形硬件的架构解密与优化实践一、渲染流水线全景解析1.经典渲染管线阶段划分应用阶段几何阶段光栅化阶段像素处理阶段输出合并阶段2.现代GPU架构演进SIMT架构特性:NVIDIASM(StreamingMultiprocessor)vsAMDCU(ComputeUnit)硬件管线并行度:顶点着色器:32线程/Warp像素着色器:8x8像素/Quad延迟渲染革命:Tile-BasedDeferre
goldengate sqlserver mysql_使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务...
weixin_39907713
goldengatesqlservermysql
大多数关注数据复制的Oracle技术专家都熟悉OracleStreams。在2009年之前,Streams一直是推荐使用的最流行的Oracle数据分发技术。2009年7月,Oracle收购了GoldenGate这一数据库复制软件供应商。Oracle现在鼓励客户使用OracleGoldenGate(Oracle融合中间件系列的组成部分)来满足新应用中的数据复制需求。Oracle关于OracleStr
侯捷 C++ 课程学习笔记:C++常用标准库
Three~stone
c++学习笔记
标准库#include万能头是一个简写方式,用来一次性包含C++标准库中的许多常用部分,比如输入输出流(iostream)、算法(algorithm)、向量(vector)、列表(list)、队列(queue)、栈(stack)、映射(map)、集合(set)等。使用它可以让程序员在编写解决特定问题的代码时,不必一一列出所需的所有头文件,简化了代码的编写过程。在实际的工程项目或更专业的编程实践中,
Node7z正确识别中文字符
霄铭XiAo
nodejsnode-7ztypescript
importseven7zfrom'node-7z';constlistStream=seven7z.list(filePath,{$bin:path7z(),charset:'UTF-8'});仅需设置charset即可
QT:文件读取
Yanjun2i
qt开发语言
问题:在文件读取,判断md5值时,遇到py文件读取转String后,再转byte,md5前后不一致问题。解决方法:python文件读取要使用QTextStream,避免\t、\r、\n的换行符跨平台问题(window系统换行符和linux换行符不一致)。QTextStream默认帮你处理了换行符跨平台问题。\r:回到开头\n:换行一般读取文件的方式是:boolxxxxClass::readFile
Java IO 与文件系统:File 类与流操作详解
伤心辞
计算机网络
在Java编程中,IO(输入输出)操作是处理文件和数据流的核心部分。本文将围绕文件系统、硬盘存储、Java的File类以及InputStream和OutputStream的使用进行详细总结,帮助读者全面掌握JavaIO编程的核心知识。一、IO、存储与文件系统基础1.存储设备与硬盘硬盘:计算机的主要存储设备,分为机械硬盘(HDD)和固态硬盘(SSD)。存储单位:字节(Byte)、千字节(KB)、兆字
python的print函数中file_【Python-1】初解print函数
weixin_39849762
print(*objects,sep='',end='\n',file=sys.stdout,flush=False)Printobjectstothetextstreamfile,separatedbysepandfollowedbyend.sep,end,fileandflush,ifpresent,mustbegivenaskeywordarguments.print函数可将对象以字符串的形
[特殊字符] Java Stream流:让集合处理变得如此优雅!
泥潭硬拔
javastreamjava集合
大家好!今天我们来聊一个超级实用的话题:JavaStream流。别被这个名字吓到,它其实就是一个让我们处理数据更轻松的"魔法工具"!什么是Stream流?简单来说,Stream流就像是一条传送带,我们可以把数据放在上面,然后对它们进行各种操作。比如筛选、排序、转换等等,就像在美食工厂的流水线上一样!为什么要用Stream流?代码更简洁(再见了,又臭又长的for循环!)可读性更强(像说人话一样写代码
Node.js系列(1)--架构设计指南
一进制ᅟᅠ
Node.jsnode.jsvim编辑器
Node.js架构设计指南️引言Node.js作为一个高性能的JavaScript运行时环境,其架构设计对于构建可扩展的服务端应用至关重要。本文将深入探讨Node.js的架构设计原则、最佳实践和实现方案。架构概述Node.js架构主要包括以下方面:事件驱动:基于事件循环的异步非阻塞架构模块系统:CommonJS和ES模块系统进程模型:单线程主进程与工作线程流处理:基于Stream的数据处理错误处理
Java8按照多字段排序
失忆老幺
java基础javaintellij-idea排序算法
packagecom.shiyi.love.task;importlombok.AllArgsConstructor;importlombok.Data;importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importjava.util.stream.Collectors;/***@authorshiy
linux sed命令
weifexie
Linuxlinux运维服务器sedawk
linuxsed命令作为三剑客的一员,也是到了不得不写写总结的时候了,按惯例,先给出出处,首当齐冲wikihttps://zh.wikipedia.org/wiki/Sedsed(意为流编辑器,源自英语“streameditor”的缩写)是一个使用简单紧凑的编程语言来解析和转换文本Unix实用程序。sed是最早支持正则表达式的工具之一,至今仍然用于文本处理,特别是用于替换命令。用于纯文本字符串操作
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