• java-chassis为什么要区分服务提供端和消费端
    服务提供端和服务消费端一定要分开配置吗?这样设计的目的是什么?因为以前做的微服务都是一个配置文件就搞定的,现在至少要拆两个了。如果简单场景是A调用B提供的服务那没什么问题,但若是复杂场景,比如A调用B,B调用C,(即B既是服务提供端,又是服务消费端)这样的调用应该怎么写配置文件呢?
  • [入驻式求助] usm3.0传真文件发送失败
    本局点使用ivr发送指定路径下的传真,执行发送操作成功,但是传真机提示接受后无法正常收到传真      首先局点ivr发送从华为客服处获取的tif文件是可以发送的,传真机正常接收      然后我们开发使用java进行tif生成,最开始生成文件发送到传真机后文件打印出来是空白,后来修改参数后后发送到传真机,传真机提示接受但并未打印。接着我们把tif文件发送给华为客服查看,得到回复说文件格式是正确的。      由于已经有文件正常发送并且收到所以考虑排除平台和流程本身的问题      开发人员觉得是java生成代码有问题,想咨询生成代码是否正确      以下是开发人员使用的java生成tif的参数设置,这个能否查看代码或参数设置是否正确
  • [互动交流] 从友商OBS迁移到华为云OBS是否需要改造?如果需要改造,需要做什么样的改造?客户基于JAVA开发的SDK
  • [集群&DWS] GaussDB(DWS) DMS历史监控数据聚合算法java实现
    GaussDB(DWS) DMS在性能监控时,有聚合数据的需求,JDK自带的SummaryStatistics类自带求和、最大值、最小值、平均值等聚合算法,要实现均值、方差、峰值、偏度等数据聚合方式,需要一个继承SummaryStatistics子类,并在子类中实现相关的算法。代码示例如下:import java.util.DoubleSummaryStatistics;/**  * @Description: Double流统计算法  */public class AggregationDoubleStatistics extends DoubleSummaryStatistics {     private double m1;     private double m2;     private double m3;     private double m4;     @Override     public void accept(double x) {         super.accept(x);         long n = getCount();         //δ         double delta = x - m1;         //δ / n         double deltaN = delta / n;         //δ^2 / n         double delta2N = delta * deltaN;         //δ^2 / n^2         double delta2N2 = deltaN * deltaN;         //δ^3 / n^2         double delta3N2 = delta2N * deltaN;         //δ^4 / n^3         double delta4N3 = delta3N2 * deltaN;         m4 += (n - 1) * (n * n - 3 * n + 3) * delta4N3                + 6 * m2 * delta2N2                - 4 * m3 * deltaN;         m3 += (n - 1) * (n - 2) * delta3N2                - 3 * m2 * deltaN;         m2 += (n - 1) * delta2N;         m1 += deltaN;     }     @Override     public void combine(DoubleSummaryStatistics other) {         throw new UnsupportedOperationException(                 "Can't combine a standard DoubleSummaryStatistics with this class");     }     public void combine(MoreDoubleStatistics other) {         MoreDoubleStatistics s1 = this;         MoreDoubleStatistics s2 = other;         long n1 = s1.n();         long n2 = s2.n();         long n = n1 + n2;         //δ         double delta = s2.m1 - s1.m1;         //δ / n         double deltaN = delta / n;         //δ^2 / n         double delta2N = delta * deltaN;         //δ^2 / n^2         double delta2N2 = deltaN * deltaN;         //δ^3 / n^2         double delta3N2 = delta2N * deltaN;         //δ^4 / n^3         double delta4N3 = delta3N2 * deltaN;         this.m4 = s1.m4 + s2.m4 + n1 * n2 * (n1 * n1 - n1 * n2 + n2 * n2) * delta4N3                + 6.0 * (n1 * n1 * s2.m2 + n2 * n2 * s1.m2) * delta2N2                + 4.0 * (n1 * s2.m3 - n2 * s1.m3) * deltaN;         this.m3 = s1.m3 + s2.m3 + n1 * n2 * (n1 - n2) * delta3N2                + 3.0 * (n1 * s2.m2 - n2 * s1.m2) * deltaN;         this.m2 = s1.m2 + s2.m2 + n1 * n2 * delta2N;         this.m1 = s1.m1 + n2 * delta;         super.combine(other);     }     private long n() {         return getCount();     }     /**      * 计算流的方差      * @return      */     public double getVariance() {         return n() <= 1 ? 0 : m2 / (n() - 1);     }     /**      * 计算流的标准差      * @return      */     public double getStdDev() {         return Math.sqrt(getVariance());     }     /**      * 计算流的偏度      * @return      */     public double getSkewness() {         return m2 == 0 ? 0 : Math.sqrt(n()) * m3 / Math.pow(m2, 1.5);     }     /**      * 计算流的峰度      * @return      */     public double getKurtosis() {         return m2 == 0 ? 0 : n() * m4 / (m2 * m2) - 3.0;     }}使用示例:private void getAggregatedData(List<Double> list) {     MoreDoubleStatistics doubleStatistics =  list            .stream()             .mapToDouble(t -> t)             .collect(MoreDoubleStatistics::new, MoreDoubleStatistics::accept, MoreDoubleStatistics::combine);     double maxAggregatedData = doubleStatistics.getMax();     double minAggregatedData = doubleStatistics.getMin();     double avgAggregatedData = doubleStatistics.getAverage();     double sumAggregatedData =  doubleStatistics.getSum();     double varAggregatedData =  doubleStatistics.getVariance();}原文链接:https://bbs.huaweicloud.com/blogs/237976【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中)  HOT  【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
  • [问题求助] javaapidemo APi创建设备失败
    【功能模块】javaapidemo 示例代码创建一个设备【操作步骤&问题现象】1、已成功得到token2、修改各种id 字符串3、多次运行CreateDeviceJAVA得到失败码{"error_code":"IOTDA.013000","error_msg":"The product does not exist."}Process finished with exit code 0【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] java chassis 1.3.0如何自定义容错处理函数
    如题,默认的policy仅提供throwException和returnNull,如果想自定义容错处理方法该如何写才能在.yml配置文件中正常使用。
  • [测试] GaussDB(DWS)流式数据入库实践三:Java接口
    【摘要】 JDBC接口实现GaussDB(DWS)流式数据入库。GaussDB(DWS)数据入库方式主要有三种:INSERT/COPY/FDW,三者性能INSERT最差,FDW(gds外表/obs外表)性能最好,但在很多客户场景下都是流式数据,不额外落盘,需要直接入库,这种场景下可以采用copy方式入库,Java作为编程语言,广泛应用于互联网应用中,Java访问数据库使用的是JDBC接口,支持copymanager,示例程序如下:import java.sql.Connection;import java.sql.DriverManager;import java.util.Properties;import org.postgresql.copy.CopyManager;import org.postgresql.core.BaseConnection;import java.io.StringReader;public class copy_test { /**  * @param args  */ public static void main(String[] args) { // TODO Auto-generated method stub try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { System.out.println("can not find Driver"); e.printStackTrace(); } String url = "jdbc:postgresql://10.x.x.x:8000/postgres"; Properties props = new Properties(); props.setProperty("user", "jack"); props.setProperty("password", "Gauss_234"); try { Connection con = DriverManager.getConnection(url, props); con.setAutoCommit(false); CopyManager cm = null; StringReader sr = null; String quote = "$"; String delimter = "|"; String sql = "copy test from STDIN with (format 'CSV', delimiter '|', quote '$')"; System.out.println(sql); cm = new CopyManager((BaseConnection) con); StringBuffer tuples = new StringBuffer(); for (int j = 0; j < 3; j++) { tuples.append(quote + "1" + quote + delimter + quote + "a" + quote + "\n"); } sr = new StringReader(tuples.toString()); long rows = cm.copyIn(sql, sr);// 执行copy入库 con.commit();// 提交 con.close(); } catch (Exception se) { se.printStackTrace(); } }}原文链接:https://bbs.huaweicloud.com/blogs/226871【推荐阅读】【最新活动汇总】DWS活动火热进行中,互动好礼送不停(持续更新中)  HOT  【博文汇总】GaussDB(DWS)博文汇总1,欢迎大家交流探讨~(持续更新中)【维护宝典汇总】GaussDB(DWS)维护宝典汇总贴1,欢迎大家交流探讨(持续更新中)【项目实践汇总】GaussDB(DWS)项目实践汇总贴,欢迎大家交流探讨(持续更新中)【DevRun直播汇总】GaussDB(DWS)黑科技直播汇总,欢迎大家交流学习(持续更新中)【培训视频汇总】GaussDB(DWS) 培训视频汇总,欢迎大家交流学习(持续更新中)扫码关注我哦,我在这里↓↓↓
  • [问题求助] 关于java chassis熔断标记
    如题,在java chassis 1.3.0版本下,配置了circuitBreaker,当触发熔断时,日志中能否显示熔断的标志?如果显示的话是什么样的。
  • [问题求助] servicecomb java chasis熔断降级配置问题
    根据官方的文档教程https://docs.servicecomb.io/java-chassis/zh_CN/featured-topics/application-bmi/service-management/配置了sample的bmi源码的provider端配置,但没有实现提到的效果,控制台日志如下请教下returnNull的policy方式是默认提供的吗?为什么没有生效?
  • [互动交流] obs java 服务端sdk
    请问有国内的obs java 服务端sdk下载地址吗?或者maven的库,现在开发者文档上都是指向的github,github下载非常缓慢。还有个问题java的sdk是不是android和服务端的可以通用?
  • Java调优工具相关问题解决FAQ
    问题一:Java 进程列表可以看到运行在docker容器中的java程序,但是 在线分析和采样分析按钮处于置灰状态1、按 F12, 切换到 Network,过滤栏中 输入 java-perf/api/guardians/刷新页面,将对应请求的返回结果提供给开发人员注意:如果没有发现调用请求,鼠标移到 在线分析和采样分析 按钮上面2、 进入安装调优工具的服务器,进入 /opt/hyper_tuner/thor-server-2.2.T3/log/ 目录将 hyper-tuner-java-profiler.log 内容提供给开发人员3  进入部署目标环境的宿主机,进入 /tmp/.thor_guardian_255_255_255_255_9090_a5e40d74-4479-47f7-9ee2-a23045935a8c/log/ 目录,将 guardian.out 日志内容供给开发人员注意:1255_255_255_255 是安装工具的服务器 ip,a5e40d74-4479-47f7-9ee2-a23045935a8c 这个是唯一主键 是动态变化的  一般根据 ip 就能找到对应目标环境的安装目录a-perf/api/guardians/d98bf937-f136-45fb-863b-be3ecc23d0b1/jvms/40f74a32-f0a6-4499-b939-276a53d67e/java-perf/api/guardians/d98bf937-f136-45fb-863b-be3ecc23d0b1/jvms/40f74a32-f0a6-4499-b939-276a53d67e6f/java-perf/api/guardians/d98bf937-f136-45fb-863b-be3ecc23d0b1/jvms/40f74a32-f0a6-4499-b939-276a53d67e6f
  • [技术干货] Java设计模式-代理模式(proxy)
    有两种,静态代理和动态代理。先说静态代理,很多理论性的东西我不讲,我就算讲了,你们也看不懂。什么真实角色,抽象角色,代理角色,委托角色。。。乱七八糟的,我是看不懂。之前学代理模式的时候,去网上翻一下,资料一大堆,打开链接一看,基本上都是给你分析有什么什么角色,理论一大堆,看起来很费劲,不信的话你们可以去看看,我是看不懂他们在说什么。咱不来虚的,直接用生活中的例子说话。(注意:我这里并不是否定理论知识,我只是觉得有时候理论知识晦涩难懂,喜欢挑刺的人一边去,你是来学习知识的,不是来挑刺的)到了一定的年龄,我们就要结婚,结婚是一件很麻烦的事情,(包括那些被父母催婚的)。有钱的家庭可能会找司仪来主持婚礼,显得热闹,洋气~好了,现在婚庆公司的生意来了,我们只需要给钱,婚庆公司就会帮我们安排一整套结婚的流程。整个流程大概是这样的:家里人催婚->男女双方家庭商定结婚的黄道即日->找一家靠谱的婚庆公司->在约定的时间举行结婚仪式->结婚完毕婚庆公司打算怎么安排婚礼的节目,在婚礼完毕以后婚庆公司会做什么,我们一概不知。。。别担心,不是黑中介,我们只要把钱给人家,人家会把事情给我们做好。所以,这里的婚庆公司相当于代理角色,现在明白什么是代理角色了吧。代码实现请看://代理接口public interface ProxyInterface {//需要代理的是结婚这件事,如果还有其他事情需要代理,比如吃饭睡觉上厕所,也可以写void marry();//代理吃饭(自己的饭,让别人吃去吧)//void eat();//代理拉屎,自己的屎,让别人拉去吧//void shit();}文明社会,代理吃饭,代理拉屎什么的我就不写了,有伤社会风化~~~能明白就好好了,我们看看婚庆公司的代码:public class WeddingCompany implements ProxyInterface {private ProxyInterface proxyInterface;public WeddingCompany(ProxyInterface proxyInterface) {  this.proxyInterface = proxyInterface;}@Overridepublic void marry() {  System.out.println("我们是婚庆公司的");  System.out.println("我们在做结婚前的准备工作");  System.out.println("节目彩排...");  System.out.println("礼物购买...");  System.out.println("工作人员分工...");  System.out.println("可以开始结婚了");  proxyInterface.marry();  System.out.println("结婚完毕,我们需要做后续处理,你们可以回家了,其余的事情我们公司来做");}}看到没有,婚庆公司需要做的事情很多,我们再看看结婚家庭的代码:public class NormalHome implements ProxyInterface{@Overridepublic void marry() {  System.out.println("我们结婚啦~");}}这个已经很明显了,结婚家庭只需要结婚,而婚庆公司要包揽一切,前前后后的事情都是婚庆公司来做,听说现在婚庆公司很赚钱的,这就是原因,干的活多,能不赚钱吗?来看看测试类代码:public class Test {public static void main(String[] args) {  ProxyInterface proxyInterface = new WeddingCompany(new NormalHome());  proxyInterface.marry();}}运行结果如下:在我们预料中,结果正确,这就是静态代理,动态代理我就不想说了,跟java反射有关系,网上资料很多,我以后有时间再更新吧。作者:NO-IF链接:https://www.cnblogs.com/ILoke-Yang/p/8054466.html来源:博客园
  • [技术干货] Java设计模式-适配器模式
    将两种完全不同的事物联系到一起,就像现实生活中的变压器。假设一个手机充电器需要的电压是20V,但是正常的电压是220V,这时候就需要一个变压器,将220V的电压转换成20V的电压,这样,变压器就将20V的电压和手机联系起来了。public class Test {    public static void main(String[] args) {        Phone phone = new Phone();        VoltageAdapter adapter = new VoltageAdapter();        phone.setAdapter(adapter);        phone.charge();    }}// 手机类class Phone {    public static final int V = 220;// 正常电压220v,是一个常量    private VoltageAdapter adapter;    // 充电   public void charge() {        adapter.changeVoltage();    }    public void setAdapter(VoltageAdapter adapter) {        this.adapter = adapter;    }}// 变压器class VoltageAdapter {    // 改变电压的功能   public void changeVoltage() {        System.out.println("正在充电...");        System.out.println("原始电压:" + Phone.V + "V");        System.out.println("经过变压器转换之后的电压:" + (Phone.V - 200) + "V");    }}
  • [技术干货] Java设计模式-装饰者模式
    对已有的业务逻辑进一步的封装,使其增加额外的功能,如Java中的IO流就使用了装饰者模式,用户在使用的时候,可以任意组装,达到自己想要的效果。 举个栗子,我想吃三明治,首先我需要一根大大的香肠,我喜欢吃奶油,在香肠上面加一点奶油,再放一点蔬菜,最后再用两片面包夹一下,很丰盛的一顿午饭,营养又健康。(ps:不知道上海哪里有卖好吃的三明治的,求推荐~)那我们应该怎么来写代码呢? 首先,我们需要写一个Food类,让其他所有食物都来继承这个类,看代码:public class Food {    private String food_name;    public Food() {    }    public Food(String food_name) {        this.food_name = food_name;    }    public String make() {        return food_name;    };}代码很简单,我就不解释了,然后我们写几个子类继承它://面包类public class Bread extends Food {    private Food basic_food;    public Bread(Food basic_food) {        this.basic_food = basic_food;    }    public String make() {        return basic_food.make()+"+面包";    }}//奶油类public class Cream extends Food {    private Food basic_food;    public Cream(Food basic_food) {        this.basic_food = basic_food;    }    public String make() {        return basic_food.make()+"+奶油";    }}//蔬菜类public class Vegetable extends Food {    private Food basic_food;    public Vegetable(Food basic_food) {        this.basic_food = basic_food;    }    public String make() {        return basic_food.make()+"+蔬菜";    }}这几个类都是差不多的,构造方法传入一个Food类型的参数,然后在make方法中加入一些自己的逻辑,如果你还是看不懂为什么这么写,不急,你看看我的Test类是怎么写的,一看你就明白了public class Test {    public static void main(String[] args) {        Food food = new Bread(new Vegetable(new Cream(new Food("香肠"))));        System.out.println(food.make());    }}看到没有,一层一层封装,我们从里往外看:最里面我new了一个香肠,在香肠的外面我包裹了一层奶油,在奶油的外面我又加了一层蔬菜,最外面我放的是面包,是不是很形象,哈哈~ 这个设计模式简直跟现实生活中一摸一样,看懂了吗? 我们看看运行结果吧运行结果
  • [行业动态] 【3月8日 AI 快讯】40年COBOL老程序不兼容新系统怎么办?让AI把它编译成Java
    理论两篇AAAI论文,揭示微信如何做文章质量评估本文介绍了微信搜索数据质量团队在 AAAI 2021 大会发表的两篇研究。2021/03/07 11:56原文链接40年COBOL老程序不兼容新系统怎么办?让AI把它编译成JavaIBM 基于 AI 的工具正在让工程师们从旧软件中获取新价值。2021/03/07 11:49原文链接「冰冻荒原」版Linux内核有bug,不要使用!Linux之父紧急警告并发布5.12-rc2版本不到一周,Linux 内核又更新了一个版本。2021/03/07 11:44原文链接其他Linux之父警告全球程序员:我刚发布的5.12内核有bug,你们千万别用可能损坏根目录文件2021-03-07 15:39:32原文链接高颜值的神经网络可视化工具:3D、彩色、可定制,还能可视化参数重要性 | 开源可能是最美的神经网络了2021-03-07 13:30:55原文链接
总条数:2294 到第 页
上滑加载中