自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

To: 不对代码做测试,就像是上完厕所不洗手!

To: 不对代码做测试,就像是上完厕所不洗手!

  • 博客(33)
  • 资源 (4)
  • 收藏
  • 关注

原创 docker sql_mode=only_full_group_by

docker sql_mode=only_full_group_by

2022-09-22 11:19:13 426

原创 秒杀系统设计

什么是秒杀通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动业务特点 高并发:秒杀的特点就是这样时间极短、瞬间用户量大。 库存量少:一般秒杀活动商品量很少,这就导致了只有极少量用户能成功购买到。 业务简单:流程比较简单,一般都是下订单、扣库存、支付订单 恶意请求,数据库压力大 解决方案前端:页面资源静态化,按钮控制,使用答题校验码可以防止秒杀器的干扰,让更多用户有机会抢到nginx:校验恶意请求,转发请求,负载均衡;动静分离,不走tomcat获.

2022-03-07 13:19:57 488

原创 为什么使用MQ?MQ的优点?

简答 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高并发请求。 日志处理 - 解决大量日志传输。 消息通讯 - 消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 详答主要是:解耦、异步、削峰。解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果

2022-03-02 19:02:19 324

转载 【消息中间件】- ActiveMQ/Kafka/RocketMQ/RabbitMQ

MQ类型 优点 缺点 官网介绍 应用场景 ActiveMQ 单机吞吐量万级,时效性 ms 级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据 官方社区现在对 ActiveMQ 5.x 维护越来越少,高吞吐量场景较少使用。 Apache ActiveMQ是最流行的开源、多协议、基于Java的消息代理。 ActiveMQ支持任何消息传递用例的能力和灵活性,比较适合小型吞吐量比较小的公司进行使用,或者MQ起步学习的首选。 Kafka ..

2022-03-02 18:35:32 178

原创 ==和equals

public static void main(String[] args) { /* 基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。*/ int one = 1; int two = 1; System.out.println(one + "\t 比较 \t" +two + "\t == " + (one == two)); /*引用数据类型:比较的是引用的地址是否相同,...

2022-03-02 17:31:34 239

原创 什么是浅克隆和深克隆?

1、在我们的开发过程中经常遇到要复制一个对象比如: @Test public void test1(){ People p1 = new People("1","zhang3",12); People p2 = p1 ; System.out.println(p1==p2);// 输出 true p1.setUsername("li4"); System.out.println(p2.getUsernam...

2022-03-02 16:28:56 394

原创 【JVM 功能组件】

这部分主要是性能监控和故障处理1、jps:虚拟机进程状况工具功能是列出正在运行的虚拟机进程,还能知道远程计算机进程状态2、jstat:虚拟机统计信息监视工具格式为 jstat [ option vmid [ interval [s|ms] [count] ] ],其中option代表希望查询的虚拟机信息,主要为3类,类加载、垃圾收集和运行期编译状况3、jinfo:查看java配置信息工具就是查看虚拟机配置参数的相关信息4、jmap:java内存映像工具好像主要

2022-01-12 17:59:59 401

原创 JSTAT查看JVM的GC情况

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.jstat 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。...

2022-01-12 17:38:59 1598

原创 JVM几个核心的启动参数

-Xms1000M-Xmx1800M-Xmn350M-Xss300K-XX:+DisableExplicitGC-XX:SurvivorRatio=4-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=70-XX:+CMSParallelRemarkEnabled-XX:LargePageSizeInBytes=128M-XX:+UseFastAccessorMethods-XX:+Us...

2022-01-11 11:07:48 196

原创 BeanUtils.copyProperties和普通赋值比较

其实不难理解,一看代码就知道spring用反射究竟多做了多少事情private static void copyProperties(Object source, Object target, Class<?> editable, String[] ignoreProperties)throws BeansException { Assert.notNull(source, "Source must not be null"); Assert.notNull(targe...

2021-12-03 14:25:17 253

原创 删除example分支分支处理

2.假如现在在example分支上,想删除example分支:先切换到别的分支: git checkout dev删除本地分支: git branch -d example如果删除不了可以强制删除,git branch -D example必要的情况下,删除远程分支:git push origin --deleteexample分支合并提交记录: git log。 git rebase 1b1eadc326d807d9e0fc647dd390400f8bc3a26d (s)。 改名称。.

2021-11-30 16:00:36 249

原创 Long精度丢失问题

数据化对象Long 类型 @JsonSerialize(using= ToStringSerializer.class) 19位占满场景原因:Long类型未被序列化

2021-11-30 15:58:20 317

原创 Mysql 索引学习

2021-11-30 15:43:32 647

原创 Mysql的索引类型

A.InnoDB1.普通索引:是最基本的索引,没有任何限制。索引值不唯一。INDEX2.唯一索引:允许有空值,索引值唯一。如果是组合索引,列值组合必须唯一。UNIQUE3.组合索引:多列存在索引,只有在查询中使用了创建索引时的第一个字段,索引生效。 最左前缀集合原则。INDEX(a,b,c)4.主键索引:一个表只能有一个主键,不允许为空。 PRIMARY KEY (a)B. MyIsam1.全文索引:主要用来搜关键字可以想象成搜索引擎,而不是直接索引的值进行比对。FULLTEXT..

2021-11-30 15:41:04 1003

原创 【Java基础】Spring的优缺点是什么?

提升:IOC AOP 集成能力(JDBC模板等)。1.方便解耦,简化开发。IOC :集中管理对象,对象和对象之间的耦合度降低,方便维护对象。AOP:再不修改代码的情况下可以对业务代码进行增强,减少重复代码,提高开发效率,维护方便。声明事物的支持:提高开发效率,只需要一个事物注解@Transactional方便程序的测试:Junit springMvc集成的框架:非常强大的粘合度,集成能力强。只需简单的配置即可,底层源码,降低APi的使用难度,简化开发。缺点: 门槛较高..

2021-11-24 18:00:03 488

原创 【Java基础】谈谈你对Spring的理解?

什么是Spring?Spring 就是一个庞大的生态体系,可以构建java所需要的一切基础设施。通常Spring 指的就是Spring Framework.核心解释 Spring是一个轻量级的开源容器框架。Spring是为了解决企业级开发的业务逻辑层和其他各层对象和对象直接的耦合问题Spring是一个IOC和AOP的容器框架。 IOC :控制反转 AOP:面向...

2021-11-24 17:46:34 370

原创 MySql索引技术与性能优化分享

一、背景MySQL 数据库存储数据最终是以文件的形式存储到硬盘的。磁盘IO的速度较慢,全表扫描查询所需数据的成本很高。因此需要有一种技术减少磁盘IO的次数。二、解决思路 优点:查询速度快,插入速度快。 缺点:无法利用索引完成排序,范围查询需要全表扫描,只适用于等值查询的场景;比如 Memcached 及其他一些 NoSQL 引擎。 哈希索引不支持多列联合索引的最左匹配规则。 如果有大量哈希碰撞的情况下,哈希索引的效率会很低。 1.二分查找优点:数据搜索速度从O(n)降

2021-11-24 10:59:37 506

原创 DDD学习分享

一、分享内容根据已学习过的前6章内容,安排以下分享内容: 微服务与DDD的关系。 DDD基础概念。 关于DDD落地的思考。 二、微服务与DDD为了让系统的开发与运维管理变得简单高效,微服务在近几年已成为主流的架构模式。微服务架构虽好,但是它并没有给出如何对复杂系统进行分解的具体方法论,因此在将微服务架构落地时,经常会遇到以下问题: 微服务的粒度应该多大? 微服务到底应该如何拆分和设计? 微服务的边界应该在哪里? Domain-Drive

2021-11-24 10:42:38 315

原创 【苹果 8 Plus 手机出现 “ Support apple.com/iphone/restore“的情况如何修复?】

【求大神 解决苹果 8 Plus 手机出现 " Support apple.com/iphone/restore"的情况如何修复?】

2021-11-23 17:51:08 19245 2

原创 面试官问题汇总

如果应聘者的能力,除了和岗位要求的能力有交集外,还有一些其他能力,是否需要考察?比如比较极端的情况,应聘者有硬件方面的经验。 校招中,如果应聘者有过工作经验,应该如何看待其工作经验?考察的重点放在工作经验上还是学校的知识上? 怎么制定出一个通用的公平的定级标准。 面试者简历偏少,voip和erlang都是冷门市场,应聘者规模小 有部分候选人无互联网从业经验,怎么做筛选? 专业的voip被通讯大厂垄断,市场上做voip的人群和圈子比较小,如何吸引这些人才...

2021-11-23 11:53:44 307

原创 分布式ID生成算法

分布式id生成算法之:雪花算法雪花算法概述雪花算法是由4个部分组合而成的:符号位+41位时间戳+10位机器码+12位序列号。代码块<span style="background-color:#fcfcfc"><span style="color:#333333"><span style="background-color:#fcfcfc"><span style="color:#000000"

2021-11-23 11:46:36 782

原创 【Java】 内部类

一、内部类分类1、静态内部类 静态内部类可以有静态成员,非静态内部类不可以 静态内部类可以访问外部类的静态成员,而不可以访问非静态成员 静态内部类的非静态成员可以访问外部类的分静态变量 静态内部类的创建不依赖与外部类,而非静态内部类必须依赖外部类实例 2、非静态内部类非静态内部类又分为:成员内部类、方法内部类、匿名内部类1)成员内部类最常见的内部类。2)局部内部类(方法内部类)如果一个内部类只在一个方法中使用到了,那么我们可以将这个类定义在方法

2021-11-23 11:35:53 231

原创 【Java】Date 与 Calendar 学习 (1)

Epoch Time:是计算从1970年1月1日零点(格林威治时区/GMT+00:00)到现在所经历的秒数。在不同的编程语言中,会有几种存储方式: 以秒为单位的整数:1574208900,缺点是精度只能到秒; 以毫秒为单位的整数:1574208900123,最后3位表示毫秒数; 以秒为单位的浮点数:1574208900.123,小数点后面表示零点几秒。 在Java程序中,时间戳通常是用long表示的毫秒数Java标准库有两套处理日期和时间的API: 一套定义在jav

2021-11-23 11:29:40 225

原创 【lombok 注解 范畴】

val : 和 scala 中 val 同名, 可以在运行时确定类型;@NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法@Getter/@Setter : 注解在类上, 为类提供读写属性@Getter(lazy=true) :@ToString : 注解在类上, 为类提供 toString() 方法.

2021-11-19 21:33:08 106

原创 【PO、BO、VO、DTO、POJO】

PO: persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录 一条记录包含很多个字段 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 BO: business object业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 eg:一个简历,有教育经历、工作经历、 关系等等。 我们可以把教育经历对应一个PO,工作经历对应一个PO, 关系对应一个PO。 建立一个对应简历的BO对象处理简历...

2021-11-19 21:30:47 116

原创 【Java】 SpringBoot - 零基础搭建并使用

目录一、快速入门1、SpringBoot2.x依赖环境和版本新特性说明2、快速创建SpringBoot2.x应用之手工创建web应用3、快速创建SpringBoot2.x应用之工具类自动创建web应用4、SpringBoot2.x的依赖默认Maven版本二、SpringBoot接口Http协议开发1、SpringBoot2.xHTTP请求配置讲解2、PostMan3、SpringBoot基础HTTP接口4、SpringBoot基础HTTP接口POST,PUT,DELE

2021-11-19 21:28:43 1086 2

原创 10年程序员的经验

目录一、分享目的二、分享内容2.1 代码规范2.1.1 包名划分2.1.2 命名规范2.1.2.1 领域对象命名2.1.2.2 对外接口命名2.1.2.3 接口方法命名2.1.2.4 配置文件命名2.1.3 接口规范2.1.3.1 HTTP接口2.1.3.2 Thrift接口2.1.3.3 分页接口2.2 高级编程2.2.1 统一接口切面2.2.2 使用设计模式2.2.2.1 单例模式2.2.2.2 策略模式2.2.2.3 模板方法

2021-11-19 21:10:18 4134

原创 模版-排期计划

1.规范wiki目录:放在平台/工具对应的 “开发计划” 目录下(如:故障演练大盘,放到 “故障演练大盘—开发计划” 下)wiki命名:xxxx—开发计划 (如:10.15—测试记录 或 xxx功能-开发计划)wiki内容:按模版中样例给出的各阶段,进行事情拆分,并按给定排期定时维护 “完成状态” ;wiki什么时候必须编写:变更较大,如开发/发布周期在5天以上,建议给出详细排期。2.模版拷贝如下模版到目录下,并完成填写/跟进执行模版详细 开发阶段

2021-11-19 16:54:27 908

原创 Java线程池的分析和使用

1. 引言好处第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2.线程池的使用线程池的创建我们可以通过ThreadPoolExecutor来创建一个线程池。代码块new T...

2021-09-01 16:00:54 100

原创 死锁的四个条件?

1) 互斥条件:一个资源每次只能被一个进程使用。2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3) 不剥夺条件: 进程已获得的资源,在末使用完之前,不能强行剥夺。4) 循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。...

2021-09-01 15:45:19 156

原创 JVM-各个版本的优缺点、特征分析和应用和常见缺陷

Java是如何实现跨平台的?目录Java是如何实现跨平台的?各个版本特性:JAVA SE7Java 7 更新[編輯]JAVA SE8Java 8 更新Java SE 9跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然...

2021-09-01 15:38:37 1419

原创 Mysql《内连接、左外连接、右外连接、全连接》

数据表water_margin water_rosters 一、内连接查询说明:返回两个表的交集部分。select * from water_margin a inner join water_rosters b on a.id = b.id;二、左外连接查询说明:左(外)连接,左表(water_margin)...

2021-09-01 15:09:11 139

原创 Kubernetes (k8s)

Kubernetes 1. 了解 Kubernetes 2.Kubernetes 是什么? Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。 Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernete

2021-07-09 19:40:30 105

H3C-HDM R4900 G3 服务器-KVM部署网卡驱动包

服务器部署centos 、ubutu 系统后只有lo环回地址

2022-09-14

工具集合 boots : boost boost_1_53_0.tar.bz2 需要解压

下载官网地址: https://www.boost.org/doc/libs/1_53_0/ boost 是一个跨平台的C++工具库,相当于一个大的工具集合。

2022-09-14

Spring Boot 面试必备手册

1.Spring Boot 有哪些优点? 2.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 3.Spring Boot 自动配置原理是什么? 等等

2022-03-31

IntelliJ IDEA-SonarLint 离线傻瓜式安装

scalint可能和原生sonarlint存在兼容性问题,如果本地已经装了soanrlint,强烈建议先卸载掉sonarlint!!! scalint在功能特性上可以完全代替原生sonarlint,请放心卸载。。。

2022-03-31

HashMap-面试必过

1.说一下 HashMap 的实现原理? 2.HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现? 3.HashMap的put方法的具体流程? 4.HashMap的扩容操作是怎么实现的? 5.HashMap是怎么解决哈希冲突的? 6.什么是哈希? 7.什么是哈希冲突? 8.HashMap的数据结构? 9.JDK1.8新增红黑树? 10.能否使用任何类作为 Map 的 key? 11.为什么HashMap中String、Integer这样的包装类适合作为K? 12.如果使用Object作为HashMap的Key,应该怎么办呢? 13.HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标? 14.HashMap 的长度为什么是2的幂次方? 15.HashMap 与 HashTable 有什么区别? 16.如何决定使用 HashMap 还是 TreeMap? 17.HashMap 和 ConcurrentHashMap 的区别? 18.ConcurrentHashMap 和 Hashtable 的区别?

2022-03-28

空空如也

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

TA关注的人

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