重点知识学习
文章平均质量分 93
重点知识学习,一定要重点学习哦
小智RE0
慎独
展开
-
重点知识学习(1)--[Java 8 之 Lambda 表达式]
首先回顾一下Arrays数组工具类;有个sort()排序方法;默认升序排序;/** * @author by 信计1801 李智青 学号:1809064012 */public class Demo { public static void main(String[] args) { String[] arr = new String[]{"p","x","z","v","j","a","s"}; Arrays.sort(arr); Syst原创 2022-01-07 13:05:08 · 379 阅读 · 0 评论 -
重点知识学习(2)--[Java 8 之 Stream流]
注意: java8 中的 stream 流与 InputStream 和 OutputStream 对文件操作的流 不是一样的;使用Stream流的;就能以声明式的方式处理数据集合,可看作是遍历数据集的高级迭代器;stream 与 lambda 表达式结合后编码效率大大提高,且可读性更强。Stream擅长于对数据的操作.例如这个案例这里先定义一个Person类;/** * @author by 信计1801 李智青 学号:1809064012 */public class原创 2022-01-07 21:03:32 · 567 阅读 · 0 评论 -
重点知识学习(3)--[泛型学习]
在学习集合的时候,其实已经接触过泛型这部分的知识了,JavaSE基础八----<集合(1)>【泛型、集合体系、Collection接口中的方法,可变长度的参数】但是,当时对泛型的学习也就仅限于简单使用;这里再来回顾一下泛型的知识文章目录概念泛型通配符 ?泛型通配符上限,下限类型擦除概念我们都知道在Java语言中Object是所有类的基础类;那么既然它可以代表一切类型,为啥还出现泛型这个知识呢?Object类型可以接收任意的对象类型,使用时可能会出现类型转换问题。泛型正好能弥补这个缺陷。泛原创 2022-01-07 22:37:09 · 484 阅读 · 0 评论 -
重点知识学习(4.1)--[JVM概述,类加载机制]
文章目录一:JVM(Java虚拟机)概述二:JVM类加载[classLoader]类加载子系统加载过程之-->加载阶段加载过程之-->链接阶段加载过程之-->初始化阶段类加载器(1)引导类加载器(启动类加载器 BootStrap ClassLoader)(2)扩展类加载器(Extension ClassLoader)(3)应用程序类加载器(系统类加载器 Application ClassLoader)双亲委派机制浅入类的主/被动使用一:JVM(Java虚拟机)概述前几天安装的VMwar原创 2022-01-09 20:17:14 · 682 阅读 · 0 评论 -
重点知识学习(4.2)--[JVM的运行时数据区,本地方法接口]
文章目录一:运行时数据区1.1程序计数器(Program Counter Register)1.2Java本地方法栈(Native Method Stack)1.3Java 虚拟机栈(Java Virtual Machine Stacks)1.4Java 堆(Java Heap)二:本地方法接口一:运行时数据区Java 8 虚拟机规范规定,Java 虚拟机所管理的内存包括5个运行时数据区域;程序计数器(Program Counter Register):用来运行程序,是线程私有的;Java 虚拟机原创 2022-01-10 20:45:11 · 744 阅读 · 0 评论 -
重点知识学习(4.3)--[JVM的执行引擎,垃圾回收概述]
1.执行引擎Java虚拟机的核心部分之一;原创 2022-01-13 02:08:03 · 299 阅读 · 0 评论 -
重点知识学习(4.4)--[垃圾回收阶段算法,垃圾回收期,对象引用]
文章目录1. 垃圾回收阶段算法标记清除算法(Mark-Sweep)复制算法 (Copying)标记压缩算法(Mark-Compact)分代收集2.System.gc()3.内存溢出,内存泄漏4. Stop the World5.对象引用强引用(Strong Reference)软引用(SoftReference)弱引用(WeakReference):虚引用(PhantomReference):~~6.垃圾回收器(了解即可)~~分类~~HotSpot 垃圾收集器(了解即可)~~1.Serial 垃圾收集器(单原创 2022-01-14 13:25:03 · 262 阅读 · 0 评论 -
重点知识学习(5)--[spring部分]
首先回顾一下当时学习spring时的知识,spring就是一个轻量级的,非侵入式,IOC和AOP,的一站式开源框架.这里的非侵入式说的就是业务代码不会侵入到框架代码.IOC:控制反转,将生成对象的权利反转给spring框架,这里当时还涉及到DI依赖注入.AOP:面向切面编程,将一些与业务代码无关的代码从公共代码中抽取出来,通过代理对象调用,达到在不修改源代码的基础上扩展新的功能.简易搭建流程回顾:原创 2022-01-14 20:20:57 · 184 阅读 · 0 评论 -
重点知识学习(6.1)--[Java的23种设计模式以及设计原则笔记链接整理]
在去年9月中旬,我已经整理了一部分这个方面的笔记;专栏地址:尚硅谷Java设计模式笔记整理笔记链接地址:1.尚硅谷设计模式学习(1)—[设计模式七大原则] 2.尚硅谷设计模式学习(2)—[UML类图]3.尚硅谷设计模式学习(3)—[单例模式]4.尚硅谷设计模式学习(4)—[简单工厂模式,工厂方法模式,抽象工厂模式]5.尚硅谷设计模式学习(5)— [原型模式(Prototype模式),深拷贝与浅拷贝]6.尚硅谷设计模式学习(6)—[建造者模式(Builder Pattern)]7原创 2022-01-16 12:42:38 · 253 阅读 · 0 评论 -
重点知识学习(6.2)--[Java语言设计原则,单例模式,工厂模式,代理模式]
建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准.指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。原创 2022-01-16 21:17:37 · 293 阅读 · 0 评论 -
重点知识学习(7)--[对象克隆]
之前写练习项目的时候,用户类中要关联其他的类;也是比较复杂的;然后我们无论是从前端向后端发来请求的处理时数据,还有后端向后端处理响应时的数据,我们都用一个用户模型类去封装信息;这样的话,可能就会出现数据冗余的问题;比如说:我这个用户类呢,它里面的属性比较多,账号,密码,性别,年龄,电话,地址,积分,比如说我现在只是要请求到用户的部分的数据,它里面就把所有的数据都包含进去了,即使没有数据,里面有的属性里面会自动赋值null传递出去........................................原创 2022-01-16 22:56:39 · 246 阅读 · 0 评论 -
重点知识学习(8.1)--[回顾线程知识,初探并发编程知识]
并行就是:同一时间点,同时做多件事并发就是在同一时间段,依次做同几件事,但是要一个一个地完成,并发时:多个线程访问着同一份资源,单核CPU不会出现问题,毕竟它就一个嘛,但是目前随着硬件的发展,CPU也是有了多核的状况,那么执行多个线程的时候,就有可能会去访问同一份共享的数据;- 并发编程要让 `多核,多线程`的场景下,每个线程对于共享的数据进行访问....................原创 2022-01-16 23:46:32 · 228 阅读 · 0 评论 -
重点知识学习(8.2)--[JMM(Java内存模型),并发编程的可见性\原子性\有序性,volatile 关键字,保持原子性,CAS思想]
主内存、工作内存与 Java 内存区域中的 Java 堆、栈、方法区等并不是同一个层次的内存划分,这两者基本上是没有关系的.从变量、主内存、工作内存的定义来看,主内存主要对应于Java 堆中的对象实例数据部分,而工作内存对应于虚拟机栈中的部分区域。线程本地缓存, 会导致可见性问题;线程切换执行, 会导致原子性问题;编译优化重排指令, 会导致有序性问题原创 2022-01-17 21:43:07 · 372 阅读 · 0 评论 -
重点知识学习(8.3)--[JUC常用类 || Java中的14把锁 || 对象头 || Synchronized 与 ReentrantLock]
JUC的atomic包下运用了CAS的AtomicBoolean、AtomicInteger、AtomicReference等原子变量类JUC的locks包下的AbstractQueuedSynchronizer(AQS)以及使用AQS的ReentantLock(显式锁)、ReentrantReadWriteLockJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语原创 2022-01-18 19:48:56 · 547 阅读 · 0 评论 -
重点知识学习(8.4)--[线程池 , ThreadLocal]
从 JDK5 开始,Java语言中内置支持线程池提供了Executors 来创建不同类型的线程池。 实际开发不建议使用Executors 中提供了以下常见的线程池创建方法:newSingleThreadExecutor:一个单线程的线程池。如果因异常结束,会再创建一个新的,保证按照提交顺序执行。newFixedThreadPool:创建固定大小的线程池。根据提交的任务逐个增加线程,直到最大值保持不变。如果因异常结束,会新创建一个线程补充。newCachedThreadPool:创建一个可缓存的线原创 2022-01-18 21:33:26 · 1614 阅读 · 0 评论 -
重点知识学习(9.1)--[数据库视图,存储过程,函数,触发器]
SELECT 语句所查询的表就是视图的基表,而查询的结果集称为虚拟表,视图本身并不存储具体的数据,视图的数据存在于视图的基表中,基本表数据发生了改变,视图的数据也会跟着改变。如果实现用户的某些需求时,需要编写一组复杂的 SQL 语句才能实现,那么可以将这组复杂的 SQL 语句集编写在数据库中,由 JDBC 调用来执行这组 SQL语句。在Mybatis中使用存储过程案例比如用户在注册账号时,需要判断该账号是否存在,若存在就不注册且给出提示信息;若不存在就执行插入语句,注册账号;当然,这个数据库首先要..原创 2022-01-19 20:27:21 · 815 阅读 · 0 评论 -
重点知识学习(9.2)--[MySQL数据库索引,浅入数据库引擎]
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。例如这样一个查询:select * from table1 where id=10000。原创 2022-01-20 23:15:03 · 444 阅读 · 0 评论 -
重点知识学习(9.3)--[浅入MySQL数据库事务,浅入MVCC]
事务就是一次完整的数据库操作,该操作过程可能包含多条sql的执行.要么都执行成功,要么都执行失败.注意,Mysql中目前仅InnoDB引擎支持事务.事务主要是为了增删改操作,查询操作不会有太大问题的.原子性:在一次事务过程中的多个执行操作,要么都成功,要么都失败一致性:在事务开始之前和事务结束之后,我们的数据库完整性没有被破坏.比如说现在采用多种方式对银行账户的余额进行多次操作,那么最后账户里面余额应该是我们所预期的结果,绝对不能出现错误.不然就得出问题.隔离性:在同一时间,数据库允许多.原创 2022-01-21 23:33:13 · 796 阅读 · 0 评论 -
重点知识学习(9.4)--[浅入MySQL数据库锁机制以及SQL优化]
咱们MySqL的锁机制,主要是针对于 写 --- 写 操作,一个事务在对某个数据进行数据方面的更新时,要对这个操作上锁,不然的话,别的事务突然要抢占更新数据的话,就会出问题.commit提交或者rollback回滚来释放锁行锁, 间隙锁 , 表锁,行级锁 :对于某段数据加锁,防止其他事务对此数据进行操作.这个锁的粒度最小(发生锁冲突的概率最低), 但是并发过高,但是由于要频繁加锁释放锁 导致开销过大,可能会出现死锁,间隙锁 :在进行条件范围操作..............原创 2022-01-22 18:50:11 · 945 阅读 · 0 评论