ImportNew

其他

Nginx日志分割

即使创建新的文件后,如果没有主动通知应用程序,那么应用程序仍然会往旧的文件(即被重命名的那个分割后的文件)写入日志。所以此时在分割后要通知应用程序重新打开新的日志文件进行写入。以通知
2023年1月29日
其他

深拷贝最佳实践:考虑拷贝消耗的 CPU 和拷贝速度

性能方面非常好。转自:鲫鱼哥,链接:blog.csdn.net/zjy_love_java/article/details/119465427-
2023年1月28日
其他

Spring Framework 6 中的新功能和增强功能

6.0。参考引用https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-gaSpring
2023年1月27日
其他

敏捷理发实践

(给ImportNew加星标,提高Java技能)什么是敏捷理发敏捷理发是将日常理发行为、与敏捷开发理念结合的理发方法论。核心理念很简单,就是自己理发,只理制式发型,每周一理。对,这里一开篇就先把核心理念给出来,下面再细说这个方案是怎么迭代出来的。传统理发传统理发指的是到理发店里,用户提出需求,由随机或用户指定的理发师负责实施的理发行为。缺点传统理发相信大家都很熟悉了,但是可能很少人站在用户角度进行过总结。它有以下问题:时间成本高:算上来往理发店、排队等待、实施理发的时间,整体耗时从半小时到一小时不等。现在有一些理发店支持在线预约,避免了在店等待时间,但总耗时仍然很可观。经济成本高:在一二线城市,成年男子简单的理发往往需要数十元人民币。沟通成本高:与理发师沟通,需要用专门的
2023年1月26日
其他

负载均衡 Nginx Session 一致性

不再变化。转自:张小凯と彼のBlog,链接:https://jasonkayzk.github.io/2020/04/13/负载均衡Nginx-一些常见的问题/-
2023年1月25日
其他

图分析算法的应用

(给ImportNew加星标,提高Java技能)图分析使用基于图的方法来分析连接的数据。我们可以:查询图数据,使用基本统计信息,可视化地探索图、展示图,或者将图信息预处理后合并到机器学习任务中。图的查询通常用于局部数据分析,而图计算通常涉及整张图和迭代分析。图算法基于图论,利用节点之间的关系来推断复杂系统的结构和变化。我们可以使用这些算法来发现隐藏的信息,验证业务假设,并对行为进行预测。因为此部分偏基础内容,大家都比较熟悉,所以着重讲应用。路径搜索路径搜索(Pathfinding)算法建立在图搜索算法的基础上,并探索节点之间的路径。这些路径从一个节点开始,遍历关系,直到到达目的地。路径搜索算法识别最优路径,用于物流规划,最低成本呼叫或者称作
2023年1月24日
其他

Innodb 中的 Btree 实现 (一) · 引言 & insert 篇

教授提出后,一直是关系型数据库中核心数据结构,基于多路的分叉树,将数据范围自上而下不断缩小,直到需要的记录,通常在数据库中一个
2023年1月23日
其他

程序员健康作息表

(给ImportNew加星标,提高Java技能)一切伟大的行动和思想都有一个微不足道的开始,小编祝大家新年快乐!说到健康作息,还真是要好好总结一下,都说程序员这一行,猝死概率极高,究其原因还是很难有很好的作息规律。这里就带来“传说中”的“世界上最健康的作息时间表”,随时提醒自己吧,毕竟身体可是自己的哦。7:30起床:英国威斯敏斯特大学的研究人员发现,那些在早上5:22-7:21分起床的人,其血液中有一种能引起心脏病的物质含量较高,因此,在7:21之后起床对身体健康更加有益。打开台灯:“一醒来,就将灯打开,这样将会重新调整体内的生物钟,调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。喝一杯水:水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水,可以补充晚上的缺水状态。7:30-8:00在早饭之前刷牙:“在早饭之前刷牙可以防止牙齿的腐蚀,因为刷牙之后,可以在牙齿外面涂上一层含氟的保护层。要么,就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。8:00-8:30吃早饭:“早饭必须吃,因为它可以帮助你维持血糖水平的稳定。”伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等,这类食物具有较低的血糖指数。8:30-9:00避免运动:来自布鲁奈尔大学的研究人员发现,在早晨进行锻炼的运动员更容易感染疾病,因为免疫系统在这个时间的功能最弱。步行上班:马萨诸塞州大学医学院的研究人员发现,每天走路的人,比那些久坐不运动的人患感冒病的概率低25%。9:30开始一天中最困难的工作:纽约睡眠中心的研究人员发现,大部分人在每天醒来的一两个小时内头脑最清醒。10:30让眼睛离开屏幕休息一下:如果你使用电脑工作,那么每工作一小时,就让眼睛休息3分钟。11:00吃点水果:这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果,这样做能同时补充体内的铁含量和维生素C含量。13:00在面包上加一些豆类蔬菜:你需要一顿可口的午餐,并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素,番茄酱可以当作是蔬菜的一部分。”维伦博士说。14:30-15:30午休一小会儿:雅典的一所大学研究发现,那些每天中午午休30分钟或更长时间,每周至少午休3次的人,因心脏病死亡的概率会下降37%。16:00喝杯酸奶:这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶,有利于心脏健康。17:00-19:00锻炼身体:根据体内的生物钟,这个时间是运动的最佳时间,舍菲尔德大学运动学医生瑞沃·尼克说。19:30晚餐少吃点:晚饭吃太多,会引起血糖升高,并增加消化系统的负担,影响睡眠。晚饭应该多吃蔬菜,少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。21:45看会电视:这个时间看会儿电视放松一下,有助于睡眠,但要注意,尽量不要躺在床上看电视,这会影响睡眠质量。23:00洗个热水澡:“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。23:30上床睡觉:如果你早上7点30起床,现在入睡可以保证你享受8小时充足的睡眠。时间、健康的小常识要知道,任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,等到20、30年之后再后悔,已经来不及了。下面再补充一些和时间、健康有关的小常识,继续供大家参考:晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐。晚间11-凌晨1点,肝的排毒,需在熟睡中进行。凌晨1-3点,胆的排毒,亦同。凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应用止咳药,以免抑制废积物的排除。凌晨5-7点,大肠的排毒,应上厕所排便。凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生者在7点半前,不吃早餐者应改变习惯,即使拖到9、10点吃都比不吃好。半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜。转自:Captain's
2023年1月22日
其他

如何在不修改原有类的情况下,对 @PostConstruct 的方法做 try...catch

是什么类型,有哪些初始化方法等等(信息很多,想了解可以直接看org.springframework.beans.factory.config.BeanDefinition)。2.
2023年1月21日
其他

13 款炫酷的 MySQL 可视化管理工具!好用到爆!!

管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。官方地址:https://www.phpmyadmin.net/4、MySQLDumperMySQLDumper
2023年1月20日
其他

面试官:为什么数据库连接池不采用 IO 多路复用?

就会得不偿失——代码不容易懂,也没有任何效率上的优势。类似于Nodejs这样的运行时在此场景下,反而要利用async或等价的语法来让代码看起来是同步的,这样才容易写。总结一下。DB
2023年1月19日
其他

别再用 JWT 作为 Session 系统,问题重重,后果很危险!

存储至其它地方,会导致一个新的漏洞,详见https://blog.prevoty.com/does-jwt-put-your-web-app-at-risk,尤其是「Storing
2023年1月16日
其他

Spring Boot 联合 Disruptor = 王炸!!

(给ImportNew加星标,提高Java技能)01、背景工作中遇到项目使用Disruptor做消息队列,对你没看错,不是Kafka,也不是rabbitmq;Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录.02、Disruptor介绍Disruptor
2023年1月15日
其他

支付宝一面:多线程事务怎么回滚?说用 @Transactional 可以回去等通知了!

(给ImportNew加星标,提高Java技能)背景介绍1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。2,在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行回滚,在多线程中,这个注解则不会生效,如果主线程需要先执行一些修改数据库的操作,当子线程在进行处理出现异常时,主线程修改的数据则不会回滚,导致数据错误。3,下面用一个简单示例演示多线程事务。公用的类和方法/**
2023年1月14日
其他

为什么建议你替换掉 SpringBoot 框架中的 Tomcat ?

(给ImportNew加星标,提高Java技能)前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringBoot中的Tomcat容器SpringBoot可以说是目前最火的Java
2023年1月13日
其他

让人恶心的多线程代码,性能怎么优化!

Id、Biased、Tag等三个变量值来进行的。偏向锁在只有一个线程使用了锁的情况下,偏向锁能够保证更高的效率。具体过程是这样的。当第一个线程第一次访问同步块时,会先检测对象头Mark
2023年1月10日
其他

海量请求下的接口并发解决方案

设定一个场景,假如一个商品接口在某段时间突然上升,会怎么办?生活中的例子来说,假设冰墩墩在当天晚上上热搜之后,迅速有十几万人去淘宝下单购买,此时并没有做好对该商品的缓存预热以及准备,如何操作?对于这个问题,在电商高并发系统中,对接口的保护一般采用:缓存、限流、降级
2023年1月8日
其他

这次彻底读透 Redis

failover):当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。配置提供者(Configuration
2023年1月7日
其他

Spring5 里边的新玩法!这种 URL 请求让我涨见识了!

"/hello/{p1}/{p2}";}@GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}")public
2023年1月4日
其他

聊聊 Spring 中最常用的 11 个扩展点

mvc通过该拦截器,能够自动拦截该接口,并且校验权限。2.获取Spring容器对象在我们日常开发中,经常需要从Spring容器中获取Bean,但你知道如何获取Spring容器对象吗?2.1
2023年1月2日
其他

聊聊 Java 新特性与设计模式

备选方案:适配器或享元模式;其它方案:组合模式、装饰器模式、外观模式(也称门面模式)、过滤器模式、模块模式、控制器模式、标记型接口、代理模式、双胞胎模式。JDK
2022年12月31日
其他

打通 JVM 与 Native 代码:快速了解巴拿马项目

声明内存会话以实现隐式内存释放。分配内存段有多种选择——通过段分配器或直接通过内存会话。链接器、符号查找对象、值和内存布局以及方法句柄都是静态对象。总结本文概述了外部函数和内存
2022年12月30日
其他

分布式链路跟踪 Sleuth 与 Zipkin

(给ImportNew加星标,提高Java技能)随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。现今业界分布式服务跟踪的理论基础主要来自于
2022年12月27日
其他

SpringBoot + MDC 实现全链路调用日志跟踪

创建线程的情况不考略,实际应用中应该避免这种用法。重写线程池无非是对任务进行一次封装。线程池封装类:ThreadPoolExecutorMdcWrapper.javapublic
2022年12月26日
其他

5年半老程序员被System.out.println() 考懵逼了...

:1.System.out.print();与System.out.println();的区别2.字符数组输出面试案例public
2022年12月18日
其他

实战总结!18种接口优化方案的总结

100000,10意味着会扫描100010行,丢弃掉前100000行,最后返回10行。即使create_time,也会回表很多次。我们可以通过标签记录法和延迟关联法来优化深分页问题。13.1
2022年12月16日
其他

61 张图,剖析 Spring 事务,就是要钻到底!

项目准备需要搭建环境的同学,代码详见:https://github.com/lml200701158/program_demo/tree/main/spring-transaction下面是
2022年12月14日
其他

IntelliJ IDEA终于支持对Redis 的可视化窗口操作了,真香!

查询等。详细信息请阅读官方博客:https://blog.jetbrains.com/datagrip/2022/11/02/datagrip-2022-3-eap-2-redis-support/
2022年12月13日
其他

面试官:断网了,还能 ping 通 127.0.0.1 吗?

多线程永动任务设计与实现两万字!多线程硬核50问!看完本文有收获?请转发分享给更多人关注「ImportNew」,提升Java技能点赞和在看就是最大的支持❤️
2022年12月11日
其他

读懂HikariCP一百行代码,多线程就是个孙子!

总结:Java届很难得有读百十行代码就能增加修炼的机会,这里有一个。通常,我在看书的时候一般不写代码,因为我的脑袋被设定成单线程的,一旦同时喂给它不同的信息,它就无法处理。但多线程对电脑来说就是小菜一碟,它可以同时做很多事,看起来匪夷所思。好希望把自己的大脑皮层移植到这些牛x的设备上。用人脑思考电脑正在思考的问题,这本身就是一种折磨。但平常的工作和面试中,又不得不面对这样的场景,所以多线程就成了编程路上一块难啃的骨头。HikariCP是SpringBoot默认的数据库连接池,它毫不谦虚的的起了一个叫做光的名字,这让国产Druid很没面子。还是言归正传,看一下Hikari中的ConcurrentBag吧。核心数据结构多线程代码一个让人比较头疼的问题,就是每个API我都懂,但就是不会用。很多对concurrent包倒背如流的同学,在面对现实的问题时,到最后依然不得不被迫加上Lock或者synchronized。ConcurrentBag是一个Lock
2022年12月10日
其他

把Redis当作队列来用,真的合适吗?

一条消息出来后,这条消息就会立即从链表中删除了。也就是说,无论消费者是否处理成功,这条消息都没办法再次消费了。这也意味着,如果消费者在处理消息时异常宕机,那这条消息就相当于丢失了。针对这
2022年12月2日
其他

雪花算法,什么情况下发生 ID 冲突?

生成方式,面试官有点懵了3、如果让你设计一个分布式文件系统,该从哪些方面考虑?看完本文有收获?请转发分享给更多人关注「ImportNew」,提升Java技能点赞和在看就是最大的支持❤️
2022年11月24日
其他

如果让你设计一个分布式文件系统,该从哪些方面考虑?

节点加载到内存,从而程序随机寻找数据块时,在内存中就可以完成了。通过这种方式来解决磁盘链表的劣势,如果索引节点的内容太大,导致内存无法加载,还有可能形成多级索引结构。文件删除实时删除还是延时删除?
2022年11月21日
其他

Spring Framework 6.0正式GA,新一代框架的开始

code(zip):https://github.com/spring-projects/spring-framework/archive/refs/tags/v6.0.0.zipSource
2022年11月19日
其他

14个SpringBoot优化小妙招,看完后同事说写代码像写诗!

(给ImportNew加星标,提高Java技能)每次聊到代码优化,都会有很多人说理论、架构、核心思路,其实我觉得代码优化这事说简单了很简单,说复杂了吧它也有一定的难度,但是我觉得有一个良好的编码习惯很重要,下面分享一下14个springboot项目中优化代码的小技巧,让代码优化跟容易,就像完成一件小事。1.
2022年11月15日
其他

16 张图硬核讲解 Kubernetes 网络

内。这样一来容器内发出的数据包可以通过网桥直接进入宿主机网络栈,而发往容器的数据包也可以经过网桥进入容器。多路复用:使用一个中间网络设备,暴露多个虚拟网卡接口,容器网卡都可以介入这个中间设备,并通过
2022年11月13日
其他

Spring Boot 引起的 “堆外内存泄漏”,太坑了,快看看你什么版本!

Boot社区反馈了这个bug。但是反馈之后,笔者就发现Inflater这个对象本身实现了finalize方法,在这个方法中有调用释放堆外内存的逻辑。也就是说Spring
2022年11月11日
其他

我摊牌了!真正的灰度队列实现方案!全网你都搜不到!

这块,但是它发送的消息却是灰度消息,而消息的消费方可能也未发生过功能变动,也不会有与之对应的灰度消费标识,这种情况下如果我们将灰度的消息进行丢弃的话,那么会造成最终的数据不完整。2.
2022年11月10日
其他

哇塞,刚刚,就在刚刚,我看到Fleet进入公测了!

一样自然。所以,generation,得记住了,考试肯定要考的:扫清了单词的障碍,那么,我们再看一次宣传语,啥意思?Next-generation
2022年11月6日
其他

从 1.5 开始搭建一个微服务框架——链路追踪 traceId

Ruoyi。另外因为我们的项目需求具有自身的特色,技术选型也会选择我们自己熟悉的框架,所以自己来造二代轮子也是一个不错的选择。核心功能需要包含以下核心功能:多个微服务模块拆分,抽取出一个
2022年10月30日
其他

宽表为什么横行?

系统时首先要做的就是准备宽表。有时系统中的宽表可能会有上千个字段,经常因为“过宽”超过了数据库表字段数量限制还要再拆分。为什么大家乐此不疲地造宽表呢?主要原因有两个。一是为了提高查询性能。现代
2022年10月28日
其他

微服务之服务监控和治理、容错隔离与 Docker 部署

rootfs,容器就能够为进程构建出一个完整的文件系统,且实现了与宿主机的环境隔离。也正是有了rootfs,才能实现基于容器的本地应用与云端应用运行环境的一致。另外,为了方便镜像的复用,Docker
2022年10月28日
其他

Java 云原生微服务框架 Quarkus 入门实践

生成的原生可执行文件与底层平台相关,不能在当前平台之外的其他平台上运行。但对云原生应用来说,这并不是一个问题。云原生应用的设计目标是在容器中运行,所运行的底层平台是固定的。1.3
2022年10月27日
其他

云原生时代的 Java 虚拟机

上运行的程序的性能;通过预编译(ahead-of-time)编译Java程序为原生可执行程序;多种编程语言混编在一个程序中(polyglot);类似于
2022年10月26日
其他

Java 多线程永动任务设计与实现

地址:https://github.com/lml200701158/java-study/tree/master/src/main/java/com/java/parallel/pool/ofc-
2022年10月24日
其他

20 张图带你彻底了解 ReentrantLock 加锁解锁的原理

异常,产生的后果与说明二相同。java.concurrent.LockShouldWithTryFinallyRule.rule.desc还举了两个例子,正确的案例如下:Lock
2022年10月23日
其他

Docker夺命连环15问,你能坚持第几问?

(给ImportNew加星标,提高Java技能)目录什么是Docker?Docker的应用场景有哪些?Docker的优点有哪些?Docker与虚拟机的区别是什么?Docker的三大核心是什么?如何快速安装Docker?如何修改Docker的存储位置?Docker镜像常用管理有哪些?如何创建Docker容器?Docker在后台的标准运行过程是什么?Docker网络模式有哪些?什么是Docker的数据卷如何搭建Docker私有仓库Docker如何迁移备份?Docker如何部署MySQL?前言本文总结了Docker常见的问题和坑,采用问答的形式,分享给大家1.什么是Docker?Docker
2022年10月19日
其他

SpringBoot 接口数据加解密技巧,so easy!

这日,刚撸完2两代码,正准备掏出手机摸鱼放松放松,只见老大朝我走过来,并露出一个”善意“的微笑,兴伟呀,xx项目有于安全问题,需要对接口整体进行加密处理,你这方面比较有经验,就给你安排上了哈,看这周内提测行不...,额,摸摸头上飘摇着而稀疏的长发,感觉我爱了。和产品、前端同学对外需求后,梳理了相关技术方案,主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式,服务需要对接安卓、IOS、H5三端,另外考虑到H5端存储密钥安全性相对来说会低一些,故分针对H5和安卓、IOS分配两套密钥;要兼容低版本的接口,后面新开发的接口可不用兼容;接口有GET和POST两种接口,需要都要进行加解密;需求解析:服务端、客户端和H5统一拦截加解密,网上有成熟方案,也可以按其他服务中实现的加解密流程来搞;使用AES放松加密,考虑到H5端存储密钥安全性相对来说会低一些,故分针对H5和安卓、IOS分配两套密钥;本次涉及客户端和服务端的整体改造,经讨论,新接口统一加
2022年10月15日
其他

Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!

⾃定义⼀个注解,代码如下:再实现⼀个⾃定义的注解处理器,代码如下:测试类如下:2.对注解处理器进⾏编译,随后使⽤注解处理器对类进⾏编译⾸先需要先对注解处理器进⾏编译(javac
2022年10月14日
其他

这12款idea插件,能让你代码飞起来!

前言基本上每个程序员都会写代码,但写代码的速度不尽相同。为什么有些人,一天只能写几百行代码?而有些人,一天可以写几千行代码?有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢?今天我跟大家一起聊聊在idea中,能提升编码效率的12种插件,希望对大家有所帮助。1.
2022年10月12日