- 博客(299)
- 资源 (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
90880
4

原创 【Springcloud】详解Hystrix(断路器)
这篇我们说说Springcloud的第三个组件——Hystrix。Hystrix类似于电路上的“保险丝”。我们知道,如果短时间内用电量过大,保险丝会“自杀”,从而断电,起到保护电路安全的作用。这也就是常说的“跳闸”。Hystrix就是系统的保险丝,至于具体是如何保护的,请接着看。Hystrix是什么?Hystrix是用于服务保护的,当某个服务单元发生故障后,通过断路器的故障监控,向调用方返...
2019-07-29 21:16:39
715

原创 趣谈java单例模式
什么是单例模式确保一个类最多只有一个实例,并提供一个全局访问点。就像你是你们家的独生子,一旦邻居跟你爸告状说“你家孩子打架了”,说的只可能是你。单例模式有两种创建方式:懒汉式和饿汉式。在下文会对其进行详细解说。使用场景和优缺点使用场景(1)网站计数器。当需要统计当前在线人数,只能用一个全局对象来记录。(2)应用程序的日志。日志内容一般为共享操作,需要在后面不断写入内容,所以需要单例模...
2019-06-23 10:39:23
913
5

原创 小仙女讲JVM(7)—JVM优化
还以这个图为例,从.java到.class是编译过程,从.class到机器码是解释过程。下面对其进行分别优化。在优化过程中,对编译阶段的优化主要是对前端编译器的优化,在运行阶段的优化,主要是对即时编译器的优化。编译器优化编译过程以上为javac的编译过程图,以下为javac编译过程的主体代码。下面对其步骤进行详细解读1、解析与填充符号表词法分析将源代码的字符流转变为标记(...
2019-06-21 20:31:21
1913
16

原创 小仙女讲JVM(5)—类加载机制
上篇中我们讲解了Class文件,这篇我们说说虚拟机是如何加载这些Class文件的?Class文件中的信息进入到虚拟机后会发生什么变化?这就涉及到了类加载机制。类加载机制是把类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。这一系列的过程都是在程序运行期间完成的。类加载器类加载器就是下图中红框的部分,它通过一个类的全限定名来获取...
2019-06-19 16:36:56
4355
19

原创 小仙女讲JVM(2)—内存的划分
我们知道,在C++语言里,如果想使用一个对象,需要对其进行new操作;如果不用这个对象了,需要对其进行delete操作。一旦开发人员忘记写delete语句了,就会造成内存泄露。【内存被对象占用着不还,就叫内存泄露。】而java就聪明了,它从“手动”进化成了“自动”,把内存的控制权力交给了虚拟机。下面我们就来窥探一下jvm是怎么进行自动内存管理的。这是自动内存管理的思维导图,在本篇我们只说说...
2019-06-18 20:30:50
10505
34

原创 docker是啥?是干什么的?
what?定义我们知道,软件依赖的环境大致包括:• 配置文件• 代码• tomcat• JDK• 操作系统Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。思想:集装箱标准化隔离核心docker有3大核心:镜像、容器、仓库。鲸鱼是操作系统。要交付的应用程序是各种货物,...
2019-01-31 20:40:18
62928
15

原创 【java反射】反射是啥?是干啥用的?
反射是啥反射既然有“反”,就说明它是一个逆向的过程。那我们先来看看正向过程是怎样的。设计一个类,类实例化成对象,对象调方法或属性去实现一些功能。那反射是什么呢?不知道大家是否还记得上图,这是刚接触java时学到的知识。我自己的理解是现在是知道1,反推到2,然后再通过2得到一些别的信息。(这只是我的推测,至于具体是不是,还需日后深究)类比到现实中的场景是:你:妈妈,你知道剪刀在哪吗?...
2019-01-04 21:45:24
17847
32
原创 追风赶月莫停留,平芜尽处是春山—记一次备考经历(上)
参加了25年硕士研究生考试,距离考完已经过去3天了,现在想来,依旧觉得有些恍惚,像是刚从一场长长的梦中醒来……
2024-12-25 19:45:00
1031
原创 【达梦】“6103无效的时间类型值”解决办法
尝试2:将库里此字段的类型改为time,导入成功,数据正确。之后再改回timeStamp,此时所有时间都变为了1990……一看就是createTime等跟时间相关的字段出问题了。createTime在库里的数据类型为timeStamp。先将库里此字段的类型改为varchar,然后导入excel数据。最后再将字段类型改回timeStamp。使用DM数据迁移工具将excel文件里的数据导入到达梦数据库里。提示“无效的时间类型值”尝试1:修改excel里此字段的类型,依旧报错。
2024-09-04 20:30:00
429
原创 @Transactional的使用大全与注意事项
什么时候用?在某个接口内需要进行事务处理的。比如在一个方法中,先要修改a表,然后将修改记录存到b表。业务需要这一系列操作是原子性的。什么时候不用?加上事务会拖慢接口的响应速度,所以要慎重。(1)接口是幂等的时候。比如我要从a表查询出数据,然后将数据新增或更新到b表。这本来就是幂等的,不用加事务。(2)本来就是事务的情况,比如批量插入个list。【这块需要注意,数据库的批量插入本来就是原子性的,等insert方法执行完后,这批数据才会一下子出现在库里。执行期间,库里是不会动态新增数据的】怎么用。
2024-08-31 17:45:00
521
原创 一口气看完Java中的异常及处理(错过拍大腿)
写完一段代码,可能会出现各种各样的问题,比如有的直接在idea里爆红了,有的项目启动时报错了,有的调用到这行代码才会报错……。这些都属于程序异常,今天我们来聊聊异常。
2024-08-26 15:12:45
1074
原创 【layUI】点击导出按钮,导出excel文件
(3)后端导出方法要做的工作有:根据传入的code查询出数据,填充到excel里;将excel上传到服务器上;要实现的功能如下:根据执行状态判断是否可以导出。如果可以导出,点击导出,在浏览器里下载对应的文件。(4)export()方法接收到这个url地址后,请求这个地址,在h5页面下载excel文件。(1)调用后端查询列表方法,在列,定义导出按钮,并去调用export()方法。这个导出按钮是在js里添加并实现逻辑的,和之前是在html里添加的不一样。(2)在export()里,去调用后端导出方法。
2024-08-23 18:00:00
1447
原创 【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
738
原创 一口气看完es(下)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es
2024-05-29 20:00:00
240
原创 一口气看完es(中)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es。这篇我们讲讲es中的几种查询和对搜索结果进行处理。基本概念。
2024-05-28 21:30:00
371
原创 一口气看完es(上)
此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es
2024-05-27 17:16:10
959
原创 用大白话来讲讲多线程的知识架构
cpu就像同时负责多个流水线的女工:在流水线①上操作——将①暂停——去流水线②上操作——将②暂停——返回流水线①继续操作……
2023-08-26 23:58:55
1926
1
原创 实现幂等性的几种方式及其注意事项
什么是幂等性?幂等性就是当用户对于同一操作发起一次或多次请求时,得到的结果都是一样的。比如购物下单时,即使用户可能由于手机卡顿等原因点了好几次“提交订单”,那也只能扣一次费和生成一个订单。什么情况下需要做幂等性处理?读取和删除,操作一次和多次的结果都是一样的,所以不用考虑幂等处理。下面两种情况需要考虑:(1)insert,多次请求时可能会产生重复数据(2)update,分情况,如果像这种,不用考虑。像就需要考虑了。实现幂等性的方式下面列举一下在分布式情景下实现幂等性的几种方式。
2022-11-29 15:34:06
561
原创 es中的match、term、text、keyword、bool
总结一下es中的match、term、text、keyword、bool等关键字。比如我想搜索一辆“红色奥迪车”
2022-09-11 16:32:34
1843
原创 生产故障的分类与示例
查询某个字段有多少个不同的值,有如下几种方式: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
204
原创 越努力,越幸运—2021年终总结
今天是2021年12月30日,还有1天这一年就结束了。期待明晚罗胖的跨年演讲,也期待德云社的跨年专场。如果要用一句话来总结2021年的感悟,我能想到的最贴切的一句就是“越努力,越幸运”。这一年,经历了很多,性子也沉稳了很多。今年经历了哪些经历1、换工作今年算是彻底经历了一场互联网的动荡,眼睁睁看着公司从鼎盛期的4000多人,减员到几十人,接下来就是面临倒闭。自己也从刚开始的安全感分崩离析到慢慢让工作生活走向正轨,一点点重新建立内心秩序。今年不光是社区团购受影响,教培更是整个行业走向了死亡。经历了这场
2021-12-30 23:28:17
1468
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
300
原创 获取当前是哪年第几周
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
178
原创 判断两个uid是否相等,不能用==,为什么
为了防患cookie被盗用的情况还要在cookie中添加token、登录序列。这两个都是使用MD5进行加密的随机字符串, 作用就是在每次登录验证时, 同时验证token和登录序列还有ip地址, 因为在每次登录验证成功时都会刷新token, 如果cookie被盗用在正主使用旧cookie时出现登录序列相同, token不同而且ip地址多次变更的情况就要记录下此用户账户异常, 并且删除后台session里的登录记录,并提醒用户。...
2021-07-21 14:10:51
207
原创 数据库中存时间戳的2种方式
回表查询先定位主键值,再定位行记录,它的性能较扫一遍索引树更低怎么避免?要避免索引回表,就要保证查询的数据只包含主键和索引字段本身
2021-06-22 19:31:36
1766
原创 如果cpu占用过高,应该怎么定位问题
(1)先用 top 命令找出 CPU 占比最高的进程(2)ps -ef 或者 jps 进一步定位,得知是怎么样的一个后台程序(3)定位到具体的线程或代码ps -mp 11111 -o THREAD,tid,time(4)将需要的线程 ID 转化为 16 进制格式(5)打印出进程id为对应线程id对应的前60行jstat <进程ID> | grep <线程ID(16进制)> -A60...
2021-04-13 16:38:29
538
3
原创 电商概念大乱炖
做电商系统的怎么能不懂电商概念呢~那就系统总结一下吧。(1)电商的模式有5种。(2)电商行为主要分为5大模块,包括采购、商品展示、库存、订单、物流等。电商的模式电商的模式主要分为如下5种。其中,B是Business,企业的意思;C是Consumer,个体消费者的意思;M是Manufactory,工厂的意思。B2C:企业对消费者,比如京东 B2B:企业对企业,比如阿里巴巴C2C:消费者之间的交易,比如淘宝 C2M:消费者和工厂的交易,这个一般用于定制化生产消费 O2O:线上到线下的交易,比如
2021-01-14 22:26:20
560
1
原创 热爱可抵岁月漫长,温柔可挡艰难时光—2020年终总结
2020年12月19日,北京又出现了疫情,昨晚上线2点多才回家,今天午饭吃的麻辣香锅,依旧是平常的一天。那就写写年终总结吧,细数数这似流水的一年,也好为明年的成长堆砌些希望。工作说起工作,感觉是压力和成长共存的。俗话说,知道了终点在哪里,路上就会走的更坚定。(1)这一年的絮叨今年受疫情影响,前半年基本就是在家办公或者AB班,也经历了工位左边和右边的同事同时被“n+1”,给我的感触就是,打铁还需自身硬,只有自身开发经验多了,自身是个人才了,才不管经历到什么波折,结果都不会太差。如果说去年着重提升的技
2020-12-31 22:12:24
812
8
原创 怎么配置多数据源
多数据源是什么?数据源就是数据库表的上一级,它的作用是就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。配置多数据源就是,已经有了一个数据源a-master,再配置一个同类:a-master1为什么要设置多数据源?随着业务的发展,可能需要分库分表,在分库分表中,肯定得需要多数据源。怎么操作?1、在配置文件application.properties中配置新数据源的链接2、找到项目中的DaoConfiguration,复制一份,在同
2020-11-09 18:25:15
3713
《可伸缩服务架构框架与中间件》-dubbo的demo
2018-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人