自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Java基础之字符流、缓冲流、转换流、序列化、打印流、属性集对象

字符输入流的使用。 IO流的体系: 字节流 字符流 字节输入流 字节输出流 字符输入流 字符输出流 InputStream OutputStream Reader Writer (抽象类)...

2020-04-11 17:58:43 159

原创 Java基础之递归、 字符集、字节流

递归的形式递归:方法在方法中又调用了自己。递归:直接递归:自己的方法调用自己。间接递归:自己的方法调用别的方法,别的方法又调用自己。小结:递归是自己调用自己。递归如果控制的不恰当,会形成递归的死循环,从而导致栈内存溢出错误!!递归应该防止进入递归的死循环!递归的核心算法思想和执行流程(重点。拓展)已知:f(x) = f(x - 1) + 1 (恒等式)已知:f(1) = 1...

2020-04-10 01:18:37 133 1

原创 Java基础之Stream流、File类

Stream流Stream流的获取Stream流常用API

2020-04-09 00:00:41 342

原创 Java基础之Lambda表达式、方法引用

Lambda表达式Lambda简化例子1原始写法Runnable是函数式接口简化后:Lambda简化例子2原始写法是函数式接口简化后:Lambda表达式省略写法省略大括号省略return省略参数类型省略参数类型以及小括号原始写法方法引用1.静态方法引用例子1.定义一个静态方法2.省略过程2.实例方法引用3.特定...

2020-04-08 20:59:12 239

原创 Java基础之Map集合、异常

Map集合Map集合常用APIMap集合遍历将map集合转换为set集合强烈推荐的方式HashSet底层是实现的HashMapLinkedHashMapTreeMap

2020-04-07 17:01:27 130

原创 Java基础之包装类、泛型、集合、可变参数

包装类

2020-04-05 17:53:07 111

原创 Java基础之多态、内部类、包、Object、Date、System

多态

2020-04-04 21:54:42 67

原创 Java基础之代码块、final、单例模式和枚举类

静态代码块

2020-04-04 01:03:23 65

原创 Java基础之抽象类、接口

抽象类定义抽象类使用抽象类的特征抽象类的存在意义抽象类设计模板设计模式抽象类总结抽象类的构造方法可以设置私有,但是这样就没有意义,子类不能访问父类的构造器初始化父类成员。...

2020-04-03 16:26:06 99

原创 JAVA基础知识1

面向对象类的成分与格式this封装Static静态成员变量与实例成员变量静态成员方法与实例成员方法继承继承后的成员变量访问特点继承后的成员方法访问特点继承后——方法重写...

2020-04-02 19:19:34 66

原创 JVM内存结构

1.1 程序计数器定义Program Counter Register 程序计数器(寄存器)作用是:记住下一条jvm指令的执行地址1.2程序计数器特点1.每个线程都有自己的程序计数器(是线程私有的)2.不会存在内存溢出2.1 Java 虚拟机栈定义Java Virtual Machine Stacks (Java 虚拟机栈)1.每个线程运行时所需要的内存,称为虚拟机栈(每个线程...

2020-03-30 17:49:14 85

原创 JVM介绍

2020-03-30 11:49:22 55

原创 Semaphore

1.Semaphore作用2.Semaphore—acquire3.Semaphore—release

2020-03-28 16:22:35 72

原创 AQS&ReentrantLock的实现

1.AQS原理2.非公平锁3. 可重入原理4. 可打断原理不可打断模式在此模式下,即使它被打断,仍会驻留在 AQS 队列中,一直要等到获得锁后方能得知自己被打断了。...

2020-03-26 19:24:50 79

原创 CAS操作与原子操作类

1.CAS的实现2.CAS的特点3. 原子更新基本类型atomic 包提高原子更新基本类型的工具类,主要有这些:AtomicBoolean:以原子更新的方式更新 boolean;**AtomicInteger:**以原子更新的方式更新 Integer;AtomicLong:以原子更新的方式更新 Long;这里以 AtomicInteger 为例总结常用的方法1.increm...

2020-03-26 13:53:27 163

原创 Synchronized

1.对象头2.Monitor同一个对象与同一个Monitor相关联;对象obj被加锁以后,它的MarkWord里存储Monitor指针;线程2得到锁以后,Monitor的Owner指向线程2,其他线程访问Monitor的时候先检查Owner位置是不是指向自己,如果是则再次获得锁,如果不是,进入阻塞队列EntryList等待,直到线程2执行完代码释放Owner。3.轻量级锁轻量...

2020-03-25 15:13:25 126

原创 volatile可见性、原子性和有序性

1.可见性问题2.使用volatilevolatile static boolean run = true; 3.可见性与原子性

2020-03-24 17:29:13 320

原创 ReentrantLock

1.定义**公平锁:**线程按照进入EntryList队列的顺序来获得锁,可以用于解决饥饿问题;**多个条件变量是:**将对象锁粒度细化,即有多个不相干的对象锁;**2.可中断:**是指线程在blocked阶段等待锁的时候,可以被其他线程打断,停止等待,可以用于解决死锁的问题(被动的方式);线程t1的中断语句:`t1.interrupt();`3.锁超时trylock();...

2020-03-24 16:23:11 119

原创 线程活跃性之死锁与活锁

1.多把锁如果对象中的方法是不相干的,此时只有一个对象锁,并发度很低;解决办法:准备多个不相干的对象锁。将锁的粒度细分好处:增强并发度坏处:当一个线程需要多把锁的时候,容易出现死锁2.死锁示例代码:检索死锁的软件:Jconsole3.活锁两个线程互相改变对方的结束条件,最后谁也无法结束。4.饥饿一个线程由于优先级太低,始终得不到CPU调度执行,也不能够结束。在解决死锁...

2020-03-24 14:41:50 105

原创 park与unpark

1.基本使用2.特点

2020-03-23 17:15:56 605

原创 异步模式之生产者与消费者

1.定义异步:由于存在消息队列,生产者产生的数据不能立刻被消费者处理,中间会有延迟,因此归为异步。异步与同步的区别:同步:线程A要请求某个资源,但是此资源正在被线程B使用中,因为同步机制存在,线程A请求不到,只能等待下去;异步:线程A要请求某个资源,但是此资源正在被线程B使用中,因为没有同步机制存在,线程A仍然请求的到,线程A无需等待。2.代码1.消息队列与获取消息的方法如果队列为...

2020-03-23 17:01:13 601

原创 同步模式之保护性暂停

1.保护性暂停的定义2.实现代码get方法用来获取结果response,如果结果为空则一直等待,直到另一个线程调用complete方法产生结果,并且调用notifyall方法唤醒waitset中的线程,此时response不为空,线程继续工作。3.join的原理millis即线程需要等待的时间,millis=0时,只要线程存活,就一直等待下去,直到线程结束;millis>0时,设置...

2020-03-23 15:36:14 1164 2

原创 JAVA并发之wait&notify

1.wait&notify当一个线程获得锁以后,若条件不满足需要等待别的资源才能执行,这时可以调用wait方法,使线程进入waitset里等待;与Blocked队列不一样的是:1.Waiting是在进程获得锁以后才会进入WaitSet的,而blocked队列是等待锁;2.使用notify方法唤醒Waiting状态的线程,Blocked队列是owner线程释放锁的时候才会唤醒。n...

2020-03-23 13:00:02 151

原创 Thymeleaf

在html文件使用thymeleaf 标签 需要再头文件中加入命名空间Thymeleaf 标签 - 片段(th:fragment)被引用的片段应该做如下标记:引用片段做如下标记:

2020-03-20 23:47:32 48

转载 @GeneratedValue 注解详解(转)

springboot中@GeneratedValue作用:(1)@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键、@GeneratedValue提供了主键的生成策略。(2)@GeneratedValue注解有两个属性,分别是strategy和generator,generator属性:generator属性的值是一个字符串,默认为"",其声明了主键生成器...

2020-03-11 15:16:10 1044

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除