SpringForAll社区

其他

10w 行级别数据的 Excel 导入优化记录

this.getSqlSession().select(BaseUnitMapper.class.getName()+".getHouseMapByAreaId",
2021年5月14日
其他

Spring Initializr中生成的mvnw是干吗的?

从命名、图标、扩展名来猜测,这两个文件的作用应该是一样的,只是cmd文件应该是用在windows下跑的,而另外一个则是用于linux环境下跑的。
2021年5月12日
其他

“既生 ExecutorService, 何生 CompletionService?”

假设你有一组针对某个问题的solvers,每个都返回一个类型为Result的值,并且想要并发地运行它们,处理每个返回一个非空值的结果,在某些方法使用(Result
2021年5月11日
其他

Spring Validation最佳实践及其实现原理,参数校验没那么简单!

}}@Delegate注解受lombok版本限制,1.18.6以上版本可支持。如果校验不通过,会抛出NotReadablePropertyException,同样可以使用统一异常进行处理。
2021年5月11日
其他

想接私活时薪再翻一倍,建议根据这几个开源的SpringBoot项目(含小程序)

开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、日志记录、文件上传、代码生成等,为快速开发后台系统而生的脚手架!
2021年5月10日
其他

来看看Google的未来工作环境设计,有你喜欢的元素吗?

当然很多吃货还关心美食,毕竟谷歌的自助餐厅以其免费供应的美食而闻名,谷歌计划未来将自助餐转变为盒装、即食式。零食将单独包装,而不再是从大箱子里舀出来。减少任何病毒传播的风险。
2021年5月10日
其他

Spring Boot操作ES进行各种高级查询(值得收藏)

19:11:35", "pic":"group1/M00/00/00/wKhlQFs6RCeAY0pHAAJx5ZjNDEM428.jpg"}DSL搜索DSL(Domain
2021年5月8日
其他

Spring Boot 优雅停止服务的几种方法

spring-boot-starter-actuator然后将shutdown节点打开,也将/actuator/shutdown暴露web访问也设置上,除了shutdown之外还有health,
2021年5月7日
其他

TCP/IP网络模型

TCP中有6个比特标志,URG=紧急指针有效;ACK=确认序号有效;PSH=接收方应该尽快将这个报文交给应用层;RST=重建连接;SYN=同步序号用来发起一个连接;FIN=发送端完成发送任务
2021年5月6日
其他

一文看懂JUC之AQS机制

对象(wait,notify)同样的效果,来进行线程间基于共享变量的通信。但优势在于同一个锁可以由多个条件队列,当某个条件满足时,只需要唤醒对应的条件队列即可,避免无效的竞争。
2021年5月4日
其他

一文看懂分布式事务

脏数据,如果这个时候发生非正常的DB服务重启,那么这些数据还没在内存,并没有同步到磁盘文件中(注意,同步到磁盘文件是个随机IO),也就是会发生数据丢失,如果这个时候,能够在有一个文件,当buffer
2021年5月1日
其他

一文了解InnoDB事务锁

锁机制用于管理对共享资源的并发访问,而数据库本身作为共享资源的集合,内部需要提供一定的锁机制来保证事务的隔离性。本文探讨的是MySQL(5.7)InnoDB引擎下的锁机制。
2021年4月30日
其他

Oracle发布了Java SE支持路线图,Java 8 支持到2030年

任何产品都有自己的支持策略,一个产品不可能无期限的给予最高优先级的支持。Oracle对自己产品的支持强度分为三个级别:最高优先级的支持,中等优先级的支持,最低优先级的支持。
2021年4月29日
自由知乎 自由微博
其他

一文看懂Java锁机制

变量值被一个线程修改后会立即同步回主内存、变量值被其他线程读取前立即从主内存刷新值到工作内存。即read、load、use三者连续顺序执行,assign、store、write连续顺序执行。
2021年4月28日
其他

互联网理想架构

连接,如果存在则推送,客户端收到推送消息后,会给服务端回执,服务端即可更新消息状态。如果推送失败,或者回执丢失,用户在下一次建立连接时,会重新接受消息通知,同时客户端会进行逻辑去重。
2021年4月26日
其他

太全面了!常见代码重构技巧

父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。
2021年4月25日
其他

【炸】Spring Security 实战干货:WebSecurity和HttpSecurity的关系

Assert.state(!this.securityFilterChainBuilders.isEmpty(),
2021年4月24日
其他

Swagger3就是比2简单粗暴

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年4月23日
其他

爆料:Spring 2021年的一些发展方向

Native,借助于此技术,我们可以利用更少的资源来更快启动Spring本地运行时,目前处于Beta版本,胖哥在其它文章中已经用不少篇幅来介绍它,这里就不再赘述了。
2021年4月20日
其他

(科普)-L2TP VPN基本原理

可在LAC和LNS两处同时计费,即ISP处(用于产生账单)及企业网关(用于付费及审计)。L2TP能够提供数据传输的出入包数、字节数以及连接的起始、结束时间等计费数据,可根据这些数据方便地进行网络计费
2021年4月19日
其他

(科普)堡垒机的基本原理与部署方式

权限可控,比如某个工程师要离职或要转岗了。如果没有一个统一的权限管理入口,是一场梦魇。行为可控,比如我们需要集中禁用某个危险命令,如果没有一个统一入口,操作的难度可想而知。
2021年4月18日
其他

Spring Boot 日志配置(LogBack,LockBack异步日志)

logging.file=E:\logs\spring-boot-studentlogging.level.org.springframework.web=debug日志
2021年4月17日
其他

再见 for 循环编程,Spring 全家桶,真香!

Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、SpringData、SpringCloud、Spring
2021年4月16日
其他

MySQL查询的执行过程

ps.close();}在这里缓存不会被使用,因为每一次迭代都会发送一条包含不同SQL语句的statement给数据库。并且每一次迭代都会生成一个新的存取方案。现在让我们来看看下一段代码:
2021年4月16日
其他

Spring Boot + Mybatis + Druid数据源【自己定制】

datasource.setMinEvictableIdleTimeMillis(druidDataSourceProperty.getMinEvictableIdleTimeMillis());
2021年4月15日
其他

Spring Boot + Mybatis + Redis二级缓存实例

第二次请求时间:68ms源码https://github.com/wyh-spring-ecosystem-student/spring-boot-student/tree/releases
2021年4月14日
其他

Spring 事务剖析

AOP注册AnnotationAwareAspectJAutoProxyCreator后置处理器一样,这里就不在重复说明了。InfrastructureAdvisorAutoProxyCreator
2021年4月13日
其他

再次重温下Cglib 与 JDK动态代理

该设置用于输出jdk动态代理产生的类System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles",
2021年4月12日
其他

数据库审计系统基本原理与部署方式

反向代理适用于流量不能到审计设备,又不允许安装agent代理软件的情况。它的原理是直接把审计设备当作一个代理,客户端数据库连接直接连接到审计设备,通过审计设备再到达数据库,从而达到审计数据库的目的。
2021年4月10日
其他

日志审计系统的基本原理与部署方式

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年4月9日
其他

HDFS技术原理(下)-总结太全面了!!!

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年4月7日
其他

HDFS技术原理(上)

关键数据根据实际业务需要保存在具有高度可靠性的节点中,此时DateNode组成了异构集群。通过修改DateNode的存储策略,系统可以将数据强制保存在指定的节点组中。
2021年4月6日
其他

Storm(流计算)技术原理-下

在Streaming里面一个Tuple被完全处理的意思是:这个Tuple所派生的所有tuple都被成功处理。如果这个消息在Timeout所指定的时间内没有成功处理,这个tuple就被认为处理失败了。
2021年4月5日
其他

Storm(流计算)技术原理-上

Nimbus节点首先将提交的Topology进行分片,分成一个个Task,分配给相应的Supervisor,并将Task和Supervisor相关 的信息提交到Zookeeper集群上。
2021年4月4日
其他

Spark技术原理

使用DStream从Kafka和HDFS等源获取连续的数据流,DStreams由一系列连续的RDD组成,每个RDD包含确定时间间隔的数据,任何对DStreams的操作都转换成对RDD的操作。
2021年4月2日
其他

NAS技术及应用

,一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
2021年4月1日
其他

Loader技术原理

Loader除了提供图形化操作界面外,还体用了一套完整的shell脚本,通过这些脚本,可实现数据源的增删查改,作业的增删查改、启动作业、停止作业,查看作业状态,判断作业是否正在运行等功能。
2021年3月30日
其他

ZooKeeper技术原理

新机器加入也是类似,所有机器收到通知:新兄弟目录加入,highcount又有了,对于第二点,我们稍微改变一下,所有机器创建临时顺序编号目录节点,每次选取编号最小的机器作为master就好。
2021年3月29日
其他

大数据之Yarn技术原理

Manager)负责系统中所有应用程序的管理工作,主要包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动等。
2021年3月28日
其他

后端RAID技术及应用

缺点:在校验过程汇中,容易出现校验盘负载过大,使整个校验盘失效。在数据写入时,是写入最慢的,每次写入都要与校验盘校验,校验盘也成为这个存储的瓶颈。数据读取相对较快,采用多块硬盘同时读取。
2021年3月27日
其他

你所不知道的备份容灾技术基础

备份数据保留周期:即在介质上存放的备份数据的有效期,在保留周期内的数据是不允许被覆盖,当数据存放时间超过保留周期后,该部分数据所使用的介质空间可以被覆盖,从而释放介质空间。
2021年3月26日
其他

后端存储基础知识

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月25日
其他

Hive技术原理

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月24日
其他

Flume技术原理

Flume是开源日志系统。是一个分布式、可靠性和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,FLume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。
2021年3月23日
其他

Kafka深度剖析

同一个Topic下有不同的分区,每个分区会划分为多个文件,只有一个当前文件在写,其他文件是只读的。当写满一个文件(即达到某个设定的值)Kafka会新建一个空文件继续来写。而老文件切换为只读。
2021年3月22日
其他

Apache Kafka 实践:重置 offset

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月21日
其他

读写锁:使用场景和实现方案(ZooKeeper 实现)

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月20日
其他

开发实践:代码重构的思考

多用模型,少用hashmap。hashmap当时它相当于一个自由模型,啥都可以塞,啥都可以取,使用上是方便,但是没有套上任何业务信息,业务越大,修改越多,就会越不可控。每次修改都会造成一些隐患。
2021年3月18日
其他

状态机的通用设计和实现

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月17日
其他

后台开发最佳实践

document.getElementById('js_content').addEventListener("selectstart",function(e){
2021年3月16日