Java
脚踏实地,不断努力,夯实基础。
丑阳璐
我们只是站在父母的肩上,见识了他们未曾见过的繁华。
展开
-
Java程序员必备英文,你确定不看看?
Java程序员必备单词大纲原创 2022-04-17 19:54:26 · 3277 阅读 · 0 评论 -
二十一.线程安全的集合类
线程安全的集合类ListCopyOnWriteArrayListimport java.util.Arrays;import java.util.List;import java.util.UUID;public class UnsafeList { public static void main(String[] args) { List<String> list = Arrays.asList("1", "2", "3"); list.原创 2021-09-26 23:38:46 · 1282 阅读 · 0 评论 -
二十.Synchronized与Lock锁
Lock锁接口(JUC vital)实现类ReentrantLock(可重入锁)ReentrantReadWriteLock.ReadLockReentrantReadWriteLock.WriteLock底层扩展FairSync():公平锁,先来后到NonfairSync(default mechanism):非公平锁,可以插队//源码:构造方法 public ReentrantLock(boolean fair) { sync = fair ? new F原创 2021-09-23 22:28:32 · 119 阅读 · 0 评论 -
十九.JUC基础
初识JUC并发编程1. 线程池在线程模块的学习中,我们会频繁的创建,销毁以及使用使用量特别大的资源,比如并发情况下的线程,会对性能产生极大的影响,Java提供了线程池,即提前创建多个线程,放入线程池中,使用时直接获取,使用完后放回池中,可以避免频繁的创建销毁,实现重复利用,提高内存资源的使用率。使用线程池的好处相关接口API:ExecutorService与Executors,线程池的工具类,用于创建并返回不同类型的线程池ExecutorService:真正的线程池接口,子类有ThreadPo原创 2021-09-20 23:23:55 · 1176 阅读 · 0 评论 -
十八.线程通信
生产者与消费者问题重述假设仓库中只能存放一件商品,生产者将生产出来的商品放入仓库中,消费者从仓库中取走商品如果仓库中没有产品,则生产者将商品放入仓库,否则停止生产并等待,直到仓库中的商品被消费者取走为止如果仓库中放有商品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止分析这是一个线程同步问题,生产者与消费者之间共享同一个资源,并且生产者和消费者之间相互依赖,互为条件对于生产者,没有生产产品之前,需要通知消费者等待;而生产了产品之后,又要马上通知消费者消费对于原创 2021-09-20 23:22:08 · 930 阅读 · 0 评论 -
十七.线程安全之锁
一.死锁1.什么是死锁?多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而倒置两个或多个线程都在等待对方释放资源,都停止执行,某一同步块同时拥有两个以上对象的锁,发生了“死锁”问题。举个栗子:现在有两个女孩需要化妆,化妆工具有口红(lipstick),镜子(mirror)。用两个线程代替两个女生,看一下代码:package synchronize;//死锁:互相拥有对方的资源public class LockTest { public static void m原创 2021-09-20 12:44:48 · 188 阅读 · 0 评论 -
十六.线程安全之同步
线程安全之同步守护线程(daemon)线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕后台日志记录,监控内存,垃圾回收等同步机制(vital)并发:同一个对象被多个线程同时操作处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候就需要线程同步(等待机制),多个需要同时访问此对象的线程进入这个对象的等待池中,形成队列,等待前面线程使用完毕后再使用。队列和锁由于同一进程中的多个线程共享一块存储空间,在带来方便的同时也带原创 2021-09-20 12:43:38 · 74 阅读 · 0 评论 -
十五.内部类
内部类在Java中,可以将一个类定义在另一个类或者方法里边,称之为内部类。一般来讲分为四种,成员内部类,局部内部类,匿名内部类,静态内部类。1.成员内部类是最普通的内部类,它的定义位于另一个类的内部成员内部类可以无条件访问外部类的所有成员属性和成员方法而外部类访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过此对象的引用来访问成员内部类是依附外部类存在的,若要创建成员内部类的对象,前提是必须存在一个外部类的对象内部类可以拥有private,protected,public访问原创 2021-09-18 16:40:31 · 54 阅读 · 0 评论 -
十四.线程状态
线程的状态1.创建状态,线程一旦创建就进入到了创建状态。Thread s1 = new Thread();2.就绪状态,当调用此方法时,线程立即进入就绪状态,但并不意味着立即调度执行s1.start();3.阻塞状态,当调用sleep,wait方法或同步锁定时,线程就进入阻塞状态,即代码不往下执行,阻塞事件解除后,重新进入就绪状态,等待cpu调度执行。s1.sleep();4.运行状态,进入运行状态,线程才真正执行线程体的代码块5.死亡状态,线程中断或者结束,一旦进入死亡原创 2021-09-18 16:39:02 · 84 阅读 · 0 评论 -
十三.landa表达式
lambda表达式(Functional Interface)为什么要使用lambda表达式?避免匿名内部类定义过多代码更简洁,只留下核心的逻辑代码函数式接口:接口中仅包含一个抽象方法,而对于函数式接口,可通过lambda表达式来创建该接口的对象。使用lambda表达式的前提是接口一定是函数式接口多个参数,也可去掉参数类型,必须加上括号public interface Runnable { public abstract void run();}public class La原创 2021-09-18 16:38:12 · 453 阅读 · 0 评论 -
十二.线程基础
线程基础一.线程与进程进程进程:首先计算机的核心是cpu,它承担了所有的计算任务,而操作系统是计算机的管理者,负责任务调度,资源分配,管理和统领整个计算机硬件。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的独立单位,是应用程序运行的载体。举个栗子:电脑后台运行的网易云,哔哩哔哩等。动态性:进程是程序的一次执行过程,是有一定的生命周期的并发性:任何进程都可同其他进程并发执行独立性:进程是系统进行资源分配和调度的一个独立单位结构性:进程由程序原创 2021-09-18 16:37:07 · 48 阅读 · 0 评论 -
十一.常用类
十一.常用类1.抽象类eg:public abstract class Animal04 { private int age; private String name; public abstract void eat(); //getter,setter}概念:包含抽象方法的类。用abstract修饰抽象方法:只有方法声明,没有方法体的方法,用abstract修饰由来:当需要定义一个方法时,不明确方法的具体实现,可以将方法定义为a原创 2021-02-23 12:16:52 · 109 阅读 · 1 评论 -
十.Java方法
十.方法一.方法(1)格式 修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2......){ //方法体语句; return 返回值; }(2)如何定义方法 确定方法名 确定返回值类型 确定参数列表(3)方法的调用 A.通过方法名调用方法 B.根据形式参数列表将实际参数传递给方法(4)两个概念 形式参数:在定义方法时需明确方法参数的形式,比如参数的类型和个数,故定义方法时的参数列表成为形式参数。原创 2021-03-03 19:31:03 · 87 阅读 · 0 评论 -
九.Java接口
九.接口1.接口概述一.概念 接口技术用于描述类具有什么功能,但并不给出具体实现,类要遵循接口描述的统一规则进行定义。 接口即对外提供的一组规则,标准。二.定义 1.定义接口名使用关键字 interface interface 接口名 {} 2.类与接口的关系 类与接口是实现关系,用implements表示 class 类名 implements 接口名package Winter.interface01;//定义接口,USB接口public inter原创 2021-02-23 12:06:37 · 84 阅读 · 0 评论 -
八.面向对象三大特性
八.面向对象三大特性1.封装一.封装 基本义:把物体打包装到箱子里,然后封起来。 引申义:把一系列功能打包到一台设备里,提供使用这些功能的界面。 概念:将一系列相关事物共同的属性和行为提取出来,放到一个类中,隐藏对象的属性与实现细节,仅对外 提供公共的访问方式。 公共访问方式就指的是get和set方法。 常见的封装体:汽车,电脑,洗衣机 好处:提高安全性,提高复用性,将复杂的事情简单化。 关键:不能让类中的方法直接访问其他类的数据(属性原创 2021-02-23 12:06:03 · 132 阅读 · 0 评论 -
七.修饰符
七.修饰符1.private概念:私有的,一种访问权限修饰符,用来修饰类的成员。特点:被修饰的成员只能在本类中访问。(只能在本类中使用)用法:private 数据类型 变量名; private 返回值类型 方法名(参数列表){}package Winter.modifier.private01;/*** * 给Student类中的成员变量用private修饰,然后在测试类中正确使用该类的成员变量 */public class Student01 { //成员变量原创 2021-02-23 12:05:13 · 165 阅读 · 2 评论 -
六 . 面向对象
六 . 面向对象一 . 对象1.什么是程序? 程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集合。(微信 网易云等)2.世界是由什么组成的? 在程序猿的眼里,世界是由无数个对象组成的。2.什么是对象(object)? 某一类事物的具体存在。(对象即引用) (1)特征:称为属性,一般为名词,代表对象有什么。 (2)行为:称为方法,一般为动词,代表对象能做什么。3.程序中的对象: 在程序当中,必须具有和现实中相同的对象,用以模拟现实世界; 使用程序中的对象代原创 2021-02-13 08:48:01 · 172 阅读 · 0 评论 -
五 . 数组
五 . 数组一 . 数组概述一.为什么使用数组? 案例:如何存储100名学生的成绩?学生的全部成绩+1? 1.使用变量存储,重复声名100个double类型的变量 缺点:重复操作过多,数据冗余,无法统一操作等。 1.数组: 一组连续的存储空间,存储多个相同数据类型的数组。 生活中的数组: 书架,香烟...... (1)特点: 类型相同;长度固定。 2.数组的创建: (1)声名数组类型变量,定义变量名 int[] a =原创 2021-02-13 08:47:16 · 159 阅读 · 0 评论 -
四 . 循环
四 . 循环一 . 循环一.生活当中的循环 比如我经常晚上在学校的操场上10公里长跑,那我跑完25圈时,满足条件,即我的跑圈循环结束。二.程序中的循环 概念:通过某一个条件,重复的执行一段逻辑代码。三.循环的组成 (1)初始部分,用以判断变量 (2)循环条件,是否执行循环的依据 (3)循环操作,单词执行的逻辑代码或任务 (4)迭代部分,控制循环条件改变的增量 1.while循环(适用于循环次数明确的情况) (1)语法: while(原创 2021-02-13 08:43:28 · 146 阅读 · 0 评论 -
三 . 选择结构与分支结构
三 . 选择结构与分支结构一 . 选择结构一.选择结构概念:根据已知条件进行逻辑判断,满足条件后执行相应操作。1.if语法: if(布尔表达式){ //代码块 } 1.1.执行流程: 对布尔表达式进行判断。 结果为true,则先执行代码块,再执行后续代码。 结果为false,则跳过代码块,直接执行后续代码。2.if—else语法: if(布尔表达式){ //代码块1 }else{原创 2021-02-12 18:48:31 · 1578 阅读 · 0 评论 -
二 . Java语言基础
二 . Java语言基础一 . 变量一.内存(瞬时,临时状态的存储) 1.内存(概念): 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此 内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬 盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将 结果传送出来,内存的运行也决定了计算机原创 2021-02-12 18:37:46 · 131 阅读 · 0 评论 -
一 . Java概述与环境搭建
一 . Java概述与环境搭建一 . Java了解一.学习目标 1.对java进行系统的学习,达到可以继续学习java高级知识的能力。 2.通过对本课程的学习,达到可以进入编程领域职场的就业能力。 3.让更多的年轻人加入到互联网浪潮中,拥有更多的职场机会,人生多一份选择。 JavaSE平台核心知识(Java Platform Standard Edition 8)二.学习内容 Part1:Java语言基础与面向过程编程 1.概述与环境搭建 2.语言基础 3.选原创 2021-02-12 18:37:11 · 115 阅读 · 1 评论