Java
文章平均质量分 50
WLFIGHTER
这个作者很懒,什么都没留下…
展开
-
低延迟垃圾回收器ZGC
对于低延迟和高可用的Java服务,GC停顿一直是它们的痛点。ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,可用于大内存低延迟服务的内存管理和回收。原创 2022-05-22 10:51:57 · 945 阅读 · 0 评论 -
Java 线程池execute和submit的区别
execute和submit的区别方法使用场景是否有返回值异常处理execute适用于不需要返回值的场景无线程内部如果发生异常,主线程无感知。异常会通过stdout方式显示,如果需要在日志中打印,需要单独设置。方法见示例3submit适用于需要获取返回值的场景有调用future get方法时,异常会抛出。如果不调用get方法,则无法获取。示例1:execute使用 private static void executeDemo() { Runna原创 2021-02-09 17:55:21 · 799 阅读 · 0 评论 -
Java 8 时间类介绍
Java 8 中新增了3个时间类:名称说明是否可变是否线程安全LocalDate用于表示日期否是LocalTime用于表示时间(时分秒)否是LocalDateTime用于表示日期+时间否是相关示例:LocalDate //获取当前日期 LocalDate today = LocalDate.now(); System.out.println("today : " + today); //获取昨天日期 L原创 2021-02-09 17:28:03 · 194 阅读 · 0 评论 -
Java 8 字符串和时间相互转换
Java 8 字符串和时间相互转换1. 常见日期转换符号说明符号说明备注y年Y本周所在的年如果日期所在的周跨年了,年份就会是第二年的,需要注意M月(month-of-year)d日(day-of-month)D年内的第几天(day-of-year)H小时值(24小时制)h小时值(12小时制)m分钟(minute-of-hour)s秒( second-of-minute)2. 字符串转时间原创 2021-02-08 09:48:10 · 6151 阅读 · 0 评论 -
Sentinel 学习笔记
Sentinel 学习笔记文章目录Sentinel 学习笔记1. 简介2. 依赖3. 限流(FlowRule)4. 熔断降级(DegradeRule)5. 限流和熔断降级的区别6. 参考资料1. 简介Sentinel是阿里巴巴自研的限流熔断系统。2. 依赖<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId>原创 2021-02-03 09:47:19 · 172 阅读 · 0 评论 -
spring 声明性事务
事务全有全无的操作被称为事务。可以使用spring的声明性事务实现。原创 2017-03-19 19:51:58 · 550 阅读 · 0 评论 -
Effective Java学习笔记 第65条:不要忽略异常
空的catch块应该包含一条说明,解释为什么可以忽略这个异常。正确的处理异常能够彻底挽回失败。只要将异常传播给外界,至少会导致程序迅速地失败,从而保留了有助于调试该失败条件的信息。原创 2016-09-17 20:04:32 · 416 阅读 · 0 评论 -
Effective Java学习笔记 第64条:努力使失败保持原子性
失败原子性(failure atomic)失败的方法调用应该使对象保持在被调用之前的状态。原创 2016-09-17 20:00:54 · 751 阅读 · 0 评论 -
Effective Java学习笔记 第61条: 抛出与抽象相对应的异常
更高层的实现应该捕获低层的异常,同时抛出可以按照高层抽象进行解释的异常 使用异常链来让高层抽象包含低层的异常,便于以后排除问题。try { ...} catch(LowerLevelException e) { throw new HigherLevelException(message , e);}原创 2016-09-17 17:50:03 · 748 阅读 · 0 评论 -
Effective Java学习笔记 第60条: 优先使用标准的异常
常用的异常原创 2016-09-17 17:36:47 · 407 阅读 · 0 评论 -
Effective Java学习笔记: 第59条 避免不必要地使用受检的异常
受检异常强迫程序员处理异常条件。 过分使用受检异常会是API使用起来非常不方便。受检异常的使用场景:如果正确地使用API并不能阻止这种异常条件的产生;并且一旦产生异常,使用API的程序员可以立即采取有效的动作。如果这两个条件都成立,这种负担就是正当的。否则就适用于未受检的异常。原创 2016-09-17 17:29:45 · 661 阅读 · 0 评论 -
Effective Java学习笔记: 第58条 对可恢复的情况使用受检异常,对于编程错误使用运行时异常
java提供了三种可以抛出的结构: 1. 受检异常(checked exception) 2. 运行时异常(runtime exception) 3. 错误(error)运行时异常和错误都是不需要也不应该被捕获的可抛出结构。如果程序抛出运行时异常或者错误,说明出现了不可恢复的情形,继续执行下去有害无益。如果没有捕捉到这样的结构,将会导致当前线程停止,并出现适当的错误消息。原创 2016-09-17 17:16:50 · 832 阅读 · 0 评论 -
Effective Java学习笔记: 第57条只针对异常的情况才使用异常
摘要:异常应该只用于异常的情况下,它们永远不应该用于正常的控制流。 设计良好的API不应该强迫它的客户端为了正常的控制流而使用异常。如果对象有“状态相关的方法”。可以使用如下的两种方式来避免调用该方法时,抛出异常。状态测试方法使用方法来判断对象的“状态相关方法”是否可以被调用。 例如:Iterator接口的hasNext方法i.hasNext()可识别的返回值返回一个可以识别的值来表示当前的对象原创 2016-09-17 17:03:10 · 547 阅读 · 0 评论 -
Effective java学习笔记:第43条 返回0长度的数组或者集合,而不是null
1.目的避免因为返回null,导致调用端代码必须检查返回值是否为null2.方法2.1返回长度为0的数组2.2返回空集合原创 2016-09-17 16:29:35 · 534 阅读 · 0 评论 -
Spring获取properties文件中的属性
使用spring代码直接载入配置文件,获取属性信息使用@Value注解获取属性原创 2016-09-17 16:16:27 · 11529 阅读 · 3 评论 -
JAVA编程规范(整理)
1. 变量的命名1.1 常量命名:字母全部大写,单词以下划线连接 静态常量字段: static final 全部大写,单词用“_” 连接1.2 变量命名:普通变量:首字母小写,其它每个单词的首字母大写。名字应该简短而有特定的含义,简洁明了的向使用者展示其使用意图。约定变量:使用后即可抛弃的临时变量。 整形:i,j,k,m,n 字符型: c,d,e循环计数变量:i,j,k,count原创 2016-06-26 17:53:21 · 422 阅读 · 0 评论 -
byte[]作为Map key的问题
1. TreeMap:为TreeMap指定Comparator,这样就能够使用byte[]作为key了。2. HashMap:byte[]会按照地址生成hashcode,作为key的话需要注意原创 2016-06-25 10:31:51 · 4045 阅读 · 0 评论