首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏nobody

    Java指南:ScheduledThreadPoolExecutor

    :提交的任务内部不处理异常,异常信息会丢失,任务不再继续被调度 ---- 提交的延迟任务被封装为ScheduledFutureTask,此类继承FutureTask,在任务处理过程中发生的异常会保存在 java.util.concurrent.FutureTask#outcome中: java.util.concurrent.FutureTask#run 如果我们不调用方法: java.util.concurrent.FutureTask Java指南:ThreadPoolExecutor提交任务出现异常,异常是否吞掉,线程是否退出的不同影响 由于是调度任务,此方法大多不会被开发者调用,所以提交的任务内部需要处理异常。 正确处理任务调度的异常案例: org.apache.rocketmq.broker.BrokerController#initializeBrokerScheduledTasks :被周期性调度的任务 :不要初始化corePoolSize过小,或设置allowCoreThreadTimeOut ---- 设置线程池数目过小或者核心线程池超时,可能导致任务不能及时被调度执行。

    2K40编辑于 2023-06-20
  • 来自专栏nobody

    Java指南:java.util.Arrays工具类

    ---- 一:java.util.Arrays#asList的参数不要传入基本类型数组 ---- 示例:基本类型数组作为参数 package com.example.demo; import <Integer> integers = Arrays.asList(1, 2, 3, 4, 5, 6); System.out.println(integers); } } 二 因为java.util.Arrays#asList返回的list对象是java.util.Arrays类中的一个私有的静态内部类: java.util.Arrays.ArrayList 此类没有实现父类 三、java.util.Arrays#asList传入数组对象返回的list并不是原数组对象的copy,修改会反映到原数组对象 ---- 示例: /** * @author 认知科技技术团队 * 小结 ---- java.util.Arrays工具类记: 【】java.util.Arrays#asList的参数不要传入基本类型数组; 【】java.util.Arrays#asList返回的

    30220编辑于 2023-06-19
  • 来自专栏nobody

    Java指南:涉及金钱计算时使用BigDecimal如何

    但是BigDecimal的有些方法是有的,稍不注意也会产生精度计算的问题。 BigDecimal一: 禁止使用java.math.BigDecimal#BigDecimal(double)构造函数方法 ---- 示例: /** * @author 认知科技技术团队 * 这和一情况一致。 BigDecimal三:禁止使用java.math.BigDecimal#equals比较 ---- 示例: /** * @author 认知科技技术团队 * 微信公众号:认知科技技术团队 */ BigDecimal四:禁止使用java.math.BigDecimal#round 进行舍入运算 ---- 示例: /** * @author 认知科技技术团队 * 微信公众号:认知科技技术团队

    63520编辑于 2023-06-19
  • 来自专栏call_me_R

    使用react的7案例

    7. 组件没以大写字母开头命名 在JSX中,以小写开头的组件会向下编译为HTML元素。 DemoComponentName extends React.Component { } 后话 上面的内容提取自Top 10 mistakes to avoid when using React,采用了意译的方式,提取了7条比较实用的内容

    85320编辑于 2022-03-10
  • 来自专栏nobody

    logback指南:AsyncAppender配置

    小结 ---- AsyncAppender配置指南: 1、OOM问题; 2、丢失日志问题; 3、阻塞问题; ----

    2.8K20编辑于 2023-06-19
  • 来自专栏nobody

    Java记:BigDecimal构造函数及比较函数--精度问题

    ---- BigDecimal构造函数使用java.math.BigDecimal#BigDecimal(java.lang.String) ---- 浮点数转换为BigDecimal类型时,如果使用 java.math.BigDecimal#BigDecimal(double)方法,会造成精度丢失。 java.math.BigDecimal#BigDecimal(java.lang.String) 使用compareTo方法比较BigDecimal,而不是equals方法 ---- 与上一篇博文一样 = xDec.scale) return false; 方法java.math.BigDecimal#compareTo会忽略精度,必须使用此方法比较java.math.BigDecimal 小结 ---- 考虑到精度问题,java.math.BigDecimal必须使用带字符串的构造函数,以及使用方法java.math.BigDecimal#compareTo比较。

    66140编辑于 2023-06-19
  • 来自专栏用AI私教速通Rust

    RustJava空指针异常

    这里所讨论的JavaOptional误用,以及之后的Rust空指针异常,并不是暗示Java不如Rust好,而仅仅是为了提升自学者入门Rust的动力而已。 这是 Java 8 及以后版本中函数式编程特性的一个很好的例子。2.2 Rust编译器对误用Option不修复不罢休Rust如何类似上面的”Java编译器无视对Optional的误用“的情况? Option<T>能帮程序员的最大的,是空指针解引用(null pointer dereference)。许多编程语言允许将null赋值给任何引用类型。 String能帮程序员的最大的,是内存安全问题。它通过所有权系统和自动内存管理,有效防止了悬垂指针、缓冲区溢出等常见的内存相关bug。 Rust的编译器能帮助程序员类似Java空指针异常那样的bug,那程序员在用Rust编程时,对于变量的使用,会踩什么?如果喜欢这篇文章,别忘了给文章点个“在看”,好鼓励小吾继续写哦~

    1K61编辑于 2024-09-21
  • 来自专栏数据和云

    指南:通过expdpimpdp迁移数据的7

    墨墨导读:expdp/impdp是一个非常简单的操作,但是简单的操作中往往蕴藏了很多原理性的东西,如果稍不注意,则可能会才到很多。 这里总结整个过程中遇到的问题和经验,供大家参考,希望大家遇到同类情况可以规避这7种错误。 问题7 :如何提高效率 通过一条impdp语句导入时候,如果没有Lob字段,仅有数据,导入还是非常的快,比如500G的数据,大概20分钟就导入了。而创建索引的过程是非常慢的。

    4.9K32发布于 2020-08-21
  • 来自专栏nobody

    Java指南:并行化改造,使用CompletableFuture结合流(stream)不能并行执行

    很容易使用自定义的线程池去异步执行,而且CompletableFuture为我们提高了强大的任务编排和异常处理方法。

    1.9K51编辑于 2023-06-20
  • 来自专栏nobody

    Spring指南:Spring声明式事务@Transactional

    事务失效的:AOP技术限制引起的 ---- Spring中的事务是AOP实现的,Srping AOP使用JDK动态代理或CGLIB来创建代理对象。 图片来源:https://javadevcentral.com/checked-and-unchecked-exception-in-java 事务回滚源码: org.springframework.transaction.interceptor.TransactionAspectSupport 4、事务多个业务有异步执行,异常不抛出,事务不会回滚 事务的实现涉及到java的ThreadLocal特性,如果异步执行,事务信息丢失或异常丢失,导致事务执行或回滚。 spring-framework/docs/current/reference/html/data-access.html#transaction-local 6、事务所在的类不是spring容器管理的 7、 事务的:数据库引起的 ---- 1、数据库引擎不支持事务 事务的:大事务引发问题 ---- 1、锁定数据太多,容易造成大量阻塞或死锁问题和锁等待时间长而引发的锁超时问题; 2、回滚记录占用大量存储空间

    1.1K31编辑于 2023-06-19
  • 来自专栏C/C++基础

    Golang 指南

    本文将介绍 Golang 初学者容易菜的,希望广告 Gopher 避而远之。 1. fmt.Println("i is nil") return } fmt.Println("i isn't nil") } fmt.Println("i is nil") } 7. i := 0; i < 10; i++ { intMap[i] = i } for _, v := range intMap { fmt.Println(v) } //9 //3 //7 //读取是有序的 参考文献 Go 神 1 —— interface{} 与 nil 的比较 - CSDN 50 Shades of Go: Traps, Gotchas, and Common Mistakes

    36210编辑于 2024-06-11
  • 来自专栏分享技术

    useState指南

    React的useState钩子是开发人员在处理函数组件状态时不可或缺的工具。尽管它看起来似乎很简单,但即使是经验丰富的开发人员也可能犯一些常见的错误,导致意外行为和错误。在本文中,我们将探讨八个常见的useState错误,并提供详细的解释和示例,以帮助你避免这些陷阱。

    76510编辑于 2023-11-27
  • 来自专栏Greenplum

    greenplum时区

    修改以下参数把美国中部时区修改成中国标准时区(CST) 1、中国标准时区(CST)和美国中部时区(CST)重名 2、GP默认会将CST识别为美国中部时区 3、导致国内时区为CST的服务器在事件计算时出现意外结果 4、解决方法      4.1 修改GP安装目录下/share/postgresql/timezonesets/Default      4.2  找到CST - 21600这行,修改为CST 28800      4.3 所有Segment和Master服务器全部修改     4

    1.1K80发布于 2020-05-28
  • 来自专栏程序员奇点

    Gorm 语法

    make([]int, 2) copy(slice, arr1[98:100]) return slice } // 调用方拿到notGCSample返回值后,[100]int所占内存会释放 7. func copy(dst, src []Type)第一个参数是dst,第二个参数是src,和Java的一般方法参数设计相反 8.

    22600编辑于 2025-03-27
  • 来自专栏Tom

    torchvision指南

    今天使用torchvision进行学习 导入torchvision的时候报错了 C:\Users\Administrator>python Python 3.7.6 (tags/v3.7.6:43364a7ae0 faster_rcnn import * File "D:\python\lib\site-packages\torchvision\models\detection\faster_rcnn.py", line 7,

    1.6K20编辑于 2022-06-08
  • 来自专栏技术随笔心得

    CRTP实践

    今天借助本文,总结下在开发过程中,使用CRTP遇到的。 容器存储 CRTP技术因为其性能优越,实现简单,在工程应用中非常广泛。实际上,相对于普通的虚函数,其具有一定的局限性。 ) at crtp.cc:11 #125 0x00000000004006c4 in Base<Derived>::PrintType (this=0x7fffffffe38f) at in Base<Derived>::PrintType (this=0x7fffffffe38f) at crtp.cc:11 #129 0x00000000004006c4 in Base< Derived>::PrintType (this=0x7fffffffe38f) at crtp.cc:11 #130 0x00000000004006c4 in Base<Derived>: (this=0x7fffffffe38f) at crtp.cc:11 从上述gdb的分析结果看出,重复执行crtp.cc中第11,即递归调用t.PrintType()。

    1.1K30编辑于 2022-08-25
  • 来自专栏明明如月的技术专栏

    花式踩Java空指针和的正确姿势

    下面介绍几种工作中可能不经意中写出的,花式踩空指针异常的姿势。 二、踩姿势 2.1 自动拆箱空指针异常 如调用类似下面这种格式的二方服务接口, 如果不进行判空而直接使用,则很容易碰到空指针: 正确的使用姿势应该是: 2.2 RPC接口返回null 二方服务的批量查询接口如果数据量大容易超时 三、预防 3.1 手册 《阿里巴巴 Java编程规范》 给出了空指针的一些常见场景: 返回类型为基本数据类型,return 包装数据类型的对象时,自动拆箱有可能产生 NPE 数据库查询结果可能为null NPE 对于 Session 中获取的数据,建议进行 NPE 检查,避免空指针 级联调用 obj.getA().getB().getC();一连串调用,易产生 NPE 3.2 源码 Java

    97010发布于 2021-08-31
  • 来自专栏全栈学习之路

    Java内存溢出的几个区域,注意

    存在内存的区域: Java堆溢出 虚拟机栈和本地方法栈溢出 方法区和运行时常量池溢出 本机内存溢出 1、Java堆溢出 Java堆用于储存对象实例,我们只要不断地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象 如果虚拟机的栈内存允许动态扩展,当扩展栈容量无法申请到足够的内存时,将抛出OutOfMemoryError异常 《Java虚拟机规范》明确允许Java虚拟机实现自行选择是否支持栈的动态扩展,而HotSpot throw e; } } } 这里可以通过指定参数-Xss128k,用来测试栈溢出的情况 3、方法区和运行时常量池溢出 HotSpot从JDK 7开始逐步 ; import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.List;

    44520编辑于 2023-07-16
  • 来自专栏腾讯技术工程官方号的专栏

    C++指南

    inline内联 5 名称查找 5.1 受限名称查找 5.2 非受限名称查找 6 智能指针 6.1 std::auto_ptr 6.2 std::shared_ptr 6.3 std::unique_ptr 7 private: T *m_ptr;};AutoPtr<int> ptr(new int(10));if(ptr){ //do something} 隐式类型转换在带来便利性的同时也带来了一些, &rhs);};Array<int> arr1(10);Array<int> arr2(10);if(arr1 == arr2[0]){ //do something} 构造函数隐式转换带来的。 str1, const char *str2){ String str(str1); str.append(str2); return str;} operator type()带来的。 "w"), ::fclose);unique_ptr<FILE, std::function<int(FILE *)>> pf(fopen("data.txt", "w"), ::fclose); 7

    2.1K30发布于 2019-06-12
  • 来自专栏萌海无涯

    ipython安装指南

    ,输入”cmd“ 点击确定,调出cmd命令行,键入“python”,查看安装状态; 出现上面的字符就说明python安装好了,我们接着下一步; 02 安装ipython的一 03 安装ipython的二 我们打出退出命令后继续执行上面的安装命令: 一看到红字就感觉哪里出错了,果不其然,又是一个错误,度娘真不靠谱,还是得自己来 ,查阅了下资料

    2.1K20发布于 2019-08-20
领券