![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
是夜色太荒芜
编程中最没用的东西是源代码,最有用的东西是算法和数据结构
展开
-
雪花算法前台精度丢失解决方案
前言雪花算法生成的Long型ID,传到前台时末尾精度丢失。后台数据1402848130449276928传到前台变为1402848130449277000。为了兼容先前代码。方案为:后台类型保持不变。jackson序列化数据到前台时,将Long转为String。前台使用String类型ID,既不影响前后台数据交互,也不影响前台大部分代码,我的前台系统代码也只是修改了分页插件的Total变量,将其再次转为Number类型。后台序列化第一种方案:此种方案仅在系统中没有使用@EnableWebMvc注解时原创 2021-06-12 11:49:47 · 682 阅读 · 0 评论 -
jpa+AbstractRoutingDataSource+Transactional数据源切换失效
当一个请求内进行了多个dao层操作,且使用了Transactional事务,除了第一次会通过AbstractRoutingDataSource的getConnection方法切换数据源。后续CRUD操作,会包含在上一个事务中。不会进行数据源切换。通过跟踪事务拦截链为:类方法TransactionAspectSupportcreateTransactionIfNecessaryAbstractPlatformTransactionManagergetTransaction原创 2021-05-31 01:08:28 · 1518 阅读 · 0 评论 -
java8 Option操作归纳
判断map中元素不为空HashMap<String,Object> map = new HashMap<>();map.put("test",null);StringUtils.isNotEmpty(Optional.ofNullable(map.get("test")).orElse("").toString())原创 2021-05-28 18:04:05 · 385 阅读 · 0 评论 -
java8 Stream 操作归纳
前言返回一个{Collector},它对类型为T的输入元素执行分组操作,然后将结果返回到{Map}中。public static <T, K> Collector<T, ?, Map<K, List<T>>> groupingBy(Function<? super T, ? extends K> classifier) { return groupingBy(classifier, toList()); }根原创 2021-05-17 19:54:14 · 611 阅读 · 0 评论 -
异步请求工具类支持CompletableFuture
AsyncHttpClient(AHC)库允许Java应用程序轻松执行HTTP请求并异步处理HTTP响应。 该库还支持WebSocket协议。它的请求处理机制基于netty。作者@TomGranot 基于AsyncHttpClient和CompletableFuture,我编写了一个工具类。AsyncHttpClient:异步执行请求CompletableFuture:异步处理结果,并可聚合多个请求结果完整代码已上传httpAsync引入<dependencyManagement>原创 2021-05-06 18:41:27 · 805 阅读 · 1 评论 -
HashMap原理深入分析
引言 哈希表是基于Map接口实现的实现类。 这个实现类提供所有可选的Map操作,并允许空值和空键。HashMap大致相当于Hashtable,区别之处在于它不是线程安全的,并且允许空值和空键。这个类不保证Map的顺序,特别是,随着时间的推移,Map的顺序也会改变。 ...原创 2019-10-16 16:32:33 · 245 阅读 · 0 评论 -
【译】SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
概述&amp;amp;amp;amp;nbsp;我们为高度并发的Internet服务提出了一种新设计,我们将其称为分阶段事件驱动架构(SEDA)。SEDA旨在支持大规模并发需求并简化良好服务的构建。在SEDA中,应用程序由通过显式队列连接的阶段事件驱动网络组成。这种架构使服务具有良好的负载,在需求超过服务容量时防止资源过度使用。尽管负载波动很大,但SEDA利用一组动态资源控制器将各阶段保持在其运行状态。我们描述了几种用于自动...原创 2018-08-12 09:22:08 · 1992 阅读 · 0 评论 -
ThreadLocal源码与设计思想深入分析
最近突然想到ThreadLocal虽然能够为每个线程提供一个变量的副本,实现线程之间变量操作的隔离性、互不影响。但是它却不能保证状态变量的线程安全性,也就是说如果ThreadLocal为每个线程保存的变量原本就是线程不安全的,那么在多线程环境下,对此变量的操作依然存在并发安全问题。并且ThreadLocal并不能实现父子线程之间变量的传递【它的子类InheritableThreadLocal能够实...原创 2018-07-28 14:53:13 · 321 阅读 · 0 评论 -
二分查找算法
二分查找算法,是一种在有序数组中查找某一特定元素的搜索算法。 注意两点: (1) 有序:查找之前元素必须是有序的,可以是数字值有序,也可以是字典序。为什么 必须有序呢? 如果部分有序或循环有序可以吗? (2) 数组:所有逻辑相邻的元素在物理存储上也是相邻的(顺序存储),确保可以随机存取。算法思想: 搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素, 则搜素过程结原创 2015-06-05 17:43:24 · 1024 阅读 · 0 评论 -
SQL查询返回数据多列,保存在list中时,怎么取值
SQL:select DISTINCT a.as_id as id,a.as_subjectnum as subjectnum from Pm_Announcementsubjectinfo a where a.as_Auctiontime like '%2015.05%'返回的数据为List:[[82061cd1c8924cb8b0076922a47f95d7, null],原创 2015-05-07 15:30:55 · 5929 阅读 · 0 评论 -
HibernateException异常:identifier of an instance of bean was altered from 1 to 1(持久化对象ID变更)
原文地址:http://blog.csdn.net/yaerfeng/article/details/7387871javahibernateobject今天算是遇到一个问题了。相当苦恼。需求如下:有2个相同id的对象,但它们的值不同。其中一个对象要用到另一个对象的属性值。由于在hibernate的sessionFactory().getSession中不能存在2个转载 2015-05-05 11:05:50 · 4600 阅读 · 0 评论 -
java中\r与\n的区别 (主要是在windows中DOS命令下)
\r : return 到当前行的最左边。\n: newline 向下移动一行,并不移动左右。历史:回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。 在计算机还没有出现之 前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就原创 2015-04-17 15:01:39 · 955 阅读 · 0 评论 -
关于java中的"错误:找不到或无法加载主类”的解决办法
对于初学者,刚开始编译时,可能会碰到这样的情况,即编译java文件是成功地。但是,执行java命令时,出现了“错误:找不到或无法加载主类”的问题。对于此类问题,首先从语法的角度出发,程序是没有问题的。那么,问题到底出错在哪里呢?既然编译时成功了,而执行java命令是错误的。那么就要考虑,是不是路径出错了呢?那么我们检查下系统变量是否配置成功。发现路径配置并没有完全正确,如下所示:转载 2015-04-17 13:10:50 · 1699 阅读 · 0 评论 -
BASE64编码(网络机器人JAVA编程指南学习)
Base64编对应表(十进制)以字符串Spider为例public class Test1 { private static char[] toBase64 = { 'A','B','C','D','E','F','G','H', 'I','J','K','L','M','N','O','P', 'Q','R','S','T','U','V','W原创 2015-04-16 21:49:37 · 530 阅读 · 0 评论 -
输入输出流
原文地址:http://blog.csdn.net/hguisu/article/details/74181611.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提转载 2015-04-03 14:46:46 · 638 阅读 · 0 评论 -
oracle数据中记录被另一个用户锁住
今天,运行Java后台程序,设置了断点,每到执行SQL语句时,就卡住,执行检查,发现SQL语句并没有问题,程序没没问题,于是把语句拷贝到PL/SQL里面执行,发现还是语句执行了很久都没有结果,于是我中断执行,我使用的是Update语句。 于是我就直接在上面改字段,在点打钩(记入改变)的时候提示,记录被另一个用户锁住,一开始还以为整个表被锁住了,后来发现,仅仅是这个字段不能转载 2015-01-09 10:24:11 · 477 阅读 · 0 评论 -
Date中的天数对应星期几
Date中的天数对应星期几原创 2014-12-16 17:15:27 · 643 阅读 · 0 评论