java
博士通
把别人当定量,把自己作为变量,在保持同理心的情况下,适时地调整自己的位置和策略。
展开
-
【消息中间件】- ActiveMQ/Kafka/RocketMQ/RabbitMQ
MQ类型 优点 缺点 官网介绍 应用场景 ActiveMQ 单机吞吐量万级,时效性 ms 级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据 官方社区现在对 ActiveMQ 5.x 维护越来越少,高吞吐量场景较少使用。 Apache ActiveMQ是最流行的开源、多协议、基于Java的消息代理。 ActiveMQ支持任何消息传递用例的能力和灵活性,比较适合小型吞吐量比较小的公司进行使用,或者MQ起步学习的首选。 Kafka ..转载 2022-03-02 18:35:32 · 145 阅读 · 0 评论 -
==和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 · 222 阅读 · 0 评论 -
什么是浅克隆和深克隆?
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 · 367 阅读 · 0 评论 -
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 · 225 阅读 · 0 评论 -
Long精度丢失问题
数据化对象Long 类型 @JsonSerialize(using= ToStringSerializer.class) 19位占满场景原因:Long类型未被序列化原创 2021-11-30 15:58:20 · 263 阅读 · 0 评论 -
【Java基础】Spring的优缺点是什么?
提升:IOC AOP 集成能力(JDBC模板等)。1.方便解耦,简化开发。IOC :集中管理对象,对象和对象之间的耦合度降低,方便维护对象。AOP:再不修改代码的情况下可以对业务代码进行增强,减少重复代码,提高开发效率,维护方便。声明事物的支持:提高开发效率,只需要一个事物注解@Transactional方便程序的测试:Junit springMvc集成的框架:非常强大的粘合度,集成能力强。只需简单的配置即可,底层源码,降低APi的使用难度,简化开发。缺点: 门槛较高..原创 2021-11-24 18:00:03 · 462 阅读 · 0 评论 -
【Java基础】谈谈你对Spring的理解?
什么是Spring?Spring 就是一个庞大的生态体系,可以构建java所需要的一切基础设施。通常Spring 指的就是Spring Framework.核心解释 Spring是一个轻量级的开源容器框架。Spring是为了解决企业级开发的业务逻辑层和其他各层对象和对象直接的耦合问题Spring是一个IOC和AOP的容器框架。 IOC :控制反转 AOP:面向...原创 2021-11-24 17:46:34 · 350 阅读 · 0 评论 -
MySql索引技术与性能优化分享
一、背景MySQL 数据库存储数据最终是以文件的形式存储到硬盘的。磁盘IO的速度较慢,全表扫描查询所需数据的成本很高。因此需要有一种技术减少磁盘IO的次数。二、解决思路 优点:查询速度快,插入速度快。 缺点:无法利用索引完成排序,范围查询需要全表扫描,只适用于等值查询的场景;比如 Memcached 及其他一些 NoSQL 引擎。 哈希索引不支持多列联合索引的最左匹配规则。 如果有大量哈希碰撞的情况下,哈希索引的效率会很低。 1.二分查找优点:数据搜索速度从O(n)降原创 2021-11-24 10:59:37 · 486 阅读 · 0 评论 -
DDD学习分享
一、分享内容根据已学习过的前6章内容,安排以下分享内容: 微服务与DDD的关系。 DDD基础概念。 关于DDD落地的思考。 二、微服务与DDD为了让系统的开发与运维管理变得简单高效,微服务在近几年已成为主流的架构模式。微服务架构虽好,但是它并没有给出如何对复杂系统进行分解的具体方法论,因此在将微服务架构落地时,经常会遇到以下问题: 微服务的粒度应该多大? 微服务到底应该如何拆分和设计? 微服务的边界应该在哪里? Domain-Drive原创 2021-11-24 10:42:38 · 291 阅读 · 0 评论 -
【Java】 内部类
一、内部类分类1、静态内部类 静态内部类可以有静态成员,非静态内部类不可以 静态内部类可以访问外部类的静态成员,而不可以访问非静态成员 静态内部类的非静态成员可以访问外部类的分静态变量 静态内部类的创建不依赖与外部类,而非静态内部类必须依赖外部类实例 2、非静态内部类非静态内部类又分为:成员内部类、方法内部类、匿名内部类1)成员内部类最常见的内部类。2)局部内部类(方法内部类)如果一个内部类只在一个方法中使用到了,那么我们可以将这个类定义在方法原创 2021-11-23 11:35:53 · 217 阅读 · 0 评论 -
【lombok 注解 范畴】
val : 和 scala 中 val 同名, 可以在运行时确定类型;@NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)@Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法@Getter/@Setter : 注解在类上, 为类提供读写属性@Getter(lazy=true) :@ToString : 注解在类上, 为类提供 toString() 方法.原创 2021-11-19 21:33:08 · 89 阅读 · 0 评论 -
【PO、BO、VO、DTO、POJO】
PO: persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录 一条记录包含很多个字段 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 BO: business object业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 eg:一个简历,有教育经历、工作经历、 关系等等。 我们可以把教育经历对应一个PO,工作经历对应一个PO, 关系对应一个PO。 建立一个对应简历的BO对象处理简历...原创 2021-11-19 21:30:47 · 103 阅读 · 0 评论 -
【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 · 964 阅读 · 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 · 4104 阅读 · 0 评论 -
模版-排期计划
1.规范wiki目录:放在平台/工具对应的 “开发计划” 目录下(如:故障演练大盘,放到 “故障演练大盘—开发计划” 下)wiki命名:xxxx—开发计划 (如:10.15—测试记录 或 xxx功能-开发计划)wiki内容:按模版中样例给出的各阶段,进行事情拆分,并按给定排期定时维护 “完成状态” ;wiki什么时候必须编写:变更较大,如开发/发布周期在5天以上,建议给出详细排期。2.模版拷贝如下模版到目录下,并完成填写/跟进执行模版详细 开发阶段原创 2021-11-19 16:54:27 · 836 阅读 · 0 评论 -
死锁的四个条件?
1) 互斥条件:一个资源每次只能被一个进程使用。2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3) 不剥夺条件: 进程已获得的资源,在末使用完之前,不能强行剥夺。4) 循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。...原创 2021-09-01 15:45:19 · 128 阅读 · 0 评论 -
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 · 1282 阅读 · 0 评论 -
Kubernetes (k8s)
Kubernetes 1. 了解 Kubernetes 2.Kubernetes 是什么? Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。 Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernete原创 2021-07-09 19:40:30 · 87 阅读 · 0 评论