Java 多个String(字符串)判断是否null(空值)
摘要:Java 多个String(字符串)判断是否null(空值) 示例: String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s =
阅读全文
posted @
2022-12-15 20:18
一只阿木木
阅读(437)
推荐(0) 编辑
Java 1.8 Stream流原理与用法总结
摘要:一、接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式;依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心方法; Stream:核心接口,声明了流操作的核心方法,其他接口为指定类型的适配; 基础案例:通过指
阅读全文
posted @
2022-11-03 22:05
一只阿木木
阅读(813)
推荐(0) 编辑
SpringBoot定时任务实现数据同步
摘要:业务的需求是,通过中台调用api接口获得,设备数据,要求现实设备数据的同步。 方案一:通过轮询接口的方式执行 pullData() 方法实现数据同步 该方式的原理是先清空之前的所有数据,然后重新插入通过api调用获取的最新数据。该方法的优点,逻辑简单。缺点是,频繁删除、插入数据。再调用查询数据时候,
阅读全文
posted @
2022-11-02 22:56
一只阿木木
阅读(1339)
推荐(0) 编辑
数组下标从0开始的原因
摘要:对于数组元素的访问在操作系统层其实就是对特定内存偏移量的数据的访问,换而言之即如果想要访问一个数组的某一个元素的值那么首先就要计算它的地址偏移量 ,其大概的公式为: a[k]_adress = base_address + k*type_size ;,倘若数组下标是从1开始那么地址计算公式即会转变为
阅读全文
posted @
2022-10-20 09:21
一只阿木木
阅读(491)
推荐(1) 编辑
hashmap组成原理及调用时机
摘要:整个HashMap中最重要的点有四个:初始化,数据寻址-hash方法,数据存储-put方法,扩容-resize方法,只要理解了这四个点的原理和调用时机,也就理解了整个HashMap的设计。 如果有疑惑,那就说明我们还需要深入代码,带着问题看源码。 HashMap内部的bucket数组长度为什么一直都
阅读全文
posted @
2022-10-15 21:12
一只阿木木
阅读(103)
推荐(0) 编辑
in notin exists not exists 性能优化算法总结
摘要:in notin exists not exists 性能优化算法总结 1.1. in 和 exists 区别 1.2. not in 能不能走索引 1.3. not in 和 join 的关系 1.4. 和 not Exists 的关系 1.5. in 的实现过程 1.1. in 和 exists
阅读全文
posted @
2022-08-30 23:09
一只阿木木
阅读(520)
推荐(0) 编辑
详解JVM 内存结构与实战调优总结
摘要:详解JVM 内存结构与实战调优总结 GC优化案例做个总结: 1在进行GC优化之前,需要确认项目的架构和代码等已经没有优化空间。我们不能指望一个系统架构有缺陷或者代码层次优化没有穷尽的应用,通过GC优化令其性能达到一个质的飞跃。 2其次,虚拟机内部已有很多优化来保证应用的稳定运行,所以不要为了调优而调
阅读全文
posted @
2022-08-13 17:52
一只阿木木
阅读(846)
推荐(0) 编辑
填坑:Java 中的日期转换
摘要:我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法。 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方不再推荐使用,官方解释Date类不利于国际化,推荐使用Calendar类) Calendar类 Da
阅读全文
posted @
2018-10-24 22:21
一只阿木木
阅读(1234)
推荐(0) 编辑
结合源码浅谈Spring容器与其子容器Spring MVC 冲突问题
摘要:容器是整个Spring 框架的核心思想,用来管理Bean的整个生命周期。 一个项目中引入Spring和SpringMVC这两个框架,Spring是父容器,SpringMVC是其子容器,子容器可以看见父容器中的注册的Bean,反之就不行。请记住这个特性。 spring 容器基础释义 1 我们可以使用统
阅读全文
posted @
2018-10-11 18:55
一只阿木木
阅读(916)
推荐(0) 编辑
总结:Java 集合进阶精讲1
摘要:知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1 为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非常大的时候,它的初始容量就会显得很重要了. 因为扩容是需要消耗大量的人力物力财力的。 同样的道理,Col
阅读全文
posted @
2018-06-08 19:39
一只阿木木
阅读(478)
推荐(0) 编辑
涨姿势:深入 foreach循环
摘要:我们知道集合中的遍历都是通过迭代(iterator)完成的。 也许有人说,不一定非要使用迭代,如: 这种方式对于基于链表实现的List来说,是比较耗性能的。 因为get(int i)方法包含了一个循环,而且这个循环就是迭代遍历一次List,直到遇到第i个元素,才停止循环,返回第i个元素。对于数量小,
阅读全文
posted @
2018-06-06 19:50
一只阿木木
阅读(1334)
推荐(4) 编辑
涨姿势:Java 分业务、分级别实现自定义日志打印
摘要:自定义日志级别 通常的日志框架都有以下几个级别,从低到高TRACE,DEBUG,INFO,WARN,ERROR,FATAL. 默认情况,假如我们定义日志打印级别INFO,它会把大于等于INFO级别的日志信息打印出来.这样各个类别的日志都打印在一起不利于日志查看. 按照业务类型打印日志,我们希望inf
阅读全文
posted @
2018-06-05 20:32
一只阿木木
阅读(2965)
推荐(0) 编辑
注解机制的分类、使用及原理详解,开始自定义一个自己的注解
摘要:注解 注解也叫元数据,是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解,我们常见的@Override和@Deprecated注解。 生成文档,通过代码里标识的元数据生成javadoc文档。 编译检查,通过代码里标识的元数据让编译器在编译
阅读全文
posted @
2018-06-05 20:18
一只阿木木
阅读(628)
推荐(0) 编辑
涨知识:equals 和 == 你真的了解吗?
摘要:基本概念 ==是运算符,比较的是两个变量是否相等; equals()是Object方法,用于比较两个对象是否相等 看一下源码: 当this==anObject的时候,返回true,即this 和 obj引用同一个对象时,才会返回true; 还有就是当判断字符串相等的时候,当anObject是Stri
阅读全文
posted @
2018-06-04 18:02
一只阿木木
阅读(759)
推荐(2) 编辑
涨姿势:Java 异常?尝试自定义异常
摘要:1.异常 在Java中,每个异常都是一个名叫Throwable的类的一个实例 我们常用的try-catch-finally语句 try 尝试去执行try语句块里的内容,如果有异常,将其捕获,并执行catch语句块中的代码 catch 在catch语句的参数中我们定义了具体的异常类型,但是这些具体的异
阅读全文
posted @
2018-05-31 19:43
一只阿木木
阅读(6048)
推荐(0) 编辑
知识点:Java 内存模型完全解密
摘要:Java虚拟机(JVM) 规范中定义了一种Java的内存模型,即Java Memoory Model(简称JMM),用来实现让Java程序在各个平台下都能达到一致的内存访问效果。 JVM是整个虚拟机,JMM模型属于JVM的一部分。JDK1.5后Java内存模型才逐渐的成熟和完善起来。 主内存与工作内
阅读全文
posted @
2018-05-31 18:51
一只阿木木
阅读(382)
推荐(0) 编辑
知识点:Java 集合框架图
摘要:知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList Java集合框架图 我们经常使用的Arrayist、LinkedList继承的关系挺复杂的,但继承的都是接口或抽象类。而Collection和List是接口,Collection接口定义
阅读全文
posted @
2018-05-23 11:54
一只阿木木
阅读(3329)
推荐(0) 编辑
知识点:java 注解 @SuppressWarnings
摘要:前言: 简介:java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用: @SuppressWarnings(“”) @Suppr
阅读全文
posted @
2018-05-23 10:32
一只阿木木
阅读(332)
推荐(0) 编辑
知识点:java一些方法会有横线?以Date 过期方法为例
摘要:原因:他们的开发者在升级方法后,添加了@Deprecated注释, 目的是为了提醒我们,这个方法现在已经有新的方法了,不建议继续使用! 比如: JAVA中Date的tolocalstring为什么不建议被使用 Java中的日期和时间处理方法 Date类(官方不再推荐使用,官方解释Date类不利于国际
阅读全文
posted @
2018-05-23 10:04
一只阿木木
阅读(4617)
推荐(1) 编辑
JDK1.6 Java.lang.Null.Pointer.Exception
摘要:先来看一下JDK1.6的API: 当应用程序试图在需要对象的地方使用时,抛出该异常。这种情况包括: 应用程序应该抛出该类的实例,指示其他对 null 对象的非法使用。 由以上说明可以看出,最主要的原因就是调用的对象是NULL 经常会出现空指针的情况有: 等等,这里发生NullPointerExcep
阅读全文
posted @
2018-05-17 15:21
一只阿木木
阅读(1994)
推荐(0) 编辑