自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玫瑰与鹿°

总之岁月漫长,然而值得等待

  • 博客(295)
  • 资源 (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 86655 4

原创 【Springcloud】详解Hystrix(断路器)

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

2019-07-29 21:16:39 658

原创 趣谈java单例模式

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

2019-06-23 10:39:23 850 5

原创 小仙女讲JVM(7)—JVM优化

还以这个图为例,从.java到.class是编译过程,从.class到机器码是解释过程。下面对其进行分别优化。在优化过程中,对编译阶段的优化主要是对前端编译器的优化,在运行阶段的优化,主要是对即时编译器的优化。编译器优化编译过程以上为javac的编译过程图,以下为javac编译过程的主体代码。下面对其步骤进行详细解读1、解析与填充符号表词法分析将源代码的字符流转变为标记(...

2019-06-21 20:31:21 1877 16

原创 小仙女讲JVM(5)—类加载机制

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

2019-06-19 16:36:56 4318 19

原创 小仙女讲JVM(2)—内存的划分

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

2019-06-18 20:30:50 10459 34

原创 docker是啥?是干什么的?

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

2019-01-31 20:40:18 61250 15

原创 【java反射】反射是啥?是干啥用的?

反射是啥反射既然有“反”,就说明它是一个逆向的过程。那我们先来看看正向过程是怎样的。设计一个类,类实例化成对象,对象调方法或属性去实现一些功能。那反射是什么呢?不知道大家是否还记得上图,这是刚接触java时学到的知识。我自己的理解是现在是知道1,反推到2,然后再通过2得到一些别的信息。(这只是我的推测,至于具体是不是,还需日后深究)类比到现实中的场景是:你:妈妈,你知道剪刀在哪吗?...

2019-01-04 21:45:24 17765 32

原创 【达梦】“6103无效的时间类型值”解决办法

尝试2:将库里此字段的类型改为time,导入成功,数据正确。之后再改回timeStamp,此时所有时间都变为了1990……一看就是createTime等跟时间相关的字段出问题了。createTime在库里的数据类型为timeStamp。先将库里此字段的类型改为varchar,然后导入excel数据。最后再将字段类型改回timeStamp。使用DM数据迁移工具将excel文件里的数据导入到达梦数据库里。提示“无效的时间类型值”尝试1:修改excel里此字段的类型,依旧报错。

2024-09-04 20:30:00 160

原创 @Transactional的使用大全与注意事项

什么时候用?在某个接口内需要进行事务处理的。比如在一个方法中,先要修改a表,然后将修改记录存到b表。业务需要这一系列操作是原子性的。什么时候不用?加上事务会拖慢接口的响应速度,所以要慎重。(1)接口是幂等的时候。比如我要从a表查询出数据,然后将数据新增或更新到b表。这本来就是幂等的,不用加事务。(2)本来就是事务的情况,比如批量插入个list。【这块需要注意,数据库的批量插入本来就是原子性的,等insert方法执行完后,这批数据才会一下子出现在库里。执行期间,库里是不会动态新增数据的】怎么用。

2024-08-31 17:45:00 293

原创 一口气看完Java中的异常及处理(错过拍大腿)

写完一段代码,可能会出现各种各样的问题,比如有的直接在idea里爆红了,有的项目启动时报错了,有的调用到这行代码才会报错……。这些都属于程序异常,今天我们来聊聊异常。

2024-08-26 15:12:45 732

原创 【layUI】点击导出按钮,导出excel文件

(3)后端导出方法要做的工作有:根据传入的code查询出数据,填充到excel里;将excel上传到服务器上;要实现的功能如下:根据执行状态判断是否可以导出。如果可以导出,点击导出,在浏览器里下载对应的文件。(4)export()方法接收到这个url地址后,请求这个地址,在h5页面下载excel文件。(1)调用后端查询列表方法,在列,定义导出按钮,并去调用export()方法。这个导出按钮是在js里添加并实现逻辑的,和之前是在html里添加的不一样。(2)在export()里,去调用后端导出方法。

2024-08-23 18:00:00 587

原创 【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 558

原创 一口气看完es(下)

此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es

2024-05-29 20:00:00 194

原创 一口气看完es(中)

此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es。这篇我们讲讲es中的几种查询和对搜索结果进行处理。基本概念。

2024-05-28 21:30:00 315

原创 一口气看完es(上)

此系列博客分为上中下3篇:上篇是关于es的概念和对数据的增删改操作,中篇是对数据的查询、对搜索结果进行处理操作,下篇是介绍怎么在Java代码中调用和操作es

2024-05-27 17:16:10 851

原创 前路漫漫亦灿灿-2023年终总结

今年最大的感触是各行各业都说自己的行业不好干,都说自己没钱了。考公热,房价跌,ChatGPT横空出世。

2023-12-20 14:20:25 1060

原创 用大白话来讲讲多线程的知识架构

cpu就像同时负责多个流水线的女工:在流水线①上操作——将①暂停——去流水线②上操作——将②暂停——返回流水线①继续操作……

2023-08-26 23:58:55 1852 1

原创 对类加载过程的通俗理解

一般来说,类加载分为:加载、验证、准备、解析、初始化 5个步骤。

2023-08-21 22:45:32 258

原创 一张图看懂JVM的知识架构

一张图看懂JVM的知识架构

2023-08-21 20:58:05 166

原创 一切尽意,百事从欢-2022年终总结

YiQing在年底戛然而止,这真是一件令人开心的事情。

2023-02-12 18:22:13 397 1

原创 实现幂等性的几种方式及其注意事项

什么是幂等性?幂等性就是当用户对于同一操作发起一次或多次请求时,得到的结果都是一样的。比如购物下单时,即使用户可能由于手机卡顿等原因点了好几次“提交订单”,那也只能扣一次费和生成一个订单。什么情况下需要做幂等性处理?读取和删除,操作一次和多次的结果都是一样的,所以不用考虑幂等处理。下面两种情况需要考虑:(1)insert,多次请求时可能会产生重复数据(2)update,分情况,如果像这种,不用考虑。像就需要考虑了。实现幂等性的方式下面列举一下在分布式情景下实现幂等性的几种方式。

2022-11-29 15:34:06 491

原创 es中的match、term、text、keyword、bool

总结一下es中的match、term、text、keyword、bool等关键字。比如我想搜索一辆“红色奥迪车”

2022-09-11 16:32:34 1733

原创 生产故障的分类与示例

查询某个字段有多少个不同的值,有如下几种方式: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 160

原创 ElasticSearch的常用命令

我们可以使用kibana来操纵ElasticSearch。下面以名字为vendor的索引来举例。

2022-03-20 23:37:43 135

原创 越努力,越幸运—2021年终总结

今天是2021年12月30日,还有1天这一年就结束了。期待明晚罗胖的跨年演讲,也期待德云社的跨年专场。如果要用一句话来总结2021年的感悟,我能想到的最贴切的一句就是“越努力,越幸运”。这一年,经历了很多,性子也沉稳了很多。今年经历了哪些经历1、换工作今年算是彻底经历了一场互联网的动荡,眼睁睁看着公司从鼎盛期的4000多人,减员到几十人,接下来就是面临倒闭。自己也从刚开始的安全感分崩离析到慢慢让工作生活走向正轨,一点点重新建立内心秩序。今年不光是社区团购受影响,教培更是整个行业走向了死亡。经历了这场

2021-12-30 23:28:17 1403 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 257

原创 获取当前是哪年第几周

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 144

原创 返回结果中出现 “$ref“:“$.data[0]“ 的原因及其解决办法

电商项目的架构分析如下:

2021-09-08 12:00:48 4928 2

原创 判断两个uid是否相等,不能用==,为什么

为了防患cookie被盗用的情况还要在cookie中添加token、登录序列。这两个都是使用MD5进行加密的随机字符串, 作用就是在每次登录验证时, 同时验证token和登录序列还有ip地址, 因为在每次登录验证成功时都会刷新token, 如果cookie被盗用在正主使用旧cookie时出现登录序列相同, token不同而且ip地址多次变更的情况就要记录下此用户账户异常, 并且删除后台session里的登录记录,并提醒用户。...

2021-07-21 14:10:51 165

原创 数据库中存时间戳的2种方式

回表查询先定位主键值,再定位行记录,它的性能较扫一遍索引树更低怎么避免?要避免索引回表,就要保证查询的数据只包含主键和索引字段本身

2021-06-22 19:31:36 1573

原创 如果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 463 3

原创 java判空总结

cpu占用过高的定位分析思路

2021-03-24 14:27:30 215 2

原创 电商概念大乱炖

做电商系统的怎么能不懂电商概念呢~那就系统总结一下吧。(1)电商的模式有5种。(2)电商行为主要分为5大模块,包括采购、商品展示、库存、订单、物流等。电商的模式电商的模式主要分为如下5种。其中,B是Business,企业的意思;C是Consumer,个体消费者的意思;M是Manufactory,工厂的意思。B2C:企业对消费者,比如京东 B2B:企业对企业,比如阿里巴巴C2C:消费者之间的交易,比如淘宝 C2M:消费者和工厂的交易,这个一般用于定制化生产消费 O2O:线上到线下的交易,比如

2021-01-14 22:26:20 515 1

原创 热爱可抵岁月漫长,温柔可挡艰难时光—2020年终总结

2020年12月19日,北京又出现了疫情,昨晚上线2点多才回家,今天午饭吃的麻辣香锅,依旧是平常的一天。那就写写年终总结吧,细数数这似流水的一年,也好为明年的成长堆砌些希望。工作说起工作,感觉是压力和成长共存的。俗话说,知道了终点在哪里,路上就会走的更坚定。(1)这一年的絮叨今年受疫情影响,前半年基本就是在家办公或者AB班,也经历了工位左边和右边的同事同时被“n+1”,给我的感触就是,打铁还需自身硬,只有自身开发经验多了,自身是个人才了,才不管经历到什么波折,结果都不会太差。如果说去年着重提升的技

2020-12-31 22:12:24 769 7

原创 怎么配置多数据源

多数据源是什么?数据源就是数据库表的上一级,它的作用是就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。配置多数据源就是,已经有了一个数据源a-master,再配置一个同类:a-master1为什么要设置多数据源?随着业务的发展,可能需要分库分表,在分库分表中,肯定得需要多数据源。怎么操作?1、在配置文件application.properties中配置新数据源的链接2、找到项目中的DaoConfiguration,复制一份,在同

2020-11-09 18:25:15 3653

原创 会造成全表扫描的SQL语句及应对措施

全表扫描时,会造成CPU和内存的额外消耗,甚至会导致服务器崩溃。所以我们应避免。1、左模糊查询Like %XXX%如:select account from member where nickname like ‘%XXX%’或者 select account from member where nickname like ‘%XXX’建议使用select account from member where nickname like ‘XXX%’2、使用null做为判断条件如:select a

2020-08-22 18:30:06 938

原创 Redis和Caffeine的区别是什么?

相同点:两个都是缓存的方式不同点:redis是将数据存储到内存里caffeine是将数据存储在应用里caffeine和redis相比,没有了网络IO上的消耗联系:一般将两者结合起来,形成一二级缓存。使用流程大致如下:去一级缓存中查找数据(caffeine-应用内)如果没有的话,去二级缓存中查找数据(redis-内存)再没有,再去数据库中查找数据(数据库-磁盘)图来自于此文章:https://my.oschina.net/dengfuwei/blog/1616221...

2020-08-03 15:29:19 5269

原创 不看会后悔系列之idea的使用

虽然用idea已多达N年,但你对其所有的功能都了如指掌吗?了解如下小tips助你开发更通畅。调试专题(1)不用每次都重启debugdebug程序时,只修改了一点代码,怎么在不重启程序的前提下,看到修改后的效果呢?将启动栏处的Edit Configurations ——Configuration——由Do noting 改为 Update classes and resources注意,修...

2020-04-14 23:13:22 680

原创 查看项目日志的步骤(xshell、阿里云)

作为程序员,怎么能不会查看日志呢?现小编把查看日志的常用命令介绍如下。我们公司的测试环境a~f在自己的服务器上,用xshell或者Termius连接上即可;线上日志和预发布日志在阿里云上。xshell的使用(1)首先选择要访问哪个服务器(2)cd+路径,找到日志文件(3)tail -f all.log :查看最新的日志文件内容以上是基本步骤,以下是其余的常用命令:(1)如果以前输...

2020-04-14 19:35:10 5456 4

用Springboot实现登录demo

用Springboot实现的登录小demo,没用到任何安全框架等技术,适合入门者学习。

2019-07-28

Redis在java中的使用示例

Redis在java中的使用示例,里面写了对4种类型的具体使用:string、list、set、hash

2018-11-03

springmvc的第一个demo

自己敲的,亲测能运行的springmvc的项目。如果需要但没有积分,可以私聊我,免费分享给你。

2018-10-31

《可伸缩服务架构框架与中间件》-dubbo的demo

这是《可伸缩服务架构框架与中间件》中dubbo部分的例子——HelloWorld。这本书对初学者不友好,讲解的不是很细致,有些必须配置也没有提及。小编的例子(dubbo+zookeeper+maven+Idea)对此进行了完善:https://blog.csdn.net/qsbbl/article/details/82893505

2018-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除