笔记
记录学习笔记
起个什么昵称呢?
持之以恒
展开
-
jdk1.8新特性之Lambda表达式
jdk1.8新特性:lambda表达式函数式接口Stream API方法引用接口中默认方法与静态方法.新增时间日期APIOptional类…1,Lambda表达式1.1 语法: (param) -> express or (param) -> {statements;}1.2 特征: 1. 可选类型声明 2. 可选参数圆括号 3. 可选大括号 4. 可选返回关键字1.3 注意: 1. lambda表达式中只能访问final外层局部变量 2原创 2020-08-18 14:49:09 · 168 阅读 · 0 评论 -
jvm判断对象是否存活的算法
参考书籍《深入理解Java虚拟机》周志明1,引用计数算法在对象中添加一个引用计数器,每当一个地方引用它时,计数器就加1,引用失效时计数器就减1,任何时刻计数器为0的对象就是不可能再被使用的对象。在Java主流虚拟机中没有选择这一算法管理内存,原因是引用计数算法有很多例外情况要考虑,必须要配合大量额外处理才能保证正确的工作,单纯的使用引用计数就会很难解决对象之间循环引用的问题。2,可达性分析算法当前主流的程序语言的内存管理子系统都是通过可达性分析算法来判定对象的存活与否基本思路是通过一系列称为GC原创 2020-08-03 00:18:49 · 226 阅读 · 0 评论 -
双亲委派模型
参考书籍《深入理解Java虚拟机》类加载器:对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每一个类加载器都拥有一个独立的类命名空间。Java的三层类加载器:1. 启动类加载器:2. 扩展类加载器:3. 应用程序类加载器:双亲委派模型:其实就是各种类加载器之间的层次关系工作过程:如果一个类加载器收到了类加载的请求,首先它不会自己去加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶原创 2020-07-21 22:41:56 · 103 阅读 · 0 评论 -
jvm类加载时机及初始化
参考书籍:《深入理解Java虚拟机》周志明1,类的生命周期2,类的初始化《Java虚拟机规范》严格规定有且仅有六种情况必须对类立即进行初始化,分别是:1. 遇到new,getstatic,putstatic,invokestatic这四个字节码指令时,如果类型没有进行初始化,则需要进行初始化。生成四条指令的代码场景: 1. 使用new关键字实例化对象时 2. 读取或设置一个类型的静态字段时(被final修饰,已在编译期把结果放入常量池的静态字段除外) 3. 调用一个类型的静态方法时使用原创 2020-07-19 16:07:02 · 175 阅读 · 0 评论 -
单例模式的实现方式
视频课程总结:原视频课程链接:https://edu.csdn.net/course/play/19745/2968641,什么是单例模式单例模式就是采取一定的方法保证在整个软件系统中对某个类只能存在一个对象实例,并且该类只提供一个获取该对象实例的方法。2,实现方式饿汉式----静态常量代码实现:class Singleton{ private Singleton() {} private final static Singleton instance = new Singleton();原创 2020-07-17 13:26:39 · 102 阅读 · 0 评论 -
jvm运行时数据区域
参考书籍:《深入理解Java虚拟机JVM高级特性与最佳实现》 周志明1,方法区:是各个线程共享的内存区域,用于存储被虚拟 机加载的类型信息,常量,静态变量,即时编译器编译后的代码缓存等数据2,虚拟机栈:虚拟机栈是线程私有的,生命周期与线程相同。每个方法被执行的时候,java虚拟机会同步创建一个栈帧用于存储局部变量表,操作数栈,动态连接,方法出口等信息。3,本地方法栈:与虚拟机栈作用相似,区别是虚拟机栈为虚拟机执行java方法服务,本地方法栈为虚拟机使用的本地方法服务4,堆:被所有线程共享的内存区域,原创 2020-07-14 11:56:13 · 129 阅读 · 0 评论 -
java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String
问题描述:前几天执行mybatis时报Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String异常,记了笔记,今天同事又出现同样异常,这里记录一下delTraceDTO.startTime这里是一个List<String>集合,我...原创 2020-04-01 18:49:35 · 464 阅读 · 0 评论 -
Mysql 中 OR 和 AND 优先级问题
问题描述:查询keyword,product_describe,product_name属性里面包含关键字,并且product_kind = 1,product_status = 2,jg.is_delete = 0的所有记录一开始没有添加查询列product_kind,product_status,咦....? 发现is_delete查询结果不正确,is_delete = 0这个条...原创 2020-03-29 18:26:43 · 292 阅读 · 0 评论 -
List 集合中取出对象中相同属性的对象存放到新的list集合中,返回map结构
部分代码:// 分页PageHelper.startPage(tracePageDTO.getPageNum(),tracePageDTO.getPageSize());List<TraceGoodsVO> traceGoodsVOS = traceMapper.getTraceGoodsList(tracePageDTO);SimpleDateFormat sdf = n...原创 2020-03-28 19:35:58 · 1790 阅读 · 0 评论 -
IDEA中拉取项目时出现冲突导致代码丢失如何找回
敲了一天的代码,在最后更新项目时出现冲突导致代码丢失了,一天努力白费。好在最后代码恢复过来了。恢复方法如下:1,选中你要恢复的文件,右击 Local History —>Show History2,这里有你项目的更新记录,点击你要恢复的文件3,在这里你可以检查和你丢失的代码是否一致,一致则返回上一级,点击恢复,代码就会恢复过来,不用再重新敲了,毕竟敲代码也是不容易...原创 2019-09-08 18:09:20 · 2692 阅读 · 0 评论 -
Java开发中如何往数据库映射文件中传多个参数
mybatis如何向映射文件中传多个参数最近在项目中做分页条件查询时遇到了要传递多个对象的情况,以前没做个类似查询,都是传递一个参数,一时不知道怎么写了,通过请教同事和查资料,找到了解决方法。先将解决方法分享出来,也是记录一下自己的成长过程。毕竟也是刚入行,没有经验。DAO层代码: //查询所有商品信息 List<Goods> selectAllGoods(@Param(...原创 2019-09-07 19:01:53 · 316 阅读 · 0 评论 -
layUI学习记录------列间距
本人第一次写博客,只为记录自己的学习日常。最近在自学layUI,我把其中自己遇到的问题记录下来,希望能帮到和我一样初学layUI的朋友。如果谁有更好的学习资料欢迎分享出来,供大家一起学习。本文都是我的一些碎碎念,有不足之处欢迎指正,不喜勿喷。列间距:通过“列间距”的预设类,来设定列之间的间距。且一行中最左的列不会出现左边距,最右的列不会出现右边距。列间距在保证排版美观的同时,还可以进一步保证分列...原创 2019-07-29 11:37:14 · 4561 阅读 · 3 评论