Java基础进阶系列
文章平均质量分 57
是摩卡不是抹茶呀
纯粹地爱Java
展开
-
设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper?
设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper?文章目录设计思想 - 第三篇 为什么要用Wrappers来创建QueryWrapper?使用案例Wrappers核心原理缺点使用案例LambdaQueryWrapper<Demo> lambdaQueryWrapper = Wrappers.lambdaQuery();lambdaQueryWrapper.eq(Demo::getName, name);Wrapperspublic final clas原创 2021-10-23 20:40:56 · 1289 阅读 · 1 评论 -
设计思想-第二篇
设计思想 - 第二篇文章目录设计思想 - 第二篇1)、设计思想之获取泛型T的真实类型2)、设计思想之通过String,StringBuffer实现字符串反转3)、设计思想之MVC表现层框架的核心思想4)、设计思想之使用fastjson获取用户open_id5)、设计思想之BigDecimal去掉多余的位数6)、forEach新用法1)、设计思想之获取泛型T的真实类型private Class<T> targetClass; // 得到泛型T的真实类型public GenericDAO原创 2021-10-23 20:35:11 · 267 阅读 · 0 评论 -
设计思想-第一篇-初出茅庐
MoCha 设计思想 - 第一篇文章内容是初学Java时,记录的内容,现在回头看感觉很有意思。文章目录MoCha 设计思想 - 第一篇1)、设计思想之限制接口调用的参数范围2)、设计思想之利用Properties类读取配置文件3)、设计思想之关于多线程中线程安全问题4)、设计思想之生产者与消费者问题5)、设计思想之关于文件复制和删除问题6)、设计思想之在GUI中,如何善用API?(查找我们不了解的方法或类)7)、设计思想之如何将JFrame窗体的坐标位置居中?8)、设计思想之IO版用户登录注册9)、原创 2021-10-23 20:10:17 · 1008 阅读 · 0 评论 -
Java基础进阶系列-08之结合JLS深度解读三目运算符
文章目录一、三目运算符的类型务必一致案例分析二、代码案例分析三、解读JLS规范规范说明操作数表达式分类布尔条件表达式数字型表达式引用条件表达式二元数字提升拓宽简单类型转换四、解读阿里巴巴Java规范三目运算符,从代码逻辑上看,其实就是if-else条件判断语句的简化版。一、三目运算符的类型务必一致观察以下代码案例,看看两者是否相等答案是:falsepublic static void main(String[] args) { int i = 100; String s原创 2020-11-07 23:02:44 · 797 阅读 · 2 评论 -
Java基础进阶系列-07之数组基础进阶开发小指南
文章目录一、深入思考(一)避开基本类型数组转换集合陷阱(二)不可忽略的默认初始化(三)数组转换为List集合com.google.common.primitives.Intsjava.util.Arrays#asList(T... a)Apache org.apache.commons.lang3.ArrayUtils.toObjectArrays.stream().boxed().collect()(四)数组转换为Set集合将基本数据类型数组转换为Set集合将引用类型数组转换为Set集合(五)List集合原创 2020-11-07 22:58:45 · 431 阅读 · 0 评论 -
Java基础进阶系列-06之数组基础语法
Java基础进阶-数组基础语法文章目录Java基础进阶-数组基础语法一、数组基础语法(一)数组声明(二)数组初始化(三)数组默认元素的初始值二、注意事项输出数组内容一、数组基础语法(一)数组声明type代表数组的数据类型,arrayName代表数组名称。想要声明几维数组就在type或arrayName后面加几个[]。type[]...[] arrayName;或type arrayName[][];(二)数组初始化int[] intArray = new int[4];intAr原创 2020-11-07 22:53:23 · 359 阅读 · 0 评论 -
Java基础进阶系列-05之从for-each循环深入解读ArrayList与LinkedList不同遍历方式带来的影响,深度好文!
文章目录关于for-each循环一、深入思考(一)将局部变量的作用域最小化(二)for-each循环Collection对象的陷阱场景引入遍历Collection对象时尝试删除元素,出现ConcurrentModificationException异常解决方案一:遍历时将待删除元素存放到临时集合,再调用removeAll来实现解决方案二:通过迭代器遍历时,进行删除操作解决方案三:Java8 Collection提供的removeIf(三)嵌套循环中使用迭代器的陷阱(四)Collection对象为何能与for原创 2020-10-24 20:42:19 · 625 阅读 · 0 评论 -
Java基础进阶系列-04之循环结构基础讲解
文章目录一、循环结构基础语法for循环for-each循环while循环do-while循环二、深入思考for循环与while循环之间的转换do-while循环为什么在开发中不常见do-while使用场景联想抢票场景进制转换CAS自旋操作while(true)与for(;;)的区别三、最佳实践与注意事项一、循环结构基础语法for循环// JLS(Java Language Specification)for ([FotInit]; [Expression]; [ForUpdate]) Stateme原创 2020-10-24 20:34:51 · 819 阅读 · 0 评论 -
Java基础进阶系列-03之JMH分析if条件判断语句与switch性能差异
文章目录背景说明JMH 微基准测试 验证性能效率引入依赖场景代入测试代码重构一,try{}catch()重构二,使用guava重构三,静态Map索引解决问题的本质就是回归源码和阅读说明文档背景说明我们知道switch-case结构,当case值是“密集”时,底层指令会优化为tableswitch结构,执行效率上要比“稀疏”时的lookupswitch好。Java 虚拟机规范 基于JDK8->3.10 编译switch章节编译器会使用tableswitch和lookupswitch指令来生成原创 2020-10-11 10:17:19 · 954 阅读 · 1 评论 -
Java基础进阶系列-02之if与switch的斗法
文章目录一、if条件语句基础语法二、switch-case语句基础语法三、深入思考四、最佳实践与注意事项关于if条件语句关于Switch结构归纳总结扩展内容lookupswitch 和 tableswitch指令一、if条件语句基础语法if (布尔表达式1) { // 如果布尔表达式1的值为true时执行代码} else if (布尔表达式2) { // 如果布尔表达式2的值为true时执行代码} else if (布尔表达式3) { // 如果布尔表达式3的值为true时执原创 2020-09-26 09:40:47 · 671 阅读 · 0 评论 -
Java基础进阶系列-01之常量
Java基础之常量一、怎样才算是常量二、定义常量的几种方式三、关于常量的几个深度思考四、定义常量的最佳实践一、怎样才算是常量即需要具备怎样的特点,就可以称之为常量由final关键字修饰常量的特性只能被赋值一次,赋值后值不再改变对基本类型使用final关键字不能改变的是其数值对于对象引用,不能改变的是其引用,而对象本身是可以修改的关于静态常量通过final关键字来声明常量,配合static关键字进行修饰,该常量则为静态常量,语法格式如下:权限修饰符 static原创 2020-09-26 09:34:46 · 1082 阅读 · 8 评论