- 博客(25)
- 收藏
- 关注
原创 Spring-Serverless翻译
Serverless applications take advantage of modern cloud computing capabilities and abstractions to let you focus on logic rather than on infrastructure. In a serverless environment, you can concentrate on writing application code while the underlying platfo
2020-07-19 00:24:41
351
原创 翻译Spring-Reactive
Reactive systems have certain characteristics that make them ideal for low-latency, high-throughput workloads. Project Reactor and the Spring portfolio work together to enable developers to build enterprise-grade reactive systems that are responsive, resil
2020-06-26 11:04:19
313
原创 翻译Spring官网-Microservices
原址:https://spring.io/microservicesMicroservice architectures are the ‘new normal’. Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code. Spring Boot’s many purpose-built features make it
2020-06-21 12:37:49
458
原创 学会看英文文档-简单翻译
自从开始写代码,一直没认值接触英文文档。自从学习使用gitlab,就意识到能阅读英文文档是一件很重要的事,所以我决定从头开始,从一些比较简单的英文文档开始翻译。目标是不长,看看半年是什么效果,选择一些常见的文档,Spring,gitlab开始。下面是翻译Spring的官方网站:https://spring.io/why-springWhy Spring? Spring makes programming Java quicker, easier, and safer for everybody.
2020-06-17 23:29:46
400
原创 Could not transfer metadata cn.XXX-XX:1.1.1-SNAPSHOT/maven-metadata.xml from/to snapshot
本地编译无法下载私服库,尝试deploy时报错:UNKNOW HOST。想起之前公司迁移过私服库,故将需要修改本机IP映射配置。方法:c:/windows/system32/drivers/etc找到hosts文件,将MAVEN配置中的私服库域名和IP的映射关系配置上即可正常。类似如下:...
2020-06-13 20:20:27
4257
2
原创 简单DTO对象比较工具类
因工作需要对两个数据库表DTO对象进行比较。public class CompareFacility { public static boolean objectEqualsTo(Object t1,Object t2){ boolean result = true; if( t1 == null || t2 == null){ throw new NullPointerException(); } .
2020-06-13 20:03:33
532
原创 《转》常用Java工具类
一. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块 toString:转换IO流、 Uri、 byte[]为String copy:IO流数据复制,从输入流写到输出流中,最大支持2GB toByteArray:从输入流、URI获取byte[] write:把字节. 字符等写入输出流 toInputStream:把字符转换为输入流 readLines:从输入流中...
2020-05-30 15:29:27
147
原创 JACKSON和FASTJSON,精度转换的区别。
最近开始使用JACKSON,在使用的过程中作下总结:1,JACKSON会精度丢失,JSON中0.00转为对象时,JACKSON会转为DOUBLE:0.0,导致精度丢失。2,FASTJSON不会出现此种问题,因为会默认BIGDECIMAL,这个可以进行设置。3,所以0.0以及0.00,JACKSON不能进行强转,但是FASTJSON却可以。4,所以在JSON传输时,可以把高精度转为S...
2019-08-15 23:26:04
1127
原创 spring 将接口实现类注入Map
spring本身会自动将接口的实现类直接@Autowired注入Map,list等集合中,无需作任何配置。直接上代码。接口类:public interface Pepole { String say();}实现类有三个:@Componentpublic class Britisher implements Pepole { @Override public S...
2019-06-29 00:36:41
3253
1
原创 导入maven项目,报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav
百度了下别人的答案,主要是删除工作空间的.metadata,然后重新导入,但是我的没效果。去StackOverflow看了同样的问题,里面有个答案是通过删除repository的maven目录,重新update才OK的。试了下,我的也OK了。...
2019-05-06 13:52:18
1650
1
原创 gitlab作springConfig的仓库,报错Cannot clone or checkout repository。
先上配置文件server: port: 8099 spring: application: hyl-config-server cloud: config: server: git: uri: http://gitlab.hyl.com.cn/hyl/configserver.git usern...
2019-03-31 14:01:06
515
原创 ReentrantLock和synchronized性能比较
ReentrantLock和synchronized在低并发的时候性能差距不大,本次主要测试高并发时的性能。使用ReentrantLockpublic class SysDemoTest implements Runnable{ private HashMap<String,Integer> x; private CountDownLatch latch; ...
2019-03-30 12:40:12
2521
1
原创 spring-boot中logback日志框架的使用。
简单介绍下logback:logback是slf4j的实现,两者是同一个作者也是目前最流行的日志框架之一。在springboot下使用无需额外引用jar包。如果你只是简单使用日志,可以在application.properties或者bootstrap.yml直接进行配置:logging.level.root=infologging.level.com.phfund.aplus.ahd...
2019-03-17 15:44:31
152
原创 ThreadPoolExecutor中关于keepAliveTime的解读
先说结论:它是指大于核心线程数的线程空闲多久后被移除。首先要明白ThreadPoolExecutor中的Worker是干嘛的?它其实是一个持有Task工作任务的线程封装类,也就是它来直接执行你提交的task任务的run()的。从execute方法开始 public void execute(Runnable command) { if (command ==...
2019-02-25 01:07:39
1519
原创 本项目分布式环境下生产全局唯一ID的做法
一般全局ID作为数据库的主键使用,主要有3种实现方式。1,UUID:唯一但是不连续,作为字符串索引效率低,也不保证随机。2,自增序列:绝对递增,长度可控,作为索引时效率高。3,snowflake:按时间趋势递增,单独使用时效率较高。目前我们项目主要使用第二种方式,部分使用UUID。项目架构为dubbo+zk,使用专门流水服务器来生产ID,序号存储在数据库的流水表中。可以...
2019-02-13 10:54:29
220
原创 java基础,多线程环境下static,volatile关于线程安全的理解。
一直以来没能理解为什么static不能代替volatile,同时volatile的可见性到底是怎么一回事?查阅了相关资料:1。首先要明确static是干嘛的,static成员变量在类初次被加载的时候初始化,而且在内存中只有一份,所有实例共享,也就是大家都是操作的同一个变量,但是他是不能保证线程安全的。这个可以写个小demo,很好证明。2。static 和 volatile是描述不同维度...
2019-01-24 14:56:49
875
1
原创 JedisSentinelPool源码总结
该类在初始化的时候,会将监视redis主从的sentinels放入一个list。 遍历该list,向sentinel发送一个命令:获取指定masterName的地址,而且只要有一个sentinel响应就终止循环。 根据上面获取的masters地址,与masters建立连接并初始化GenericObjectPool,由它来获取Jedis实例。 与此同时,客户端与se...
2019-01-20 12:41:35
415
原创 应用线程数过高及生产问题的排查:ThreadPoolExecutor
因为最近支付系统总是报错无法创建新的线程导致交易失败,领导很重视。查看linux对用户的限制(ulimit -a),发现文件句柄和线程数的大小限制在1024,而通过查看应用实时线程发现数量超过了1100+(pstree -p `ps -e | grep pay | awk '{print $1}'` | wc -l)。通过jstack检查dump文件发现有大量由线程池创建的线程,并且状态为WAIT...
2019-01-15 00:09:18
1475
原创 java NIO复制文件总结 最快的两种方法
普通复制方法就不总结。第一种:FileChanel.transferTo(0, size, out)第二种:Files.copy(source, out)两种都是NIO包下类。第一种使用方法: public static void test3(){ //输出7366ms long start = System.currentTimeMillis(); System...
2019-01-10 00:09:24
446
原创 IO与NIO常用JAVA写API的用法和速度对比
最近把IO和NIO相关文档复习了下,抽空作下总结。1,常用API的用法,这里只考虑写操作,读操作下次专门写。2,API之间的效率,及系统相关影响。3,模拟最常用的写字符文件。4,对比两类大小的文件:100M和1G。5,尽量排除字符转字节带来的性能影响。6,本人电脑配置I7-4790U,硬盘是SSD。主要对比API效率如下:1,FileOutputStream:没缓存...
2018-12-18 00:21:07
408
原创 一次GC线程占用系统CPU过高处理过程
因为测试人员报告说,最近订单系统总是超时,要重启才能恢复正常,但是第二次复现的时间不固定。然后先是查看下应用状态是否正常,没有问题。然后查看日志,发现有很多交易报超时。仔细查看超时的日志,发现什么类型的交易都有,而且超时的地方也不固定,更像是系统或者架构层面的错误。赶紧看下(ps ux)linux系统的状态。发现订单应用的CPU已经100%,但是内存还有剩余,内存占用 大概30...
2018-12-12 20:18:52
4680
原创 oracle表空间不足,相关查询和处理
今天用PL SQL Developer往oracle数据库中导入数据时,突然报错,只能终止,错误的具体内容如下:ORA-01653: unable to extend table BOSDATA.KSYS_RWYXRZ by 128 in tablespace本报错意思BOSDATA表空间不足了。出现这种表空间不足的问题一般有两种情况:一种是表空间的自动扩展功能没有开;另一种是空间确实不够用...
2018-11-18 14:13:02
1308
原创 redis-4.0.11的配置说明
参考了文档和别人的解释,有很多功能没用到,以及解释的不购详细。-----------------------------------------------------------------------------------------------------------------------------------------------------------------------...
2018-10-13 17:02:30
504
原创 用sentinel作Redis集群,总结下自己遇到的坑,以及探讨下改如何设置哨兵模式。
先写总结1.sentinel 的配置文件要配置master的密码:sentinel auth-pass mymaster phFUND_linux_redis。2.为了主从能自由切换请给主从都配置好密码,而且要设置相同的密码(完成切换后,因为从没有配置masterauth,导致重启后连接不上主):masterauth "phFUND_linux_redis"requirepass ...
2018-09-30 16:38:40
6547
4
原创 java实现异步转同步
由于工作中会用到多个子线程需要同步的问题,所以了解到一个类:CountDownLatch这个类内部有计数器,当计数器为0时才会执行下一步操作。这个计数值就是你需要同步的步骤数,通过构造方法传入。案例:public class CountDownLatchDemo {final static SimpleDateFormat sdf = new SimpleDateForma
2017-03-31 09:28:35
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人