实训笔记7.3

news2024/9/20 5:44:47

实训笔记7.3

  • 7.3
    • 一、座右铭
    • 二、单例模式
    • 三、IDEA集成开发环境的安装和基本使用
    • 四、Debug断点调试
      • 4.1 作用有两个
      • 4.2 用法:
      • 4.3 IDEA设置step into进入JDK源码
      • 4.4 step over
      • 4.5 step into
    • 五、Java中的网络编程
      • 5.1 网络编程的三个核心要素
      • 5.2 通过Java实现网络编程

7.3

一、座右铭

我的故事你说,我的文字我落,我值几两你定,我去何方我挑。

二、单例模式

饿汉式单例设计模式

懒汉式单例设计模式

线程安全的懒汉式单例设计模式

三、IDEA集成开发环境的安装和基本使用

四、Debug断点调试

4.1 作用有两个

1、追踪代码的报错问题

2、追踪Java底层源码

4.2 用法:

就是需要我们进行追踪的地方打上一个断点,然后运行debug调试。

4.3 IDEA设置step into进入JDK源码

IDEA默认step into不会进入JDK源码,设置以下:file–settings—>build—>debugger—>stepping–>java.*取消勾选

4.4 step over

step over:执行当前代码,如果当前行有方法,不会进入方法内部,而是直接把方法执行完成,然后直接进入下一行

4.5 step into

step into:执行当前行代码,如果当前行有方法,那么会进入方法内部

五、Java中的网络编程

5.1 网络编程的三个核心要素

1、IP地址:InetAddress

2、port端口号

3、通信协议——七层模型

在这里插入图片描述

示例代码:

package com.sxuek.net;

import java.io.IOException;
import java.net.InetAddress;
import java.util.Arrays;

/**
 * java中支持网络编程的相关代码--java.net
 * InetAddress---主机上的IP地址的Java类的表示
 */
public class Demo {
    public static void main(String[] args) throws IOException, IOException {
        InetAddress byAddress = InetAddress.getByName("118.190.150.35");
        boolean reachable = byAddress.isReachable(5000);
        System.out.println(reachable);
        System.out.println(Arrays.toString(byAddress.getAddress()));
        InetAddress localHost = InetAddress.getLocalHost();
        System.out.println(Arrays.toString(localHost.getAddress()));
    }
}

5.2 通过Java实现网络编程

Java底层封装了网络层和物理链路层的协议,如果想通过Java实现网络编程,我们只需要考虑应应用层和传输层的操作方式即可

  1. TCP传输数据的方式

Socket:客户端 绑定IP地址和端口号,采用TCP协议连接ServerSocket服务端

ServerSocket:服务端 绑定端口号,然后再当前主机上开启一个应用程序

实例代码:

package com.sxuek.server;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class SS {
    public static void main(String[] args) throws IOException {
        //在本地开启一个编口号为8888的应用程序,应用程序可以接受其他程序的TCP连接
        ServerSocket ss = new ServerSocket(8888);
        System.out.println("================服务器已经启动==========");
        //socket代表接受到的客户端的请求违接,服务端接受成功之后,创建一个Socket用来和客户端之间进行通信
        Socket socket = ss.accept();//方法调用一次会接受一个客户端
        InputStream inputStream = socket.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
        String line = null;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }
}

package com.sxuek.client;

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket(InetAddress.getByName("localhost"),8888);
        System.out.println("=======客户端已经启动========");
        OutputStream outputStream = socket.getOutputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream));
        String line = null;
        while ((line = br.readLine()) != null) {
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

    }
}

  1. UDP传输数据的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三章 搜索与图论(二)——最短路问题

文章目录 单源最短路朴素Dijkstra堆优化版DijkstraBellman Ford算法SPFASPFA求负环 多源汇最短路Floyd 最短路练习题849. Dijkstra求最短路 I850. Dijkstra求最短路 II853. 有边数限制的最短路851. spfa求最短路852. spfa判断负环854. Floyd求最短路 源点表示起点,汇…

Linux系统远程挂载Mac OS系统目录方法

打开mac文件共享功能 开启共享服务 进入系统偏好设置中的共享选项。勾中文件共享(如下图),之后右边的文件共享的绿灯会点亮,并显示“文件共享:打开”。 添加共享目录 点击在文件共享界面(如下图&#x…

【狂神】MySQL - 数据库级别的外键

1. 外键 FOREIGN KEY (了解) 测试数据 : 学生表 CREATE TABLE IF NOT EXISTS student (id INT(4) NOT NULL AUTO_INCREMENT COMMENT 学号,name VARCHAR(30) NOT NULL DEFAULT 匿名 COMMENT 姓名,pwd VARCHAR(20) NOT NULL DEFAULT 123456 COMMENT 密码,sex VARC…

【数据结构与算法】 完成用十字链表存储的稀疏矩阵的加法运算

题目: Qestion: 完成用十字链表存储的稀疏矩阵的加法运算。 主要思路: 获取两个稀疏矩阵总有多少个非零元素,记作cnt。当cnt 不为零时一直循环,每循环一次i,也就是行循环,每循环一次就转移至下一行。先从…

Git常用指令总结

1、git init&#xff1a;初始化一个Git仓库&#xff1b; 2、git clone&#xff1a;从远程仓库克隆代码到本地&#xff1b; 直接使用网址 git clone <url>or 用a代替网址 git remote add a <url>git clone a3、git add&#xff1a;添加文件到暂存区&#xff1b; 文件…

K8S数据管理

K8S数据管理 1 数据管理1.1 数据持久化1.1.1 存储方案1.1.2 EmptyDir实践1.1.3 hostPath实践1.1.4 NFS实践 1.2 持久化进阶1.2.1 数据对象1.2.2 PV&PVC实践1.2.3 SC解析1.2.4 SC实践 1.3 配置管理1.3.1 配置基础1.3.2 CM1.3.3 CM案例1.3.4 Secret1.3.5 Secret案例 1.4 状态…

36. QT中使用QFtp实现文件传输1 -- 本地文件或文件夹上传到远程服务器

1. 说明 在使用QT进行嵌入式开发或者是使用到TCP控制传输时,有时程序的正常运行会用到某一个文件或者整个文件夹,此时就需要软件方面将需要的文件或者文件夹传输到远程服务器上。在QT中主要有两种方式可以实现这个功能,一个是QT4中使用QFtp这个类来实现,这个类提供了很丰富…

每天一点Python——day48

#第四十八天 #什么是元组为什么元组没有增删改操作和生成式&#xff1f; 元组&#xff1a;Python内置的数据结构之一&#xff0c;是一个不可变序列 不可变序列&#xff1a;没有增删改操作【例如字符串&#xff0c;元组】 可变序列&#xff1a;可以执行增删改操作&#xff0c;操…

记录好项目D21

记录好项目 你好呀&#xff0c;这里是我专门记录一下从某些地方收集起来的项目&#xff0c;对项目修改&#xff0c;进行添砖加瓦&#xff0c;变成自己的闪亮项目。修修补补也可以成为毕设哦 本次的项目是个基于Springbootvue的景区旅游系统 一、系统介绍 本项目分为管理员与…

534 · 打劫房屋 II

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; 题解&#xff1a;九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 处理循环数组问题&#xff1a;分类&#xff0c;重复&#xff0c;取反…

信息安全概述笔记

保密性、完整性、可用性是传统的信息安全的原则和目标&#xff0c;目前随着信息安全问题的日益严峻&#xff0c;信息安全的原则和目标衍生为诸如可控性、不可否认性等其他的原则和目标。 保密性&#xff08;Confidentiality&#xff09;:确保信息只能由那些被授权使用的人获取…

Web服务器群集:四层代理与七层代理

目录 一、理论 1.OSI七层模型 2.四层代理 3.七层代理 4.四层代理与七层代理区别 5.负载均衡器 6.常见的代理组件 7.应用场景 二、总结 一、理论 1.OSI七层模型 &#xff08;1&#xff09;概念 标准的七层网络分层是OSI七层模型&#xff0c;TCP/IP五层模型和TCP/IP四…

Android Matrix的理解

文章目录 前言一.基础1.1 Matrix1.2 使用Matrix的准备知识 二.preXXX和postXXX2.1 右乘和左乘2.2 验证规律 三.坐标原点结束 前言 Android绘制中最重要的要算Matrix类了&#xff0c;同时也是不太好理解的。以前也用过&#xff0c;但是掌握的也不是太好&#xff0c;刚好有时间好…

GO语言包相关总结 -引用(本地和远程),自定义,安装,使用

本篇文章总结以下go语言包相关的知识。 目录 一.导入包 &#xff08;1&#xff09;常规导入 &#xff08;2&#xff09;别名导入 &#xff08;3&#xff09;特殊导入 二.自定义包 三.安装自定义包 四.调用自定义包调用 五.获取远程包 六.go中的保留函数 七.实战 - G…

Python自动化测试实战篇(12),一文学完,Pytest 常用11种第三方插件

这些是之前的文章&#xff0c;里面有一些基础的知识点在前面由于前面已经有写过&#xff0c;所以这一篇就不再详细对之前的内容进行描述 Python自动化测试实战篇&#xff08;1&#xff09; Python自动化测试实战篇&#xff08;2&#xff09; Python自动化测试实战篇&#xff…

解决python-opencv:(-215:Assertion failed) _img.empty() in function ‘cv::imwrite‘在将视频分成帧图片,写入时出现的问题

最近在搞视频检测问题&#xff0c;在用到将视频分帧保存为图片时&#xff0c;图片可以保存&#xff0c;但是会出现(-215:Assertion failed) !_img.empty() in function cv::imwrite问题而不能正常运行&#xff0c;在检查代码、检查路径等措施均无果后&#xff0c;了解了视频分帧…

rk3399 调试ap6354

电路如下: wifi&#xff1a; 按照rk3399 sdk默认配置&#xff0c;修改相应的引脚 sdio_pwrseq: sdio-pwrseq { compatible "mmc-pwrseq-simple"; clocks <&rk808 1>; clock-names "ext_clock"; pinctrl-nam…

filter功能演示-鉴权、声明缓存

文章目录 Filter定义工作原理Filter所处环节 Demo示例总结 Filter定义 在Java EE&#xff08;Java Platform, Enterprise Edition&#xff09;中&#xff0c;过滤器&#xff08;Filter&#xff09;是一种强大的组件&#xff0c;用于在Web应用程序中拦截和处理传入的请求和响应…

银河麒麟服务器V10 SP1 .Net6.0 开机自启动

开机自动启动&#xff0c;折腾了一小天&#xff0c;设置/etc/init.d/ 、update-rc.d&#xff0c;可能刚开始用&#xff0c;经验不多吧&#xff0c;尝试多种方式我的服务怎么都启动不起来&#xff0c;根据之前nginx和redis的自动启动经验&#xff0c;使用systemd管理服务&#x…

Unity基础 物理系统 刚体组件下的移动.碰撞.触发检测

当在Unity中创建游戏或应用程序时&#xff0c;重力系统是一个非常重要的组成部分。它可以模拟物体受到地球引力的影响&#xff0c;并产生逼真的物理效果。在Unity中&#xff0c;我们可以使用刚体组件和重力向量来控制重力系统。 首先&#xff0c;在Unity中创建一个物体&#xf…