随笔分类 - Java基础 / java
摘要:端口 端口概念 端口表示计算机上的一个程序的进程 不同的进程有不同的端口号,用来区分软件 被规定0-65535 TCP/UDP 65535*2 不同协议相同端口不冲突 端口分类: 公有端口: 0-1023 	HTTP:80 	HTTPS:443 	FTP:21 	SSH:22 	Telen
        阅读全文
                
摘要:java ip类 InetAddress package com.example.network; import java.net.InetAddress; import java.net.UnknownHostException; public class TestIp { public stat
        阅读全文
                
摘要:网络通信的要素 如何实现网络的通信? 通信双方的地址 	ip 	port 规则:网络通信的协议 TCP/IP参考模型 OSI七层参考模型 TCP/IP四层概念模型 对应网络协议 应用层 应用层 HTTP/TFTP/FTP/NFS/WAIS/SMTP 表示层 Telnet/Rlogin/SNMP/
        阅读全文
                
摘要:多线程总结 三种多线程类实现方法 package com.example.multi_thread; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class Overview
        阅读全文
                
摘要:线程池 使用线程池的优势: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创建) 便于线程管理 	corePoolSize: 核心池的大小 	maximumPoolSize: 最大线程数 	keepAliveTime: 线程没有任务时最多保持多长时间后
        阅读全文
                
摘要:信号灯法实现多线程通信 多线程接近尾声了,学习是一方面,练习也很重要 例子: 演员表演节目 观众观看 package com.example.multi_thread; import lombok.SneakyThrows; // 信号灯法实现肯德基购餐 public class TestPC2 {
        阅读全文
                
摘要:管程法实现线程通信 例子: 生产者只负责生产鸡 消费者只负责消费鸡 缓冲区负责存放鸡,有存入方法,缓冲区满了等待消费者消费,没有满生产者生产,通知消费者消费 缓冲区有弹出方法,缓冲区为空等待生产者生产,不为空通知生产者生产 代码 package com.example.multi_thread; i
        阅读全文
                
摘要:死锁 产生死锁的四个必要条件 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放 不剥夺条件:进程已获得的资源在未使用完之前,不能强行剥夺 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系 死锁示例 package com.exa
        阅读全文
                
摘要:CopyOnWriteArrayList JUC 并发领域的概念 JUC:java.util.concurrent package com.example.multi_thread; import java.util.concurrent.CopyOnWriteArrayList; public c
        阅读全文
                
摘要:同步方法及同步块 如果我们意识不到思维方式中的弱点,我们永远无法突破当前困境 上篇博客三大线程不安全例子中给出了不安全的示例,那如何才是安全的呢? 同步方法 synchronized关键字,同步,可以放在方法前 public synchronized void method(int args){} 
        阅读全文
                
摘要:线程同步--三大线程不安全例子 概念 线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该地址进行操作,而其他线程又处于等待状态 锁机制 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了冲突问题,为了保证数据在方
        阅读全文
                
摘要:守护线程 守护线程的例子搞的我很伤感,终有离世的一天,愿我们每天都能开心度过。 线程分为用户线程(main线程)和守护线程(gc 垃圾回收线程) 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 守护线程例子:后台记录操作日志、监控内存、垃圾回收等等 例子: package com.e
        阅读全文
                
摘要:线程优先级 弱肉强食在什么时代都适用,不要当绵羊,要当老虎 java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字来表示 	Thread.MIN_PRIORITY=1; 	Thread.MAX_PRIORITY=10
        阅读全文
                
摘要:观测线程状态 线程状态 Thread.State NEW 尚未启动的线程处于此状态 RUNNABLE 在java虚拟机中执行的的线程处于此状态 BLOCKED 被阻塞等待监视器锁定的线程处于此状态 WAITING 正在等待另一个线程执行特定动作的线程处于此状态 TIMED_WAITING 正在等待另
        阅读全文
                
摘要:线程强制执行-join 强制执行就是插队 join合并线程,待次线程执行完成后,再执行其他线程,其他线程阻塞 代码 package com.example.multi_thread; public class TestJoin implements Runnable { @Override publ
        阅读全文
                
摘要:线程礼让 礼让线程,让当前正在执行的线程礼让,但不阻塞 将线程从运行状态转化为就绪状态 让cpu重新调度,礼让不一定成功,看cpu心情 测试代码,多运行几次,结果不一样 package com.example.multi_thread; public class TestYield { public
        阅读全文
                
摘要:线程休眠 sleep(时间) 指定当前线程阻塞的毫秒数 sleep存在异常InterruptedException sleep时间达到后线程进入就绪状态 sleep可以模拟网络延时、计时器等 每个对象都有一个锁,sleep不会释放锁 代码 package com.example.multi_thre
        阅读全文
                
摘要:线程停止 线程状态 创建状态:new Thread() 线程一旦创建,就进入新生状态 就绪状态:线程start()后进入就绪状态,线程阻塞解除后由阻塞状态进入就绪状态 运行状态:线程由就绪状态获得CPU资源之后进入运行状态,释放资源后由运行状态进入就绪状态 阻塞状态:运行状态时等待用户输入时/线程休
        阅读全文
                
摘要:lambda表达式 lambda表达式简单说就是实现了类中的方法,是一种简化的写法 概念: lambda表达式只有在一行代码的时候才能简化成一行,否则要用代码块包裹 接口是函数式接口:仅存在一个方法的接口 多个参数也可以去掉返回类型,加上()即可 package com.example.multi_
        阅读全文
                
摘要:静态代理模式 相关视频https://www.kuangstudy.com/course/play/1317506465254887425 直接上代码 package com.example.multi_thread; public class StaticProxy { public static
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号