- 博客(306)
- 资源 (4)
- 收藏
- 关注
原创 String转List示例(java)
本文涉及到了两种String格式的转换:格式为 “1,2,3”;格式为 [{“uid”:“1”,“userName”:“小明”},{“uid”:“2”,“userName”:“小红”}]第一种:String uid="1,2,3";(1)转为List<Long> uids={1,2,3}List<Long> uids=Arrays.stream(uid.split(",")).map(s->Long.parseLong(s.trim())).collect(C
2021-11-08 11:09:43
92544
4
原创 【Springcloud】详解Hystrix(断路器)
这篇我们说说Springcloud的第三个组件——Hystrix。Hystrix类似于电路上的“保险丝”。我们知道,如果短时间内用电量过大,保险丝会“自杀”,从而断电,起到保护电路安全的作用。这也就是常说的“跳闸”。Hystrix就是系统的保险丝,至于具体是如何保护的,请接着看。Hystrix是什么?Hystrix是用于服务保护的,当某个服务单元发生故障后,通过断路器的故障监控,向调用方返...
2019-07-29 21:16:39
769
原创 趣谈java单例模式
什么是单例模式确保一个类最多只有一个实例,并提供一个全局访问点。就像你是你们家的独生子,一旦邻居跟你爸告状说“你家孩子打架了”,说的只可能是你。单例模式有两种创建方式:懒汉式和饿汉式。在下文会对其进行详细解说。使用场景和优缺点使用场景(1)网站计数器。当需要统计当前在线人数,只能用一个全局对象来记录。(2)应用程序的日志。日志内容一般为共享操作,需要在后面不断写入内容,所以需要单例模...
2019-06-23 10:39:23
962
5
原创 小仙女讲JVM(7)—JVM优化
还以这个图为例,从.java到.class是编译过程,从.class到机器码是解释过程。下面对其进行分别优化。在优化过程中,对编译阶段的优化主要是对前端编译器的优化,在运行阶段的优化,主要是对即时编译器的优化。编译器优化编译过程以上为javac的编译过程图,以下为javac编译过程的主体代码。下面对其步骤进行详细解读1、解析与填充符号表词法分析将源代码的字符流转变为标记(...
2019-06-21 20:31:21
1960
16
原创 小仙女讲JVM(5)—类加载机制
上篇中我们讲解了Class文件,这篇我们说说虚拟机是如何加载这些Class文件的?Class文件中的信息进入到虚拟机后会发生什么变化?这就涉及到了类加载机制。类加载机制是把类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。这一系列的过程都是在程序运行期间完成的。类加载器类加载器就是下图中红框的部分,它通过一个类的全限定名来获取...
2019-06-19 16:36:56
4395
19
原创 小仙女讲JVM(2)—内存的划分
我们知道,在C++语言里,如果想使用一个对象,需要对其进行new操作;如果不用这个对象了,需要对其进行delete操作。一旦开发人员忘记写delete语句了,就会造成内存泄露。【内存被对象占用着不还,就叫内存泄露。】而java就聪明了,它从“手动”进化成了“自动”,把内存的控制权力交给了虚拟机。下面我们就来窥探一下jvm是怎么进行自动内存管理的。这是自动内存管理的思维导图,在本篇我们只说说...
2019-06-18 20:30:50
10561
34
原创 小仙女讲JVM(1)—综述
大家好,自从上次讲了软考课程之后,本仙女受到了社会各界的一致好评。本仙女怀着用毕生所学回报社会的热忱,打算花大手笔进行JVM的讲解。1、首先,对以上的四部分进行解释。(1)自动内存管理讲的是java运行时数据区里的部分,分为内存划分和垃圾收集器。(2)执行子系统讲的是画红圈的三部分:类文件结构、类加载机制、字节码执行引擎。(3)优化分别为编译期优化和运行期优化。(4)并发讲的是虚拟机...
2019-06-18 16:04:03
38557
163
原创 docker是啥?是干什么的?
what?定义我们知道,软件依赖的环境大致包括:• 配置文件• 代码• tomcat• JDK• 操作系统Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。思想:集装箱标准化隔离核心docker有3大核心:镜像、容器、仓库。鲸鱼是操作系统。要交付的应用程序是各种货物,...
2019-01-31 20:40:18
63720
15
原创 【java反射】反射是啥?是干啥用的?
反射是啥反射既然有“反”,就说明它是一个逆向的过程。那我们先来看看正向过程是怎样的。设计一个类,类实例化成对象,对象调方法或属性去实现一些功能。那反射是什么呢?不知道大家是否还记得上图,这是刚接触java时学到的知识。我自己的理解是现在是知道1,反推到2,然后再通过2得到一些别的信息。(这只是我的推测,至于具体是不是,还需日后深究)类比到现实中的场景是:你:妈妈,你知道剪刀在哪吗?...
2019-01-04 21:45:24
17956
32
原创 从原理到落地:金融Java项目减少误差的手段
金融项目对数据精度的要求是比较严格的,需要符合资金对账,合规审计等要求。下面从4个层面来说说怎么减少误差:精度计算、数据传输、并发执行、校验保障。
2026-03-05 17:45:00
394
原创 用策略模式重构if-else:从示例代码看优化思路
策略模式适用于<同一行为有多种不同实现规则>的场景,将各种策略分开处理,独立维护,可以让代码结构更清晰、更易扩展
2026-03-01 20:15:00
28
原创 ABS金融实战:数据一致性与4种实现方案
什么叫做数据一致性?系统里所有相关数据,在业务操作完成后,始终保持逻辑上的正确、完整、无矛盾。在金融项目中,实现数据一致性大概有4种方案:本地事务、分布式事务、业务层保障、对账与核对机制。
2026-02-20 10:00:00
586
原创 从金融项目到ABS:Java开发的一线分享
今日以Java开发的角度来聊聊金融项目。金融项目一般分为4大类:资金交易类、信贷产品类、风险控制类、资产管理类。其中我正在做的ABS系统属于资产管理类。
2026-02-13 14:32:44
625
原创 怎么删除OneNote的笔记本?
1、在OneNote软件里,只能关闭笔记本,不能删除2、直接在网页访问oneDrive的网址,发现因为网络问题访问失败。
2026-01-20 15:42:57
246
原创 人生没有白走的路——2025年终总结
一年又一年,转眼又到了年底。今年的小生活过的依旧平淡无奇,除了按时上下班做牛马,就是利用下班时间争分夺秒备考在职研
2025-12-29 11:24:43
526
原创 追风赶月莫停留,平芜尽处是春山—记一次备考经历(上)
参加了25年硕士研究生考试,距离考完已经过去3天了,现在想来,依旧觉得有些恍惚,像是刚从一场长长的梦中醒来……
2024-12-25 19:45:00
1484
原创 【达梦】“6103无效的时间类型值”解决办法
尝试2:将库里此字段的类型改为time,导入成功,数据正确。之后再改回timeStamp,此时所有时间都变为了1990……一看就是createTime等跟时间相关的字段出问题了。createTime在库里的数据类型为timeStamp。先将库里此字段的类型改为varchar,然后导入excel数据。最后再将字段类型改回timeStamp。使用DM数据迁移工具将excel文件里的数据导入到达梦数据库里。提示“无效的时间类型值”尝试1:修改excel里此字段的类型,依旧报错。
2024-09-04 20:30:00
694
原创 @Transactional的使用大全与注意事项
什么时候用?在某个接口内需要进行事务处理的。比如在一个方法中,先要修改a表,然后将修改记录存到b表。业务需要这一系列操作是原子性的。什么时候不用?加上事务会拖慢接口的响应速度,所以要慎重。(1)接口是幂等的时候。比如我要从a表查询出数据,然后将数据新增或更新到b表。这本来就是幂等的,不用加事务。(2)本来就是事务的情况,比如批量插入个list。【这块需要注意,数据库的批量插入本来就是原子性的,等insert方法执行完后,这批数据才会一下子出现在库里。执行期间,库里是不会动态新增数据的】怎么用。
2024-08-31 17:45:00
676
原创 一口气看完Java中的异常及处理(错过拍大腿)
写完一段代码,可能会出现各种各样的问题,比如有的直接在idea里爆红了,有的项目启动时报错了,有的调用到这行代码才会报错……。这些都属于程序异常,今天我们来聊聊异常。
2024-08-26 15:12:45
1215
原创 【layUI】点击导出按钮,导出excel文件
(3)后端导出方法要做的工作有:根据传入的code查询出数据,填充到excel里;将excel上传到服务器上;要实现的功能如下:根据执行状态判断是否可以导出。如果可以导出,点击导出,在浏览器里下载对应的文件。(4)export()方法接收到这个url地址后,请求这个地址,在h5页面下载excel文件。(1)调用后端查询列表方法,在列,定义导出按钮,并去调用export()方法。这个导出按钮是在js里添加并实现逻辑的,和之前是在html里添加的不一样。(2)在export()里,去调用后端导出方法。
2024-08-23 18:00:00
1823
原创 【layUI】只能选某个特定区间的日历
1、layUI是一个前端框架,同级别的有Vue、Angular、React等。又比如只能选xxx月xxx日~xxx月xxx日的日子,直接填充日期即可。2、开发中可参考的文档如下,常用的样式怎么写,里面都写的明明白白儿的了。要实现的功能如下:业务要求让日历只有近3天可选,其它部分变灰且不可选。比如要实现只能选前2天后3天,则min=-2,max=3。2、min、max是实现功能的关键。datetime:年月日时分秒。date:年月日,默认是这个。
2024-08-19 20:30:00
839
原创 一口气看完es(下)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es
2024-05-29 20:00:00
285
原创 一口气看完es(中)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es。这篇我们讲讲es中的几种查询和对搜索结果进行处理。基本概念。
2024-05-28 21:30:00
434
原创 一口气看完es(上)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es
2024-05-27 17:16:10
1089
原创 用大白话来讲讲多线程的知识架构
cpu就像同时负责多个流水线的女工:在流水线①上操作——将①暂停——去流水线②上操作——将②暂停——返回流水线①继续操作……
2023-08-26 23:58:55
2035
1
原创 实现幂等性的几种方式及其注意事项
什么是幂等性?幂等性就是当用户对于同一操作发起一次或多次请求时,得到的结果都是一样的。比如购物下单时,即使用户可能由于手机卡顿等原因点了好几次“提交订单”,那也只能扣一次费和生成一个订单。什么情况下需要做幂等性处理?读取和删除,操作一次和多次的结果都是一样的,所以不用考虑幂等处理。下面两种情况需要考虑:(1)insert,多次请求时可能会产生重复数据(2)update,分情况,如果像这种,不用考虑。像就需要考虑了。实现幂等性的方式下面列举一下在分布式情景下实现幂等性的几种方式。
2022-11-29 15:34:06
662
原创 es中的match、term、text、keyword、bool
总结一下es中的match、term、text、keyword、bool等关键字。比如我想搜索一辆“红色奥迪车”
2022-09-11 16:32:34
1957
原创 生产故障的分类与示例
查询某个字段有多少个不同的值,有如下几种方式:select count(distinct city_name) from cityselect distinct city_name from cityselect city_name from city group by city_name后两者只能列举出有哪些不同的值
2022-06-26 20:38:24
262
原创 越努力,越幸运—2021年终总结
今天是2021年12月30日,还有1天这一年就结束了。期待明晚罗胖的跨年演讲,也期待德云社的跨年专场。如果要用一句话来总结2021年的感悟,我能想到的最贴切的一句就是“越努力,越幸运”。这一年,经历了很多,性子也沉稳了很多。今年经历了哪些经历1、换工作今年算是彻底经历了一场互联网的动荡,眼睁睁看着公司从鼎盛期的4000多人,减员到几十人,接下来就是面临倒闭。自己也从刚开始的安全感分崩离析到慢慢让工作生活走向正轨,一点点重新建立内心秩序。今年不光是社区团购受影响,教培更是整个行业走向了死亡。经历了这场
2021-12-30 23:28:17
1557
4
原创 将数据导成excel(java)
if ((userAgent.contains("Android") && Integer.parseInt(var) > 511) ||(userAgent.contains("iPhone") && Integer.parseInt(var) > 436)) { //未开始url vo.setLink(LIVE_SUBSCRIBE + liveId); } else { vo.setLink(L.
2021-10-21 20:41:19
336
原创 获取当前是哪年第几周
if ((userAgent.contains(“Android”) && Integer.parseInt(var) > 511) || (userAgent.contains(“iPhone”) && Integer.parseInt(var) > 436)) {//未开始urlvo.setLink(LIVE_SUBSCRIBE + liveId);} else {vo.setLink(LIVE_SUBSCRIBEV2 + liveId);}..
2021-10-20 18:30:17
204
《可伸缩服务架构框架与中间件》-dubbo的demo
2018-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅