reggergdsg的博客

私信 关注
春秋战国程序猿
码龄5年

仓廪实而知礼节,衣食足而知荣辱

  • 1,271,125
    被访问量
  • 132
    原创文章
  • 6,415
    作者排名
  • 500
    粉丝数量
  • 毕业院校 郑州轻工业学院
  • 于 2015-12-05 加入CSDN
获得成就
  • 获得324次点赞
  • 内容获得155次评论
  • 获得670次收藏
荣誉勋章
兴趣领域
  • #大数据
    #spark#hadoop#storm
TA的专栏
  • java8
    14篇
  • Slf4j
    2篇
  • logback
    2篇
  • MQ
    2篇
  • jdbc
    1篇
  • 单元测试
    1篇
  • Eureka
    5篇
  • easyexcel
    3篇
  • java8 并行流
    1篇
  • 乐观锁
    1篇
  • spring cloud整合easyexcel
    2篇
  • 自动生成代码工具
    2篇
  • java线程池
  • 版本控制工具
  • 架构
    2篇
  • maven
    1篇
  • SSH
    3篇
  • Java开发
    48篇
  • 数据库
    24篇
  • web前端
    14篇
  • 网络爬虫
    4篇
  • HttpClient
    1篇
  • SpringMVC
    3篇
  • Spring
    5篇
  • jQuery
    6篇
  • ajax
    2篇
  • asynchronous异步请求
    1篇
  • mysql5
    5篇
  • 事物两面性
    1篇
  • tomcat服务器
    2篇
  • XLSTransformer
  • DB2数据库
    10篇
  • String类
    2篇
  • SV
  • SVN
    2篇
  • DAO
    2篇
  • 数据访问层
    3篇
  • 谷歌开发者模式
  • 历史
    1篇
  • myeclipse自动生成激活码
    2篇
  • rejected value [065966]
  • Spring事务管理
    2篇
  • Spring缓存配置
    1篇
  • ThreadLocal
  • 处理日志小工具
    1篇
  • web前端性能优化经验
    1篇
  • 消息队列
  • SQL注入
  • XSS攻击
    1篇
  • volatile关键字
    1篇
  • java原子操作
  • Java并发编程
    4篇
  • JVM类加载机制
    3篇
  • 软件设计模式
    6篇
  • 数据
  • 数据结构
    2篇
  • web架构
    2篇
  • 算法
    3篇
  • linux
    7篇
  • 项目管理
    3篇
  • 集成开发工具
    1篇
  • 负载均衡
    2篇
  • Hibernate
    1篇
  • JVM调优
    2篇
  • java垃圾回收
    1篇
  • GC
    2篇
  • Log4j
    5篇
  • Mybatis
    2篇
  • Zookeeper
    3篇
  • Spring Boot
    8篇
  • 分布式系统
    4篇
  • redis
  • Spring Cloud
    14篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

HashMap扩容测试(基于java8进行测试)

结论:初始容量为16的HashMap,当向这个集合中添加第13个键值对时,会触发扩容,扩容后的容量为32package com.cr949.auto.docs.utils;import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;/** * @author cr949 * @description HashMap扩容测试 */public class HashMapCapacit.
原创
18阅读
1评论
0点赞
发布博客于 5 天前

SpringCloudZuul责任链模式实现原理知识点梳理

SpringCloudZuul责任链模式实现原理知识点梳理更多内容,可以参考之前的博文:https://blog.csdn.net/reggergdsg/article/details/99951666
原创
7阅读
0评论
0点赞
发布博客于 5 天前

对象深拷贝实践之Zuul对象深拷贝

源码来自zuul-core-1.1.0.jarpackage com.netflix.zuul.util;import java.io.*;/** * Deep copy of an Object. The Object must be Serializable * @author Mikey Cohen * Date: 1/31/12 * Time: 11:54 AM */public class DeepCopy { /** * Returns ...
原创
7阅读
0评论
0点赞
发布博客于 5 天前

log4j如何打印日志到控制台【sql语句调试】

mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl如果使用的数据库连接池是Druid,控制台打印sql如下:Creating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7d4826ce] was not registered for synchr...
原创
57阅读
0评论
0点赞
发布博客于 1 月前

AES加密工具类AesUtils整理

package com.cr949.auto.docs.utils;import lombok.extern.slf4j.Slf4j;import org.springframework.util.Base64Utils;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import.
原创
76阅读
0评论
0点赞
发布博客于 1 月前

RabbitMQ如何查看某个队列的所有消费者【问题排查】

版本:spring-rabbit-1.6.10.RELEASEspring-boot-autoconfigure-1.3.7.RELEASE使用RabbitMQ时,遇到了一个问题,发送消息以后,发现存在多个消费者,并且这个消费者并不是我写的Listener。为了找到这个消费者的IP和端口,我需要查看当前这个队列有哪些消费者。直接访问RabbitMQ管理界面http://localhost:15672,发现一个问题,就是有的消费者并不会显示到这里,并且很多情况下,消费者列表都是空.
原创
795阅读
0评论
0点赞
发布博客于 2 月前

SpringBoot Actuator端点的实现原理【概括整理】

SpringBoot Actuator端点的实现原理【概括整理】版本:spring-boot-actuator-2.2.6.RELEASE概括起来,SpringBoot Actuator的实现原理如下1,Endpoint Bean@Endpoint标注的class是一个bean,是SpringBoot Actuator功能的具体的实现。 比如/actuator/beans端点对应的实现类是BeansEndpoint.class2,注入Endpoint Bean到...
原创
177阅读
4评论
0点赞
发布博客于 2 月前

如何把项目打jar包,然后暴露接口给第三方应用提供服务【实战讲解】

如何把项目打jar包,然后暴露接口给第三方应用提供服务【实战讲解】下面这个例子,是我在开源项目CR949中使用到的部分代码,作为讲解,发布到这里。jar包中的controller,如何对外暴露接口。这样一个场景:比如,我去gitee上面,下载一个项目,打成jar包。现在呢,我想把这个jar中的一个接口暴露出来,这样我本地项目启动以后,我就可以直接访问这个接口了。例如我们的项目启动时,可以从控制台日志看到swagger2的/v2/api-docs接口注入到HandlerMapping的过...
原创
725阅读
2评论
1点赞
发布博客于 2 月前

Swagger2的/v2/api-docs接口是如何对第三方项目暴露的【实现原理】

Swagger2的/v2/api-docs接口是如何对第三方项目暴露的呢?也就是说jar包中如何暴露接口给第三方应用?答案是:HandlerMappingswagger2实现了自己的HandlerMapping,在实现类PropertySourcedRequestMappingHandlerMapping中,把/v2/api-docs接口保存到了handlerMethods集合。然后提供了访问/v2/api-docs接口的方法lookupHandlerMethod(String urlPath,
原创
355阅读
0评论
0点赞
发布博客于 2 月前

Spring boot注入RestTemplate实例的2种方式

RestTemplate是我们使用的比较多的模板,用来发送http请求。大多数情况下,需要我们自己注入到Spring IOC容器。对于低版本的spring boot,比如spring boot 1.3.7,是不支持RestTemplateBuilder创建RestTemplate实例的。怎么办呢,如下:@Beanpublic RestTemplate restTemplate() { return new RestTemplate();}如果是spring boo...
原创
159阅读
0评论
0点赞
发布博客于 2 月前

spring boot 1.3.7版本和spring boot 2.2.6版本获取端口的2种方式

spring boot 1.3.7版本,直接从environment中获取端口,这种情况下,不管是否修改默认端口,都可以获取到。package com.cr949.auto.docs.config;import com.cr949.auto.docs.constants.Constants;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;...
原创
54阅读
0评论
0点赞
发布博客于 2 月前

如何从jdbc中获取数据库建表语句信息(表字段名称/表字段类型/表字段注释信息/表字段长度等等)

* 如何从jdbc中获取数据库建表语句信息(表字段名称/表字段类型/表字段注释信息/表字段长度等等)* 1,表字段名称* 2,表字段类型* 3,表字段注释信息这里介绍3种方式,如下:第一种方式:执行sql语句获取 select * from user_pop_info where 1 = 2第二种方式:执行sql语句获取 show create table user_pop_info第二种方式:直接从jdbc数据库连接Connection实例中获取三种方式获取的数据有一些区...
原创
267阅读
2评论
0点赞
发布博客于 3 月前

AOP切面获取参数的一个小技巧

一般来说,我们的参数,都是通过json传递的,那么这个问题就转化成了,从json中获取指定字符串的问题。OK,这个问题就简单了。如下:public static void main(String[] args) { JSONObject jsonObject = JSON.parseObject("{\"timeStamp\":21602756894612,\"status\":0,\"results\":{\"userName\":\"yang20102\",\"userLevel.
原创
207阅读
0评论
1点赞
发布博客于 3 月前

spring boot单元测试

import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.Spring.
原创
85阅读
1评论
0点赞
发布博客于 4 月前

java基础:如何获取Unsafe类的实例

Unsafe类是一个final类,位于rt.jar包下,是sun公司提供的一个工具类。这个类提供了执行native方法的能力,首先,官网不推荐我们直接使用Unsafe,原因如它的名字一样,不安全。为什么不安全呢,因为native方法直接调用操作系统的指令来执行,效率很高,但是不受jvm控制,因此容易出问题。当然,如果你艺高人胆大,建议剑走偏锋!但是我们在源码中,经常能看到Unsafe的身影,那么,如何获取Unsafe实例呢?可以借鉴caffeine的做法。源码如下:publ..
原创
237阅读
0评论
0点赞
发布博客于 5 月前

Spring Cloud微服务开发如何在本地进行微服务间的调用

Spring Cloud微服务开发如何在本地进行微服务间的调用实际开发中,我们一般是把微服务之间的调用放到开发环境进行联调,微服务内部的代码,通过swagger接口进行测试。那么,如果我想在本地进行微服务之间的调用,该如何实现呢?思路:1,配置中心使用开发环境的配置,这样保证服务能正常启动。2,eureka使用本地localhost:8xxx/eureka,本地启动的微服务,都注册到这个地址上。spring: profiles: dev cloud: confi.
原创
754阅读
0评论
0点赞
发布博客于 5 月前

阿里Fastjson:搞定json字符串转对象首字母大写的问题/格式化日期显示时间戳的问题

世界之大,无奇不有。虽然java规范明确规定字段名称首字母必须小写。但是实际开发中,总能遇到接口方强行定义成大写的情况。怎么解决呢?使用阿里fastjson即可。
原创
213阅读
7评论
0点赞
发布博客于 5 月前

Eureka集群数据同步的设计思路梳理

Eureka集群数据同步包含两层含义:第一层含义:Eureka Client只会向一个Eureka Server注册服务。一个Eureka Client只会向一个Eureka Server注册服务,如果失败,会向其他Eureka Server进行重试,并且Eureka Client发起的注册请求是单条操作,不可能批量操作,具体实现在RetryableEurekaHttpClient.class中。第二层含义:Eureka Server集群之间,通过复制进行数据同步。Eure...
原创
377阅读
0评论
0点赞
发布博客于 6 月前

Eureka源码中isReplication的业务含义是什么

官方注释是这样的:true if this is a replication event from other replica nodes, false otherwise.isReplication = true 代表这个请求是同步请求,指的是Eureka Server集群之间的数据同步。isReplication = false 代表这个请求是注册请求,指的是Eureka Client发起的服务注册请求。EurekaHttpClient.class代表的是Eureka Cli..
原创
164阅读
0评论
0点赞
发布博客于 6 月前

Eureka Server集群数据同步源码解析(上)Eureka Client发起数据同步请求

首先搞清楚一个问题:Eureka Server集群数据同步与Eureka Server集群数据备份,是同一个概念吗?很显然,不是一个概念。Eureka Server集群数据同步处理的是Eureka Client发起的数据同步请求。Eureka Server集群数据备份处理的是Eureka Server发起的数据备份请求。Eureka服务的启动类是EurekaBootStrap,这个类在eureka-core-1.4.6-source.jar包下。总体来说,Eureka Server集群数据...
原创
199阅读
0评论
0点赞
发布博客于 6 月前

原型模式使用手册,如何正确使用原型模式

原型模式属于创建型设计模式,可以重复的创建对象,并且保证效率。什么意思呢?也就是说,当我们大批量创建对象时,使用原型模式,会更高效。这里隐含1层含义:1,当数据量达到一定规模是,原型模式创建对象的效率高于new对象。真的吗,我们来试试。首先创建2个bean,一个是普通的javabean,一个是实现了Cloneable接口的javabeanpackage com.yangcq.learning.hantang.learning;import lombok.Data;...
原创
103阅读
0评论
0点赞
发布博客于 6 月前

使用阿里easyexcel 2.1.6版本遇到问题:NoSuchMethodError org.terracotta.statistics.StatisticsManager.tags

关键报错信息如下:2020-07-06 19:02:32,461 [SimpleAsyncTaskExecutor-2] ERROR cn.xxxxxxx.aaaaaaa.bbbbbbb.service.impl.XxxxxxxxxServiceImpl - [162 - d5db7678adcd8a35 - 9dcc97632c8bee3a] - error com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoSuc.
原创
615阅读
0评论
0点赞
发布博客于 6 月前

spring cloud+mybatis+阿里Druid:如何开启配置multiStatementAllow支持一次执行多条sql

关于如何开启multiStatementAllow,一次执行多条sql,这里结合项目,来说明一下。首先搞清楚,multiStatementAllow配置在哪,其实就是阿里Druid框架中WallConfig.class中的一个属性。源码如下:package com.alibaba.druid.wall;import com.alibaba.druid.util.Utils;import com.alibaba.druid.wall.spi.WallVisitorUtils;...
原创
558阅读
0评论
1点赞
发布博客于 7 月前

理论与实践:幂等性的常见实现方案有哪些

1,全局唯一ID2,去重表3,多版本控制4,状态机控制5,数据库唯一索引
原创
97阅读
0评论
0点赞
发布博客于 7 月前

MQ和ELK,增加了日常排查问题的复杂度

最近遇到一个问题,排查了很久,才解决。这里分享一下思路,遇到问题的思路更重要,有时候,就是看你有没有思路。就怕没有了思路,那样就病急乱投医了。问题描述:
原创
159阅读
0评论
0点赞
发布博客于 7 月前

java8 并行流 parallelStream,在8核的机器上,启动了几个线程

java8 并行流 parallelStream,其实就是java集合接口Collection新增的一个方法。default Stream<E> parallelStream() { return StreamSupport.stream(this.spliterator(), true);}parallelStream的存在,使得处理集合多了一种选择。parallelStream的底层实现,并没有多么高大上的技术,而是我们熟知的多线程框架ForkJoin。..
原创
602阅读
0评论
0点赞
发布博客于 7 月前

开发常用小工具类:list集合去重

在平时的项目维护中,我们经常会操作大批量的数据。比如,我需要把某个excel中所有的手机号复制出来,然后去重。对于这样的需求,通过今天分享的这个小工具类,可以轻松搞定。mark一下吧!package com.yangcq.learning.hantang.utils;import lombok.extern.slf4j.Slf4j;import java.util.*;/** * List去重 */@Slf4jpublic class DuplicateRemov.
原创
149阅读
0评论
0点赞
发布博客于 8 月前

Spring Cloud环境下多数据源的配置要点(实战)

最近在搭建Spring Cloud新项目,遇到了这个问题,记录一下,以飨读者。关于怎么配置多数据源,这里不再赘述,简单来说,就是配置多个bean,每个bean对应一个数据源。有不懂的读者,可以参考我之前的一篇博客,或者在网上搜素,都可以。如何配置多数据源这篇博客比较老了,用的是xml配置文件。但是万变不离其宗,本质上是一样的,就是注入多个bean到Spring的IOC容器中。在Spring Cloud环境下,我们配置了2个数据源以后,启动项目会报错。报错日志如...
原创
367阅读
0评论
0点赞
发布博客于 9 月前

Slf4j + logback 打印日志的最佳实践

我们抛开业务逻辑,仅仅从日志的角度来考虑日志问题。集合最近对项目的日志优化,总结以下几点最佳实践。Slf4j + logback 打印日志的最佳实践1,日志级别使用不当2,谨慎使用e.printStackTrace()3,使用占位符,而不是字符串拼接4,尽量打印更少的日志5,尽量不要在for循环中log日志下面结合代码,来具体讲解。...
原创
353阅读
0评论
0点赞
发布博客于 10 月前

自己动手,使用Spring Initializr从零开始搭建Spring Cloud项目

新建Project打开IDEA开发工具,File -> New -> Project然后一步步往下设置,然后到这一步,选择Spring CloudOK,继续一路往下,点finish,Spring Cloud项目创建完成。设置编译器版本,选择jdk版本等这里我使用的是JDK 1.8,当前主流的版本。具体操作不再赘述,网上一搜一大...
原创
626阅读
1评论
0点赞
发布博客于 10 月前

java异常信息捕获:为什么不建议使用e.printStackTrace()

考考大家:e.printStackTrace() 会把堆栈异常信息写到哪里:1,磁盘2,内存3,文件这个问题答案不难,但是你搞清楚了以后,就不会再这样打印日志了。--------> 正确答案见下面的留言。毕竟,内存贵啊,富豪才能任性使用。码农使用的时候,要悠着点...至于该如何优雅的打印日志,可以参考我的上一篇博客《Spring Cloud如何优雅打...
原创
1007阅读
3评论
0点赞
发布博客于 11 月前

Spring Cloud如何优雅打印日志:slf4j+logback

最近在对项目的日志进行优化,主要是如何减少不必要的日志输出,如何优化日志输出的性能,以及当前code中,一些不规范的日志输出代码的优化。基于此,对java日志进行了一个系统的梳理。今天这里,主要分享一个点,干货!具体的理论就不再重复搬运了,大家可以自行搜索脑补。Spring Cloud + Slf4j + Logback 架构打印日志的正确姿势import lombok.ext...
原创
1280阅读
0评论
0点赞
发布博客于 11 月前

Spring事务UnexpectedRollbackException异常抛出原因深度分析及解决方案

Transaction rolled back because it has been marked as rollback-only,中文翻译为:事务已回滚,因为它被标记成了只回滚。这个异常,相信写代码多年的大家,都遇到过,什么原因呢?今天我们专门分析一下,以为前车之鉴。报错信息详情关键报错信息:org.springframework.transaction.Un...
原创
1477阅读
0评论
1点赞
发布博客于 11 月前

java对象转map:PropertyUtilsBean#describe方法对象转Map,为什么多余一个class

通常,我们项目都有一个这样的工具类:import org.apache.commons.beanutils.PropertyUtils;import java.util.Map;public class BeanUtilsTest { public static void main(String[] args) { ProductDto produ...
原创
378阅读
0评论
1点赞
发布博客于 1 年前

POI如何揭开excel文件的神秘面纱(POI判断excel文件格式源码解析)

要搞清楚POI如何判断excel文件格式,我们要先搞清楚FileMagic。FileMagic是什么呢?看官方解释:The file magic number, i.e. the file identification based on the first bytes of the file文件魔法数字,即基于文件第一个字节的文件标识。说白了,excel文件的格式,是由文件的第...
原创
4706阅读
1评论
1点赞
发布博客于 1 年前

阿里Easyexcel开发流程/Spring cloud整合阿里easyexcel(版本2.0.6)

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到几M,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。
原创
1160阅读
0评论
0点赞
发布博客于 1 年前

一看就懂系列:java8流的扁平化/什么是扁平化流(图解)

《java8实战》这本书上,关于刘的扁平化的讲解,个人觉得有点费解。我也是读完,回味了好多遍才理解。其实我觉得作者的图解不太直观,接下来,我会重新画一张图,方便大家理解。什么是扁平化流,书中是这样描述的:一言以蔽之,flatMap方法让你把一个流中的每个值都换成另一个流,然后把所有的流连接起来成为一个流。个人理解:扁平化流的关键字眼,就是扁平二字,什么是扁平呢?大家应该听说过扁平...
原创
1105阅读
4评论
1点赞
发布博客于 1 年前

附代码:java导出的CSV文件中,字段内容中包含分隔符(如英文逗号,英文双引号)的处理方案

Talk is cheap, show me the code./** * CSV字段内容中包含分隔符(如英文逗号,英文双引号)的处理方案 * * 字段中包含有英文逗号,该字段必须用英文双引号括起来 * 字段中包含有英文双引号,该字段必须用额外的双引号括起来 */public class JavaExportCsvFieldContentParse { /...
原创
1529阅读
0评论
0点赞
发布博客于 1 年前

根据经纬度计算两点之间的直线距离(算法)

Talk is cheap, show me the code.import lombok.extern.slf4j.Slf4j;/** * 根据经纬度,计算2点之间的直线距离。 * 距离较近的场景,可以使用,误差较小。 * 距离较远的场景,要考虑具体的业务场景。 * 因为这个只是计算直线距离,和实际的路线不同,所以要结合场景,看是否适用 */@Slf4jpub...
原创
1107阅读
0评论
0点赞
发布博客于 2 年前

自动生成小工具(二):根据建表sql自动生成增删改查sql语句文件

Mybatis自动生成插件虽然功能强大,但是也略显笨重。我自己开发了一个自动生成的小工具,更加简单,更加轻量级。一共只有几百行代码,想改的话,直接修改即可。根据自己的实际情况,可以进行灵活的二次开发。Talk is cheap,show me the code.自己写的,可以直接跑。如有问题,请联系,谢谢。一,程序入口核心类:GenSqlXml.javapackag...
原创
740阅读
0评论
1点赞
发布博客于 2 年前

大话微服务配置中心:Eureka Server与Eureka Client的契约(Lease.class)

Eureka Server与Eureka Client之间签订了一个契约(Lease.class),这是它们之间正常运转的根基。寒来暑往,年复一年,由于契约的存在,微服务系统得以提供稳定的发现注册服务。以心跳续约为例,Eureka Client每隔30秒发送一次心跳续约。Eureka Server收到客户端发来的请求后,会重新计算租期。一,一纸契约Eureka Server与E...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

如何在lambda内部修改外部局部变量的值/如何用lambda重构for循环计数

Talk is cheap, show me your code!看一段代码:/** * 在lambda表达式内部,修改lambda表达式外部的局部变量的值 */private synchronized void updateLocalVariable() { List<String> list = new ArrayList<>(); ...
原创
2709阅读
0评论
2点赞
发布博客于 2 年前

自动生成小工具(一):根据建表sql自动生成对应的model.java文件

Talk is cheap,show me the code./*** 功能:根据提供的数据库表结构文件(.sql文件),自动生成对应的model类。** 根据数据库表的建表语句,生成对应的实体类。* JDK版本1.8* 数据库使用的是mysql** 注意事项:* 1,必须要有COMMENT,并且COMMENT用英文单引号包围起来。* 2,请注意sql...
原创
1223阅读
0评论
0点赞
发布博客于 2 年前

实现单例模式需要考量的几个点(思路)

单例模式是一个老生常谈的话题了,如何实现呢?我们这里不再赘述,我们这里梳理一下思路,看看设计一个单例模式需要考虑的问题。1,延迟加载new操作放在方法内部,不要作为类的静态成员变量暴露给调用者。2,只实例化一次实例化之前先判断是否为null。3,线程安全有多种思路:synchronized关键字,内部类等。synchronized关键字其实就是加...
原创
171阅读
0评论
0点赞
发布博客于 2 年前

Spring Boot支持的配置方式有哪些(深度解析)

Spring Boot支持的配置方式有哪些(深度解析)有本书上总结了一下,大概有9种配置方式,当然还有其他方式,这里不再列举。并且这些配置方式是有优先级的,如果不同的配置方式都配置了同一个配置项,那么优先级高的胜出。下面我们来具体看。一,Spring Boot支持的配置方式Spring Boot配置的核心类是PropertySource<T>,...
原创
255阅读
0评论
0点赞
发布博客于 2 年前

Spring Cloud Ribbon负载均衡策略详解

Spring Cloud Ribbon负载均衡策略详解。Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现,Spring Cloud集成了Netflix Ribbon,只是对Netflix Ribbon进行了一次封装。这里使用的ribbon的版本是:ribbon-loadbalancer-2.2.2.jar。...
原创
187阅读
0评论
0点赞
发布博客于 2 年前

如何解决maven冲突?

如何解决maven冲突maven冲突分两类:显式冲突和隐式冲突。显式冲突:maven文件中直接以<dependency></dependency>标签引入了相同的jar包,这种情况下的冲突,我们称之为显式冲突。隐式冲突:<dependency></dependency>标签引入的jar包中,间接的引入了jar,导致的冲突。...
原创
668阅读
0评论
0点赞
发布博客于 2 年前

乐观锁的使用场景

乐观锁是一种轻量级锁,在并发竞争不激烈的场景下,我们可以使用乐观锁来保证线程安全。我们来看一个场景:定时job如何做并发控制,保证只有一台服务器执行?这个场景其实很适合使用乐观锁,因为我们的跑job的服务器节点不会太多,可能就几台,几十台。如何使用呢?我们可以参考一下CAS的实现。首先每条job都会配置在数据库中,初始状态是N,如果有job开始跑了,会先把状态置为N。并发场景我...
原创
1097阅读
2评论
0点赞
发布博客于 2 年前

你们项目平时怎么做数据库性能优化的?

这里简单总结一下,常用的几种性能优化方案:1,sql语句优化,基于sql语法层面的优化。2,表连接的优化。3,使用临时表。4,批量代替单条。5,索引。6,分库分表。这里重点说一下以下几点:一,使用临时表Oracle临时表是会话级别或者事务级别的,只对当前会话或者事务可见。每个会话只能查看和修改自己的临时表数据。临时表有哪些使用场景呢?...
原创
249阅读
0评论
0点赞
发布博客于 2 年前

责任链模式实践之Zuul责任链模式

责任链模式实践之Zuul责任链模式一,什么是责任链模式责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。注意:责任链模式也叫职责链模式。在责任链模式中,客户只需要将请求发送到...
原创
375阅读
0评论
0点赞
发布博客于 2 年前

Zuul的内置过滤器详解(源码解析)

Zuul的内置过滤器详解(源码解析)从技术角度来说,Zuul的的核心就是一系列的过滤器。这些过滤器都实现了ZuulFilter接口。Zuul的过滤器ZuulFilter与Spring的过滤器Filter有什么区别?一,ZuulFilterZuulFilter是一个抽象类。ZuulFilter实现了IZuulFilter接口、Comparable接口。继承ZuulF...
原创
189阅读
0评论
0点赞
发布博客于 2 年前

zuul架构图

发布Blink于 2 年前

MySQL有哪几种join方式,底层原理是什么?

网上有相关的文章,总结的挺好,这里不再重复码字,这里提几个点。一,Block Nested-Loop join的理解相对来说Block Nested-Loop join是最难理解的。Block Nested-Loop join是如何批量操作的?Block Nested-Loop join为什么能提升性能?Block Nested-Loop join是使用了Buffe...
原创
698阅读
0评论
0点赞
发布博客于 2 年前

redis集群启动流程关键类源码分析

redis集群启动流程关键类(源码版)以Spring集成redis为例来说明,版本是2.8.2。一,RedisProperties解析配置文件中的配置项,这个class上加了一个@ConfigurationProperties注解,指定了prefix为spring.redis,也就是说处理配置文件中前缀为spring.redis的配置项。RedisProperties定...
原创
141阅读
0评论
0点赞
发布博客于 2 年前

《面试题:MySQL有哪几种join方式,底层原理是什么?》 ---- 【MySQL 有几种Join,其底层实现原理是什么? - MYSQL】 http://www.yan https://www.jianshu.com/p/20bcb37f1826

 
发布Blink于 2 年前

常见分布式集群选举机制总结

本篇文章主要讨论以下几种集群的选举机制:1,Zookeeper2,kafka3,redis4,Eureka我们探讨这几个集群的选举机制,其实就是探讨它们的高可用性。如果集群中的某些节点挂了,如何保证可用性?这个问题是分布式系统面临的三大问题之一。Zookeeper的leader选举机制,是这四种集群中最复杂的选举机制,同时也是这四种集群中最接近paxos算法的实...
原创
3325阅读
0评论
1点赞
发布博客于 2 年前

《面试题:Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?》 ---- Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码? 一,Redis有哪些数据 https://www.jianshu.com/p/7d3ec0917f8c

 
发布Blink于 2 年前

《线程池有哪些RejectedExecutionHandler,分别对应的使用场景?》 ---- 线程池有哪些RejectedExecutionHandler,分别对应的使用场景? 一,Reject https://www.jianshu.com/p/ef2d4ed0e2f7

 
发布Blink于 2 年前

ComponentScan注解的扫描范围及源码解析

ComponentScan注解的扫描范围及源码解析一,ComponentScan注解的默认扫描范围ComponentScan注解的默认扫描范围是启动程序XxxApplication. java所在目录及其下的所有子包。为了方便理解,我们看一下下面这个图片。这个项目中的启动类是:SpringbootApplication.java该启动类所在的目录是:spring...
原创
2499阅读
0评论
2点赞
发布博客于 2 年前

Zookeeper客户端

Zookeeper客户端一,Zookeeper客户端的主要组件Zookeeper客户端主要由以下几个核心部分组成:1,Zookeeper实例:客户端入口。通过调用Zookeeper构造方法生成客户端实例。2,ClientWatchManager:客户端Watcher管理器。3,HostProvider:客户端地址列表管理器。4,Client...
翻译
132阅读
0评论
0点赞
发布博客于 2 年前

Zookeeper通信协议

Zookeeper通信协议我们这里的讨论是建立在版本3.4.6的基础之上的。zookeeper-3.4.6.jar下,有一个单独的目录,叫proto,这个就是zookeeper通信协议的主要实现源码。我们的讨论,就是建立在这些源码之上的。一,请求/响应协议报文结构Zookeeper的请求/响应协议报文结构简单来说由3部分组成。len:报文长度。报文头:请求报文头...
翻译
2123阅读
0评论
0点赞
发布博客于 2 年前

UUID的含义及实现原理

我先抛出来一个问题:UUID能保证全世界唯一吗?有哪位大佬有想法,可以留言讨论一下,谢谢!一,UUID的含义 UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Com...
转载
9484阅读
1评论
1点赞
发布博客于 2 年前

Mybatis中isNotNull与isNotEmpty的使用技巧

做开发工作时间长了,会发现,在需求逐步梳理清晰以后,大致的方向已经明确了。此时会进入细节开发环节,是最繁琐,也是决定开发质量的关键阶段。最近遇到了一个生产问题,必填字段的值,清空保存,无法保存成功。 具体业务需求是这样的:客户的基本信息,坐席可以保存,也可以提交后端系统进行审批。1,保存的时候,其实就是一个暂存的功能,只要坐席输入的是合法的值,都要保存入库。2,提交审批的时候会...
原创
23087阅读
8评论
2点赞
发布博客于 3 年前

ORACLE中EXISTS和IN进行子查询的区别(工作原理分析)

今天和大家分享一下SQL中2个常见的关键字:EXISTS和IN。这2个关键字很常见,但是区别是什么呢?EXISTS和IN的共同点是都是用来做子查询的。区别如下:1,EXISTS一般用于相关子查询,IN一般是用于非相关子查询。什么是相关子查询,什么是非相关子查询,大家可以自行百度,这里不再赘述。2,EXISTS适合于外表小而内表大的情况,IN适合于外表大而内表小的情况。这一点对于
原创
2663阅读
0评论
4点赞
发布博客于 3 年前

什么是尾递归/尾递归的底层实现原理

什么是尾递归/尾递归的底层实现原理    什么是尾递归?尾递归就是函数最后的语句是调用函数自身,但调用自己的时候,已经不再需要上一个函数的环境了。所以并非所有的递归都属于尾递归,它需要通过上述的规则来编写递归代码。和普通的递归相比,尾递归即使递归调用数万次,它的函数栈也仅为常数,不会出现Stack Overflow异常。    递归和循环的区别?从jvm的角度来说,递归
原创
1774阅读
0评论
2点赞
发布博客于 3 年前

定期清理linux服务器日志文件的几个思路

定期清理linux服务器日志文件的几个思路1,在跑批程序中,用java代码调用shell脚本;2,在跑批程序中,用纯java代码实现,也就是使用java的文件操作类File;3,纯shell脚本方式,使用linux服务器的调度程序调用shell脚本;    结合最近的项目,这里提供一个示例。首先,我们是在跑批项目中实现的定期清理日志功能,因为我们有跑批项目,使用的是Co
原创
1750阅读
0评论
0点赞
发布博客于 3 年前

关于Execl导入大数据量文件的处理思路(实战经验)

关于Execl导入大数据量文件的处理思路(实战经验)Execl作为微软的早期产品,功能强大的同时,性能也相应的差很多,处理大数据量时尤其明显。最近项目中有一个需求,要求导入人员信息,Execl的数据量大概5000左右,但是会关联其他表,查询出100万级别的数据量,插入到值表。并且这个过程是系统管理人员每月不定期在页面导入的。系统设计的要求是10秒内完成。简单说一下我们的
原创
4816阅读
1评论
0点赞
发布博客于 4 年前

tomcat核心配置文件server.xml核心元素的配置

tomcat核心配置文件server.xml核心元素的配置    本篇文章,我们不打算对server.xml进行深入的讲解。因为就大多数实际开发者而言,对server.xml进行配置的操作少之又少。但是,作为tomcat服务器的核心配置文件,server.xml中配置了一些我们开发中需要关注的关键的点。比如tomcat服务器的监听端口port="8080"。这篇文章的目的就是从
转载
798阅读
0评论
0点赞
发布博客于 4 年前

SVN命令之清理命令(clean up)的功能及使用技巧

SVN的清理命令,我们经常会使用。这个命令的原理,我们还是有必要深究一下的。    当SVN改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心。在进行任何修改操作时,SVN都会把日志记录到日志文件中,然后执行log文件中的命令,并且执行过程中在工作拷贝的相关部分保存一个锁,防止SVN客户端在变更过程中访问工作拷贝。如果SVN的操作中断了(举个例子:进程被杀死了,机器死掉了),
转载
120792阅读
3评论
3点赞
发布博客于 4 年前

SQL技巧:如何统计博客每天的总点击量和每天的总点击人数

最近由于工作安排,需要统计一篇火爆的博客每天的总点击量和每天的总点击人数。其实主要考验的就是编写SQL的能力。这里我们需要用到GROUP BY 和 COUNT关键字,关于这2个关键字的用法,网上有很多,这里不再赘述。-- 分组统计每天的总点击量SELECT DISTINCT to_char(TB.CRT_TIME, 'yyyy-MM-dd') DATE, COU
原创
6137阅读
0评论
0点赞
发布博客于 4 年前

DB2-407报错中如何快速定位问题 SQLCODE: -407, SQLSTATE: 23502

SQLCODE: -407, SQLSTATE: 23502:这个报错的准确描述是这样的,不能把NULL值插入到定义为NOT NULL的列中。也就是违反了完整性约束异常。在开发中,这个报错,我们会经常遇到。问题也很简单,就是“不能为空的列,空了”。对于一个字段个数很多的表来说,排查起来有难度。如何精准定位呢?其实也很简单。    我们可以从报错信息中了解更多详情,这些详情可以帮
原创
43183阅读
0评论
3点赞
发布博客于 4 年前

BigDecimal.setScale()方法用于商业计算的精度设置问题详解

BigDecimal.setScale()方法用于商业计算的精度设置问题详解    网上的说法繁杂,看起来诸多不便,并且有的说法也不太准确,在这里 做一下求证。用的较多的4个参数:BigDecimal.ROUND_UP 这个方法做直接进位处理,但是有个特殊情况需要考虑,如果将要舍弃的位上的值是0,不做进位处理。BigDecimal.ROUND_DOWN 这个方法做直接舍弃处理
原创
1299阅读
0评论
0点赞
发布博客于 4 年前

JS实现BASE64加密解密-后台加密前台解密案例分析

JS实现BASE64加密解密-后台加密前台解密案例分析    通常的业务场景,我们并不会在前端进行加密解密的相关操作。原因很简单,前端没法让人放心,很容易被攻击。但是最近的这个项目,由于无法在后台保存Session,导致用户信息的维护变的很复杂。从统一权限系统登录时,需要传递加密后的用户ID。这个加密后的用户ID会作为URL的一部分,然后前端会从URL上直接截取这个加密后的用户
原创
15749阅读
0评论
1点赞
发布博客于 4 年前

Log4j的日志输出级别和配置文件详解

一,Log4j的日志输出级别    Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。ALL 各级包括自定义级别 DEBUG 指定细粒度
转载
10245阅读
1评论
0点赞
发布博客于 4 年前

《JVM垃圾回收相关内容》开发中,如何尽量减少GC开销,减轻垃圾回收的负担

前言:这段时间回顾了一下GC的相关知识,理论可以指导实践,学习的目的就是为了使用。所以,在平时的开发中,如何写代码,可以减少GC开销,是我一直思考的问题,带着这个问题,我找到了网上的这些内容,总结的不错,我认为很好。美中不足的是,理论说的好,但是如何实操,没有做进一步的引导。我稍加修改,加上自己的理解,从实操性上进行了增减,以飨读者。水平有限,如有不足之处,请见谅。    第一
转载
815阅读
0评论
0点赞
发布博客于 4 年前

DB2数据库查询自增长序列的2种方式

前言:虽然SQL有一套公共的标准,但是不同的数据库生产商在实现上还是存在较大差异,以序列为例,如果查询序列,ORACLE和DB2就存在较大差异。这种差异,对于开发人员或者运维人员来说,是很痛苦的。最直接的影响就是,我们每次使用时都要百度或者谷歌一下。-- 首先,我们创建一个名称为SEQUENCE_AUTO_INCREMENT的序列DROP SEQUENCE SEQUEN
原创
8410阅读
0评论
0点赞
发布博客于 4 年前

Java垃圾收集器参数及其含义

Java垃圾收集器参数及其含义    先来回顾一下java的垃圾收集器有哪些:1,Serial收集器2,ParNew收集器3,Parallel Scavenge收集器4,Serial Old收集器5,Parallel Old收集器6,CMS收集器(Concurrent Mark Sweep)7,G1收集器(Garbage First)
转载
653阅读
0评论
0点赞
发布博客于 4 年前

java异常Throwable和Sping事务控制的异常回滚

java异常Throwable和Sping事务控制的异常回滚 今天的讨论以一个项目中的实际问题入手:在后台管理系统中,对敏感数据的操作,都需要记录审计日志。我们以修改为例,这个过程可以分解为2步操作,对某个数据的修改和插入日志。并且这2个操作具有原子性,要么都执行,要么都不执行。 很显然,这里需要进行事务控制。在当前流行的Sping框架中,我们使用Spring的
原创
2079阅读
0评论
0点赞
发布博客于 4 年前

(干货)DB2中关于百分号%的转义处理问题

(干货)DB2中关于百分号%的转义处理问题    网上有很多关于DB2转义字符的说明,不过都不是拿来就可以用的。周围的同时遇到这个问题了,然后去网上查了以后,还是解决不了,我很纳闷。于是我也去搜了一下,果然,网上的说法基本上都是这种:select * from table where name like '%\%%' escape '\';    然而,我们通常都是从前
原创
2006阅读
0评论
0点赞
发布博客于 4 年前

从JVM的角度看Spring的AOP

以下观点,是个人对AOP底层实现的理解。由于个人知识的局限性,难免有错误,仅供参考。    我们以Spring的事务管理机制为切入点,来进行说明。并且,以下所有观点,都是建立在2个前提条件下:1,Spring是在程序运行期间,把事务控制代码添加到委托类的字节码文件中的。2,Spring具有修改字节码文件的能力。    首先,我们来回顾一下Spring的事务控制。Sp
原创
1028阅读
0评论
0点赞
发布博客于 4 年前

linux常用命令find笔记

find命令用来在指定目录下查找文件。find命令的功能强大,命令也较为复杂,虽然经常使用,可能也只用到了其中的一部分,这里做一个笔记,经常翻阅一下,加强记忆。find .  列出当前目录及其子目录下的所有文件和文件夹。find /home -name "*.sql"   在/home目录下查找所有以.sql结尾的文件find /home -iname "*.sql"
原创
609阅读
0评论
0点赞
发布博客于 4 年前

关于Hibernate的几点回顾:get/load/SessionFactory/延迟加载

1,Hibernate中get()方法和load()方法的相同点与不同点?    如果在缓存中没有找到对象,get()方法会直接访问数据库,并返回一个完全初始化好的对象。load()方法如果在缓存中没有找到对象,则会返回一个代理对象,只有在对象getId()之外的其他方法被调用时才会真正去访问数据库,这在某些场景下可以显著提升查询性能。    一句话概括就是:get()方法是“
原创
809阅读
0评论
0点赞
发布博客于 4 年前

Apache作为负载均衡服务器的配置

----------------- Apache作为负载均衡服务器的配置 ------------------    Apache作为负载均衡服务器,其实原理和方向代理是类似的。当请求到达Apache服务器时,Apache服务器会根据配置,去请求相应的地址。之前的博文简单介绍了Apache作为反向代理服务器的配置,今天主要讨论一下Apache作为负载均衡服务器的配置。 
转载
3760阅读
0评论
1点赞
发布博客于 4 年前

Apache反向代理的配置

------------------------ Apache反向代理的配置 -----------------------------1.Apache反向代理的概念    正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站。而反向代理指的是用户将请求发送给反向代理服务器,由反向代理服务器将请求路由转发到具体的服务器。比如机房有两个Tomcat提供服务,但是由于防
原创
927阅读
0评论
0点赞
发布博客于 4 年前

left join连接2个查询结果集的用法

首先,可以确切的告诉大家,left join可以连接2个查询结果集。我们通常的用法是,在left join的左边是一个查询结果集,然后右边是一个单表。如下:SELECT S.STUDENT_NAME STUDENT_NAME, S.STUDENT_NO STUDENT_NO, F.ADDRESS ADDRESSFROM( SELECT G.GRADE_NO GRADE
原创
26875阅读
3评论
2点赞
发布博客于 4 年前

linux重启Apache服务的常用命令

最近项目人手不够,运维的工作,很多都是交给我来处理,顺便学习一下linux的操作命令。今天分享2个点:Apache服务的常用linux命令和整理磁盘空间的linux命令。一,使用linux命令重启Apache服务    通常情况下,Apache服务器的安装路径都是在usr目录下。linux服务器的常用应用程序和文件,几乎都放在这目录。这里贴一下usr目录的常见结构:
原创
7469阅读
0评论
1点赞
发布博客于 4 年前

数据库查询常用关键字JOIN与LEFT JOIN/UNION与UNION ALL/GROUP BY

今天来回顾一下数据库查询中,常用的几个关键字。关注这些细节,对于我们写出高效的SQL语句,还是有帮助的。   1,JOIN 与 LEFT JOINJOIN,等价于INNER JOIN,是强关联。JOIN只查询出左表能够在右表中匹配到记录的行。也就是说,左边的记录,只有在能够匹配到右边中记录的情况下,才会显示。LEFT JOIN,是弱关联。LEFT JOIN会查询出左
原创
2269阅读
1评论
0点赞
发布博客于 4 年前

MyEclipse不能自动编译解决方法总结(转)/debug时断点乱跳问题的解决办法

MyEclipse不能自动编译解决方法总结(转)前言:工具在给人带来方便的同时,相伴而来的也有不可预知的问题。    在使用集成开发工具进行项目开发时,我们不仅要了解自己写的代码,还需要了解我们使用的集成开发工具。并且,越是集成度高的IDE,复杂度就越高,我们定位问题就越困难。本人最近开发的项目,由于项目使用的BTP开发工具是在开源的eclipse上集成的,所有一旦出现
转载
2079阅读
0评论
0点赞
发布博客于 4 年前

Linux中执行shell脚本的4种方法

Linux中执行shell脚本的4种方法1,切换到shell脚本所在目录,执行shell脚本;cd /home/patch./start.sh2,以绝对路径的方式执行bash shell脚本;/home/patch/start.sh3,直接使用bash 或者 sh执行shell脚本;cd /home/patchbash start.sh或者cd
转载
3042阅读
0评论
1点赞
发布博客于 4 年前

写高效的SQL语句

SQL优化总结1,where的条件顺序影响查询速度 WHERE子句中的连接顺序:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。2,SELECT * FROM TABLENAME WHERE A = "A" AND 1=1如何优化?3,不要S
转载
3590阅读
0评论
1点赞
发布博客于 4 年前

使用数据库序列生成主键

一,什么是序列    序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATE SEQUENCE 序列名 [INCREMENT BY n
转载
8560阅读
0评论
4点赞
发布博客于 4 年前

mybatis + DB2数据库常见报错:jdbc type 0 not yet supported

mybatis + DB2数据库常见报错:jdbc type 0 not yet supported。        最近做项目,我也遇到了这个问题,并且多次遇到了,有时候改改这里,动动那里,问题也解决了,但是不搞清楚这个问题的根本原因,还是不放心。我的情况是这样的:进行一个数据库查询操作,会向后台传递一个参数,SQL大致是这样的:SELECT     PRODUCT_NA
原创
3019阅读
0评论
0点赞
发布博客于 4 年前

SVN基础知识回顾(一)

SVN的使用一,SVN服务器的搭建    主要是安装服务器端和客户端:VisualSVN Server和TortoiseSVN。个人认为最好用VisualSVN server 服务端和TortoiseSVN客户端搭配使用。二,SVN常用命令查看修改的文件记录svn cat -- 显示特定版本的某文件内容。svn list -- 显示一个目录或某一版本
转载
495阅读
0评论
0点赞
发布博客于 4 年前

Linux链接文件命令:ln(LN,not IN) 【温故知新】

Linux命令:ln(LN,not IN)    这个命令,平时用的不多,mark一下,加深记忆。1,基本功能功能:为文件建立同步链接。分类:硬链接、软链接。命令格式:ln[参数][目标文件或目录][源文件或目录]    当我们需要在不同的目录,用到相同的文件时,我们不需要再每个目录下,都放一个相同的文件。Linux的ln命令,就是为了解决这个问题而生的
转载
824阅读
2评论
0点赞
发布博客于 4 年前

动态代理的疑问:在程序的编译阶段,new操作都做了什么

OK ,我们来回顾一下,之前的博文《Java代理模式详解及案例分析:静态代理/动态代理 》提出的几个问题:1,什么是代理模式?2,Java中,静态代理与动态代理的区别?3,Spring使用的是JDK的动态代理,还是CGLIB的动态代理?4,JDK的动态代理的实现原理?5,JDK的动态代理与CGLIB的动态代理的实现上,有何不同?6,你知道的,还有其他动态代理技术吗?请简述实
原创
1136阅读
2评论
0点赞
发布博客于 4 年前

Linux文件属性相关知识点学习总结

Linux中的“文件”和Windows中的“文件”,区别还是挺大的。下面我们来看看Linux系统中的“文件”,究竟是一个什么概念。    Linux文件或目录的属性主要包含以下内容:节点、种类、权限模式、链接数量、所属用户,所属组、最近访问或修改时间。如下图:我们以下面的一个查询为例,来进行说明,ls -lih2093387 -rwxrwxrwx 1 root
转载
442阅读
0评论
0点赞
发布博客于 4 年前

32位sublime text

32位sublime text
exe
发布资源于 5 年前

一致性哈希算法及其实现(Consistent Hashing)

一致性哈希算法及其实现(Consistent Hashing)一,一致性哈希算法的原理1,一致性哈希算法诞生的背景    技术和业务是相互推动,共同前进的。一致性哈希算法的产生也源于业务的需求。随着业务的增长,一台单机已经不能满足业务的需要,分布式架构应运而生。分布式环境下,多台机器需要协同作业,如果保证数据在分布式环境下的一致性,就成为了亟待解决的问题。一致性哈希算法
转载
4368阅读
0评论
0点赞
发布博客于 5 年前

java中的哈希算法和hashcode深入讲解

java中的哈希算法和hashcode深入讲解一,哈希算法的概念    在计算机领域,哈希算法具有非常广泛的应用,比如快速查找和加密。今天我们来讨论一下哈希算法。我们先从理论知识开始。1,什么是哈希算法    百科中,从哈希算法的功能上,对哈希算法进行了定义。百科是这样定义哈希算法的:哈希算法可以将任意长度的二进制值映射为较短的,固定长度的二进制值。我们把这个二进制
原创
25129阅读
3评论
18点赞
发布博客于 5 年前

数据库深入学习笔记

------------------------------------------- 分割线 -------------------------------------------数据库深入学习笔记-SQL执行引擎以下面的几个问题,来开始今天的讨论:1,什么是SQL引擎?2,什么是SQL存储引擎?3,SQL引擎的工作原理(工作流程)?4,SQL语句的执行顺序?
转载
4503阅读
0评论
2点赞
发布博客于 5 年前