摘要:
1.SpringBoot 1.1 概念 SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另 阅读全文
posted @ 2020-08-07 11:35
湘北不会输的
阅读(326)
评论(0)
推荐(0)
摘要:
Spring 官网:https://spring.io/ 官网下载地址:https://repo.spring.io/release/org/springframework/spring/ GitHub:https://github.com/spring-projects/spring-framew 阅读全文
posted @ 2020-08-07 11:31
湘北不会输的
阅读(243)
评论(0)
推荐(0)
摘要:
初识 MySQL MySQL 是一种 关系型数据库管理系统(RDBMS) 开源 默认端口:3306 数据库语言 DDL:Data Definition Language 数据定义语言 DML:Data Manipulation Language 数据管理语言 DQL:Data Query Langu 阅读全文
posted @ 2020-08-07 11:29
湘北不会输的
阅读(180)
评论(0)
推荐(0)
摘要:
原子类也是 JUC 包下的:java.util.concurrent.atomic 包含四个原子类: AtomicInteger AtomicLong AtomicBoolean AtomicRefence Atomic Atomic 的四个类型 基本数据类型 数组类型 引用类型 对象的属性修改类型 阅读全文
posted @ 2020-08-07 11:19
湘北不会输的
阅读(110)
评论(0)
推荐(0)
摘要:
CAS 是什么? CAS (compare and swap) :: 比较并交换 如果期望的值达到了,那么就更新,否则,就不更新,CAS 是 CPU 的并发原语 unsafe 类 Java 无法操作内存,但是Java 可以调用 C++, C++ 可以操作内存。unsafe 相当于 Java 的后门, 阅读全文
posted @ 2020-08-07 11:17
湘北不会输的
阅读(168)
评论(0)
推荐(0)
摘要:
Volatile 是 Java 虚拟机提供的 轻量级的同步机制; volatile 关键字保证变量的可见性以及禁止了指令重排 保证可见性 不保证原子性 禁止指令重排 禁止指令重排 什么是指令重排 你写的程序,计算机并不是按照你写的那样执行 源代码 → 编译器优化的重排 → 指令并行也可能重排 → 内 阅读全文
posted @ 2020-08-07 11:09
湘北不会输的
阅读(109)
评论(0)
推荐(0)
摘要:
ForkJoin :: 分支合并 (JDK 1.7) 并行执行任务,提高效率。 使用场景:大数据量 将大任务拆成小任务 ForkJoin 特点:工作窃取 这个里面维护的都是双端队列,如果一方执行完了,获取另外一方的未完成的任务进行执行 ForkJoin 的操作 package pers.vincen 阅读全文
posted @ 2020-08-07 11:08
湘北不会输的
阅读(143)
评论(0)
推荐(0)
摘要:
什么是 Stream 流式计算 计算都应该交给流来操作! java.util.stream // 代码示例 package pers.vincent.matrix.subject.streamdemo; import java.util.Arrays; import java.util.List; 阅读全文
posted @ 2020-08-07 11:05
湘北不会输的
阅读(101)
评论(0)
推荐(0)
摘要:
新时代程序员:lambda 表达式、链式编程、函数式接口、Stream流式计算、(旧:泛型、枚举、反射) 函数式接口:只有一个方法的接口 @FunctionalInterface public interface Runnable { public abstract void run(); } // 阅读全文
posted @ 2020-08-07 11:04
湘北不会输的
阅读(136)
评论(0)
推荐(0)
摘要:
池化技术 程序的运行,本质:占有系统的资源!优化资源的使用 池化技术:事先准备好一些资源,有人要用,就过来取,用完之后还给我。 线程池的好处 降低资源消耗 提高响应的速度 方便管理 线程可复用,可以控制最大并发数,管理线程 线程池:三大方法 package pers.vincent.matrix.s 阅读全文
posted @ 2020-08-07 11:03
湘北不会输的
阅读(93)
评论(0)
推荐(0)
摘要:
BlockingQueue 使用场景:多并发处理,线程池 阻塞队列的使用 四组API 方式 抛出异常 有返回值,不抛异常 阻塞等待 超时等待 添加 add offer put offer( , , ) 删除 remove poll take poll( , ) 检测队列首部 element peek 阅读全文
posted @ 2020-08-07 11:02
湘北不会输的
阅读(68)
评论(0)
推荐(0)
摘要:
ReadWriteLock: 一个用于只读操作,一个用于写入操作;读的时候可以由多个线程进行,写的时候只能有一个。 读-读:可以共存 读-写:不可共存 写-写:不可共存 读锁:共享锁 写锁:独享锁 代码示例 package pers.vincent.matrix.subject.readwrite; 阅读全文
posted @ 2020-08-07 11:01
湘北不会输的
阅读(78)
评论(0)
推荐(0)
摘要:
CountDownLatch 减法计数器 代码测试 package pers.vincent.matrix.subject.callable; import java.util.concurrent.CountDownLatch; public class CountDownLatchDemo { 阅读全文
posted @ 2020-08-07 10:59
湘北不会输的
阅读(67)
评论(0)
推荐(0)
摘要:
@FunctionalInterface (函数式接口) public interface Callable返回结果并可能引发异常的任务。 实现者定义一个没有参数的单一方法,称为call 。 Callable接口类似于Runnable ,因为它们都是为其实例可能由另一个线程执行的类设计的。 然而,A 阅读全文
posted @ 2020-08-07 10:57
湘北不会输的
阅读(92)
评论(0)
推荐(0)
摘要:
List 不安全 List<String> list = new ArrayList<>(); List<String> list2 = Collections.synchronizedList(new ArrayList<>()); // CopyOnWrite 写入时复制; /** * Copy 阅读全文
posted @ 2020-08-07 10:56
湘北不会输的
阅读(71)
评论(0)
推荐(0)
摘要:
关于锁的8个问题 范例1: package pers.vincent.matrix.subject.lock8; import java.util.concurrent.TimeUnit; public class Test1 { public static void main(String[] a 阅读全文
posted @ 2020-08-07 10:54
湘北不会输的
阅读(81)
评论(0)
推荐(0)
摘要:
生产者和消费者问题:Synchronized 版 Synchronized:wait 、notify package pers.vincent.matrix.subject.juc; public class JucTest3 { public static void main(String[] a 阅读全文
posted @ 2020-08-07 10:53
湘北不会输的
阅读(81)
评论(0)
推荐(0)
摘要:
Lock 锁(*) 传统 synchronized package pers.vincent.matrix.subject.juc; public class JucTest1 { public static void main(String[] args) { // 获取CPU核数 // Syst 阅读全文
posted @ 2020-08-07 10:50
湘北不会输的
阅读(123)
评论(0)
推荐(0)
摘要:
在此之前呢,我们先对 JUC 有个简单了解:所谓 JUC 即 Java 的一个并发编程的类包:java.util.concurrent 包含有: java.util.concurrent.atomic java.util.concurrent.locks 进程 进程是一个程序,比如QQ、WeChat 阅读全文
posted @ 2020-08-07 10:48
湘北不会输的
阅读(101)
评论(0)
推荐(0)
摘要:
注解 注解:Java.Annotation Annotation 的作用 非程序本身,可以对程序做出解释 可以被其他程序读取 Annotation 的格式 "@注释名" (可带参数名) Annotation 使用范围 可附加在 package, class, method, field 等上面,可通 阅读全文
posted @ 2020-08-07 10:36
湘北不会输的
阅读(118)
评论(0)
推荐(0)
摘要:
数组概述 同类型的数据的有序集合 同类型的若干个数据,按照一定的先后次序排列组合 每一个元素称为数组元素,数组元素可以通过一个下标来访问 数组声明创建 声明方式 // 声明数组 int[] nums;// 建议使用 int nums1[]; // 创建数组 int[] nums = new int[ 阅读全文
posted @ 2020-08-07 10:34
湘北不会输的
阅读(130)
评论(0)
推荐(0)
摘要:
Java 面向对象 1. 什么是面向对象 Java 的核心思想就是:OOP 1.1 面向过程 与 面向对象 面向过程 步骤清晰简单,按步骤执行 面向对象 物以类聚,分类的思维模式。面对问题先分类,再单一思考,对最后的细节进行面向过程的思索 适合处理复杂的事物 宏观上,通过面向对象的思路分析;微观上, 阅读全文
posted @ 2020-08-07 10:32
湘北不会输的
阅读(166)
评论(0)
推荐(0)
摘要:
4. 方法 Java 方法是语句的集合,它们在一起处理一件事情。 方法包含于类和对象中 方法在程序中被创建,在其他地方被调用 4.1 方法的定义 Java 的方法类似于其他语言的函数,用一段完成特定任务的代码片段。 修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 ... } 4.1.1 方 阅读全文
posted @ 2020-08-07 10:30
湘北不会输的
阅读(93)
评论(0)
推荐(0)
摘要:
Java 是一种 强类型 语言,要求变量的使用严格规定,所有变量的使用都必须先定义 3.1 基本类型(8) 基本类型分为:数值类型:整型、浮点型、字符型;布尔型 整型 byte (1个字节) short (2个字节) int (4个字节) long (8个字节) 浮点型 float (4个字节) d 阅读全文
posted @ 2020-08-07 10:29
湘北不会输的
阅读(125)
评论(0)
推荐(0)
摘要:
2.1 注释 单行注释:// 多行注释:/* */ 文档注释:/** */ javadoc -encoding UTF-8 -charset UTF-8 2.2 变量 成员变量: 属于类 局部变量:属于方法体内的 实例变量:属于对象 类变量:跟着类走; static 修饰符(静态) 成员变量和局部变 阅读全文
posted @ 2020-08-07 10:25
湘北不会输的
阅读(111)
评论(0)
推荐(0)
摘要:
1.1 Java 语言的特点 简单易学 面向对象(封装、继承、多态) 跨平台(Windows、MacOS、Linux) 解释和编译并存 安全可靠 支持多线程编程 支持网络编程 1.2 JVM、JDK、JRE JVM : Java 虚拟机 JDK : Java 工具包 JRE : Java 运行环境 阅读全文
posted @ 2020-08-07 10:23
湘北不会输的
阅读(135)
评论(0)
推荐(0)

浙公网安备 33010602011771号