随笔分类 -  Java基础

设计模式、反射、容器
摘要:JMM (java memary model java内存模型) 一、CPU架构缓存一致性 现在计算机都加高级缓存,让运算速度加快,在运算过程中把某些变量放到高级缓存里面,等运算结束以后,再从高级缓存同步到内存中,这样避免IO读写过慢CPU的空闲。 加入高级缓存会带来问题,带来缓存一致性的问题,在多 阅读全文
posted @ 2021-04-02 13:38 majingyun 阅读(307) 评论(0) 推荐(0)
摘要:Mysql 一、 事务 事务就是一组原子性的SQL查询,或者说是一个独立的工作单元。 开启事务 START TRANSACTION 提交事务 COMMIT 1、 事务原则ACID 1)A (atomicity)原子性 一个事务必须被视为一个不可分割的最小工作单元,整个事务中所有的操作要么全部提交成功 阅读全文
posted @ 2021-03-07 17:33 majingyun 阅读(222) 评论(0) 推荐(0)
摘要:JVM 一、 jvm的加载流程及内存模型 每一个线程都有自己的程序计数器、都有自己的native方法,jvm栈,比如Student student1 = new Strudent();student1是私有的。引用是私有的放在栈里面。new Strudent()是公有的,放在堆里面,因为多个引用可以 阅读全文
posted @ 2021-03-06 19:08 majingyun 阅读(79) 评论(0) 推荐(0)
摘要:一、JVM内存模型 1)程序技术器 程序计数器是一块儿较小的内存区域,作用可以看做是当前线程执行的字节码的位置指示器。分支、循环、跳转、异常处理和线程恢复等基础功能都需要这个计算器来完成。 2)jvm栈 一部分是方法本身、方法内部的变量。 虚拟机栈也叫栈内存,是线程创建时创建,它的生命期是跟随线程的 阅读全文
posted @ 2021-03-05 19:59 majingyun 阅读(52) 评论(0) 推荐(0)
摘要:1、 JAVA8的主要变化 • 新日期API• 函数式编程 • 语法改进: lambda表达式,方法引用,默认方法… • 新的类库: Stream, Optional… • 已有API增强: collections..comparator• Concurrent • LongAdder & Long 阅读全文
posted @ 2021-03-01 11:29 majingyun 阅读(119) 评论(0) 推荐(0)
摘要:一:arrayList (数组) private static final int DEFAULT_CAPACITY = 10;//默认容量 transient Object[] elementData;// 最底层的数组 private int size;//数组大小 arrayList 查找速度 阅读全文
posted @ 2021-02-15 10:04 majingyun 阅读(53) 评论(0) 推荐(0)
摘要:1、 泛型 泛型本质是指类型参数化。 允许在定义类、接口、方法时使用类型形参,当时用时指定具体类型。 所有使用该泛型参数的地方都被统一化,保证类型一致。如果未指定类型,默认是object类型。集合体系中所有的类型增加了泛型,泛型主要用于集合。 2、 泛型的优势 1) 不需要强转 2) 更安全 3) 阅读全文
posted @ 2021-02-15 10:00 majingyun 阅读(49) 评论(0) 推荐(0)
摘要:1.1 1、 获取class的三种方法 // 方式一 类.class Class personClazz = Person.class; // 方式二 实例.getClass() Person person = new Person(); Class personClazz1 = person.ge 阅读全文
posted @ 2021-02-15 09:57 majingyun 阅读(41) 评论(0) 推荐(0)
摘要:设计模式,用来让你的代码可扩展、可维护、更容易理解;用抽象去构建框架,用实现去扩展细节,让你的代码高内聚、低耦合。 一 六大设计原则 单一职责原则 迪米特原则 接口隔离原则 里氏替换原则:不要破坏继承体系 依赖倒置原则 面向接口编程 开闭原则:总结性的 对扩展开放,对修改关闭 接口隔离原则和单一职责 阅读全文
posted @ 2021-02-07 19:38 majingyun 阅读(135) 评论(0) 推荐(0)