读书笔记
文章平均质量分 92
Alen_0076
好好学习,天天向上
展开
-
浅析volatile关键字
Tips:线程安全主要考虑三个方面: 1,可见性:多个线程并发的读写某个共享资源时,每个线程总能读取到该共享资源的最新数据。 2,原子性:某个线程对一个或多个共享资源所做的一连串写操作不会被中断,在此期间不会有其他线程同时对这些共享资源执行写操作 3,有序性:单个线程内的操作必须是有序的。 内存可见性问题 要理解volatile关键字,首先要了解多线程的内存模型,如下图所示:...原创 2019-07-23 21:40:22 · 169 阅读 · 0 评论 -
SpringCloud学习(一)——服务治理:Eureka
Eureka主要用来实现各个微服务实例的自动化注册与发现。原创 2020-04-12 20:52:38 · 547 阅读 · 0 评论 -
数据结构与算法(二)链表
链表 一、概念 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快...原创 2020-04-06 12:27:07 · 398 阅读 · 0 评论 -
Java中的final使用
基本用法: final可以用来修饰变量,被其修饰的变量被赋初始值后,不能对它重新赋值。原创 2020-03-29 17:54:41 · 212 阅读 · 0 评论 -
数据结构与算法(一)稀疏数组和队列
线性结构和非线性结构 数据结构包括:线性结构和非线性结构。 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。 顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。 线性结构常见的有:数组、队列、链...原创 2020-03-24 20:15:23 · 188 阅读 · 0 评论 -
Java中的类
类的定义 类的定义由访问级别、类型、类名、是否抽象、是否静态、泛型标识、继承或实现关键字、父类或接口名称等组成。类的访问级别有public和无访问控制符,类型分为class、interface、enum。 Java类主要由两部分组成:成员和方法。 接口和抽象类 定义类的过程就是抽象和封装的过程,而接口和抽象类则是对实体类进行更高层次的抽象,仅定义公共行为和特征。接口和抽象类的共同点是都不能被实例化...原创 2020-03-19 21:09:24 · 220 阅读 · 0 评论 -
SpringBoot学习(二)--以HttpEncodingAutoConfiguration为例查看自动配置原理
HttpEncodingAutoConfiguration解读 先整体看一下HttpEncodingAutoConfiguration的源码: //表明该类为一个配置类 @Configuration //启动指定类的ConfigurationProperties功能,将配置文件中对应的值和HttpProperties绑定起来,并将其加入到ioc容器中 @EnableConfigurationP...原创 2020-03-09 20:51:51 · 329 阅读 · 0 评论 -
SpringBoot学习(一)--从HelloWorld入手,解析SpringBootApplication
1.SpringBoot 简介 简化Spring应用开发的框架,是整个Spring技术栈的一个大整合,J2EE开发的一站式解决方案 2.从简单的Hello Word入手 新建一个SpringBoot有两种方法: 2.1 Spring官网教程,新建一个HelloWorld的SpringBoot项目 2.2 新建一个Maven项目,pom.xml如下 <!-- Inherit defaults ...原创 2020-03-08 22:28:54 · 520 阅读 · 0 评论 -
Java中的异常与日志
程序处理异常,需要解决以下三个问题: 哪里发生异常? 谁来处理异常? 如何处理异常? 带着这三个问题我们来看一下Java中的异常处理机制。 首先需要明确在哪里发生异常。在代码块中通过try-catch来发现异常。在使用try-catch时需要分清稳定代码和非稳定代码,不能大包大揽,将大段代码定义在try-catch块内,非常不利于问题的定位。稳定代码是如何都不会出错的代码,如 int a =...原创 2020-03-05 21:26:03 · 667 阅读 · 0 评论 -
Java线程池浅析
线程池原创 2020-01-01 12:13:17 · 198 阅读 · 0 评论 -
String类和常量池(转)
String类和常量池 1、 String对象的两种创建方式: String str1 = "abcd";String str2 = new String("abcd");System.out.println(str1==str2);//false 这两种不同的创...转载 2019-06-04 23:09:51 · 178 阅读 · 0 评论 -
HotSpot虚拟机对象探秘(2)
以常用虚拟机HotSpot和常用的内存区域Java堆为例,探讨对象是如何创建、如何布局以及如何访问这些细节。 1.对象的创建 ①类加载检查 虚拟机遇到一个new指令时,首先会去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有则先执行相应的类加载过程。(当JVM接收到new指令时,首先在metaspac...原创 2019-06-04 22:55:17 · 193 阅读 · 0 评论 -
Java内存区域概述(1)
运行时数据区域原创 2019-06-02 21:52:33 · 195 阅读 · 0 评论