随笔分类 -  Java基础 / java

摘要:01-彻底搞懂java的值传递 在java的参数传递中,只有一种情况,就是值传递 值传递指的是在方法中,会将原始变量拷贝一份出来,进行处理 基本数据类型 基本数据类型 值就保存在变量中, 拷贝一份进行修改不会影响原来的数据 package com.kuang.real; /** * java值传递 阅读全文
posted @ 2022-12-14 20:55 Oh,mydream! 阅读(68) 评论(0) 推荐(0) 编辑
摘要:Callable接口实现 之前学过callable, 这次再学些不一样的东西 Callable vs. Runnable Callable 接口有返回值, Runnable 接口没有返回值 Callable 接口可以抛出异常, Runnable 接口不能抛出异常 一个重写call方法,一个重写run 阅读全文
posted @ 2021-11-30 11:26 Oh,mydream! 阅读(39) 评论(0) 推荐(0) 编辑
摘要:CopyOnWriteArraySet HashSet是多线程不安全的,建议使用CopyOnWriteArraySet package com.example.juc; import java.util.Set; import java.util.UUID; import java.util.con 阅读全文
posted @ 2021-11-30 10:20 Oh,mydream! 阅读(50) 评论(0) 推荐(0) 编辑
摘要:CopyOnWriteArrayList ArrayList是多线程不安全的,建议使用CopyOnWriteArrayList package com.example.juc; import java.util.List; import java.util.UUID; import java.uti 阅读全文
posted @ 2021-11-30 09:41 Oh,mydream! 阅读(21) 评论(0) 推荐(0) 编辑
摘要:彻底理解8锁 重点:锁 锁的是对象或者class模板, 静态方法锁的是class模板 1.初始情况 同一个对象,两个方法加锁,先“打电话”还是发短信? package com.example.juc; import java.util.concurrent.TimeUnit; public clas 阅读全文
posted @ 2021-11-29 15:40 Oh,mydream! 阅读(92) 评论(0) 推荐(0) 编辑
摘要:传统的生产者消费者问题,防止虚假唤醒 注意点:wait需要被放进while代码块中,防止虚假唤醒 存在虚假唤醒代码: package com.example.juc; public class TestPc { public static void main(String[] args) { A a 阅读全文
posted @ 2021-11-27 18:00 Oh,mydream! 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Lock vs synchronized Synchronzied 和 Lock 的主要区别如下: 存在层面:Syncronized 是Java 中的一个关键字,存在于 JVM 层面,Lock 是 Java 中的一个接口 锁的释放条件:1. 获取锁的线程执行完同步代码后,自动释放;2. 线程发生异常 阅读全文
posted @ 2021-11-27 16:41 Oh,mydream! 阅读(27) 评论(0) 推荐(0) 编辑
摘要:lock锁 三个实现类 可重入锁(普通)ReentrantLock 读锁ReentrantReadWriteLock.ReadLock 写锁ReentrantReadWriteLock.WriteLock fair和unfair 公平锁:严格执行先来后到 非公平锁:可以插队(默认) 默认非公平锁:如 阅读全文
posted @ 2021-11-27 16:19 Oh,mydream! 阅读(85) 评论(0) 推荐(0) 编辑
摘要:OOP思想实践-线程就是一个资源类,没有任何附属操作 不要把Ticket 写成一个Runnable接口的实现,最好用lambda表达式 package com.example.juc; public class SaleTicket { public static void main(String[ 阅读全文
posted @ 2021-11-27 11:23 Oh,mydream! 阅读(37) 评论(0) 推荐(0) 编辑
摘要:OOP七大原则 开闭原则:对扩展开放,对修改关闭 (如果增加模块,需要在原有设计上进行扩展,而不是直接修改) 里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立(子类不应重写父类的属性和方法,而应该添加新的方法和属性) 依赖倒置原则:要面向接口编程,不要面向实现编程 (大佬写接口,开发将接口 阅读全文
posted @ 2021-11-27 10:27 Oh,mydream! 阅读(70) 评论(0) 推荐(0) 编辑
摘要:基础简介 sleep() 方法让当前线程停止运行一段时间,到期自动继续执行。 wait() 方法让线程停止运行,在 notify() 或 notifyAll() 后继续执行。 相同 sleep() 和 wait() 调用都会暂停当前线程并让出 CPU 不同 定义位置不同:sleep() 是线程类(T 阅读全文
posted @ 2021-11-26 21:48 Oh,mydream! 阅读(28) 评论(0) 推荐(0) 编辑
摘要:GUI编程 本来听完面试的时候不会用到,就想跳过,结果说到为什么学习,又把我留住了。 简介 GUI的核心技术:Swing/AWT, java 做GUI没有流行起来,这两个技术也没有流行起来 因为页面不美观 需要jre环境 80兆左右大小 为什么要学习:了解mvc的思想,了解监听 AWT Awt介绍 阅读全文
posted @ 2021-11-23 11:29 Oh,mydream! 阅读(54) 评论(0) 推荐(0) 编辑
摘要:URL下载 java里面什么东西都是流,文件流、输入流、输出流 URL (Uniform Resource Locator) 统一资源定位符 定位网络资源 DNS 域名解析:将域名解析为ip 格式 协议://ip地址:port/项目名/文件 URL类 package com.example.netw 阅读全文
posted @ 2021-11-20 11:26 Oh,mydream! 阅读(296) 评论(0) 推荐(0) 编辑
摘要:UDP实现聊天 虽然不完美。但基本实现通信 TalkSender.java package com.example.network; import lombok.SneakyThrows; import java.io.BufferedReader; import java.io.InputStre 阅读全文
posted @ 2021-11-20 10:33 Oh,mydream! 阅读(43) 评论(0) 推荐(0) 编辑
摘要:UDP实现循环接收输入 发送端: package com.example.network; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java 阅读全文
posted @ 2021-11-18 16:48 Oh,mydream! 阅读(196) 评论(0) 推荐(0) 编辑
摘要:UDP实现通信 1.创建连接 DatagramSocket 2.构建包 DatagramPacket 3.发送包 .send() 或接收包.receive() 发送方 package com.example.network; import java.net.DatagramPacket; impor 阅读全文
posted @ 2021-11-18 15:47 Oh,mydream! 阅读(158) 评论(0) 推荐(0) 编辑
摘要:初识Tomcat C/S 和B/S 服务端 自定义 S Tomcat S 客户端 自定义 C 浏览器 B 实践 下载apache-tomcat-8.5.15包,版本可以不同 进入apache-tomcat-8.5.15->bin->startup.bat 在浏览器中输入 localhost:8080 阅读全文
posted @ 2021-11-18 10:50 Oh,mydream! 阅读(33) 评论(0) 推荐(0) 编辑
摘要:TCP文件上传 服务器端: 确定接收地址--端口 监听连接 accept 获取输入流 将输入流写入文件输出流 通知客户端已完成接收 关闭资源 客户端: 建立连接 socket 读取文件流 将文件流写入socket输出流 结束输出流 shutdownOutput 等待客户端完成接收 关闭资源 服务器端 阅读全文
posted @ 2021-11-18 10:33 Oh,mydream! 阅读(36) 评论(0) 推荐(0) 编辑
摘要:TCP实现聊天 客户端: ​ 连接服务器 Socket ​ 发送消息 服务器端: ​ 建立服务器端口 ServerSocket ​ 等待连接 accept ​ 接收用户的消息 // TcpClientDemo01.java package com.example.network; import ja 阅读全文
posted @ 2021-11-17 20:57 Oh,mydream! 阅读(52) 评论(0) 推荐(0) 编辑
摘要:通信协议 协议:约定,比如我们都说普通话 网络通信协议:速率,传输码率,代码结构,传输控制 层级 应用层:软件,qq 传输层:通信 网络层:数据封包 数据链路层:硬件传输 TCP/IP协议:是一组协议 重要的协议: ​ TCP:(Transmission Control Protocol)传输控制协 阅读全文
posted @ 2021-11-16 16:53 Oh,mydream! 阅读(394) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示