- 博客(25)
- 收藏
- 关注
原创 CSS
1. 【CSS的基本语法格式】:选择器+应用属性2. 【选择器】:针对谁修改 3. 【应用属性】:修改的内容,使用键值对 1)键值对之间使用分号连接,且每个键值对独占一行~ 2)键值对内部的键和值之间使用冒号连接,冒号后面会加个空格,再来书写值~ 3)每个键值对就代表一个CSS属性~4. 【注释】:/* */5. CSS代码可以通过style标签,存放到html文件中任何位置~6. CSS引入方式 1)通过style标
2022-07-13 10:50:31
933
1
原创 阻塞式队列
1. 符合先进先出的原则,满足线程安全~2. 产生阻塞效果: 1)如果队列为空,尝试出队列,就会出现阻塞,阻塞到队列不为空为止; 2)如果队列为满,尝试入队列,也会出现阻塞,阻塞到队列不为满为止~3.典型应用模型:生产者消费者模型 4. java标准库的阻塞队列...
2022-07-12 09:44:34
128
原创 文件操作 —— IO
【1】文件 1. 文本文件【存储字符】 2. 二进制文件【存储字节】 【2】针对文件内容的读写,分为两个系列 1. 字节流对象 针对二进制文件,以字节为单位进行读写 读:InputStream【既可针对普通文件,又可针对特殊文件(网卡,socket文件)进行读写】 ----> 该类为抽象类,往往使用子类 FileInputStream【特指针对普通文件进行读写】public cla
2022-07-12 09:42:49
131
原创 网络编程套接字
1. 是操作系统给应用程序提供的一组API(socket API)~2. 专门用于应用层与传输层的通信~3.【传输层的核心协议】:TCP协议和UDP协议: 1)TCP协议特点: 11)【有连接】 :先接通,才可发送/接收数据~(例如打电话) 22)【可靠传输】:传输过程中,发送方知道接收方有没有收到数据~ 33)【面向字节流】:以字节为单位进行传输~ 44)【全双工】:一条链
2022-07-12 09:40:52
99
原创 HTML
1. 生成默认页面模板【html:5】2. 注释标签【 】3. 标题标签【输入标签名+Tab可以快速生成一对标签】【h1-h6 】【数字越小,字体越大】 4. 段落标签 【 p 】 5. 换行标签 【br】 在HTML中,手动换行是会被忽略掉的,所以要想换行,需要对代码修改~ 6. 空格标签 在HTML中,手动加空格是会被忽略掉的,所以要想加空格,需要对代码修改~7. 加粗标签 【strong】 【b】 8. 倾斜标签 【em】【i】 9. 删除线标签 【del】 【s】 ...
2022-07-12 09:38:11
678
原创 IP协议
1. 完成两方面的工作:【地址管理】 IP地址分为两部分:网络号+主机号~ 网络号:描述了当前局域网的标识,即当前在哪个局域网~ 主机号:区分了局域网内部的哪台主机~ 要求:同一个局域网内,不同主机之间,网络号是相同的,主机号是不同的~ 不同局域网之间,网络号不相同~ 子网掩码: 确定了网络号占几个字节,主机号占几个字节~
2022-07-08 10:47:25
588
原创 TCP协议的可靠传输机制
1. 【确认应答机制】出现的问题: 1)消息发出后,不知道接收方有没有收到消息~【使用应答报文】 2)网络上,数据传输顺序存在差异,可能出现后发的消息,先到达,导致回复消息时发生错误~【使用确认序号】解决方法: 1)在网络正常的时候,接收方收到数据之后,给发送方返回一个应答报文(ACK),表示其已经收到了~ 2)当发送的消息条数比较多时,返回的应答报文可能不及时,出现乱序现象,所以需要添加确认序号,能保证消息的一一对应~ 3)确认序号:表
2022-07-07 15:35:11
1018
原创 网络通信
【IP地址】 描述了网络上一个主机的位置 ~【端口号】 描述了一个主机上的某个应用程序~ 端口号本质上是2个字节的无符号整数(0-65535)~ 服务器程序在启动的时候,需要绑定一个端口号,以便客户端程序来访问~【协议】 本质上就是约定发送方发出的数据是什么样的格式,接收方按什么样的格式解析~1)物理层协议【都是提前定义好的】 负责所有主机和网络设备之间都是相互匹配的,例如:网线、网卡与主机适配~2)数据链路层协议【都是提前
2022-07-02 14:59:15
464
原创 笔试强训---day2
1. 【private修饰的变量和方法,只能在本类中使用!】2. 【在继承关系中,由于父类有有参构造方法,所以子类必须含有有参super】 3.4.5. 读入一个字符串str,输出字符串str中的连续最长的数字串个测试输入包含1个测试用例,一个字符串str,长度不超过255。在一行内输出str中里连续最长的数字串。输入:abcd12345ed125ss123456789复制输出:123456789public class Demo01 { public static void ma
2022-06-29 17:51:57
74
原创 无头单向非循环链表实现
链表由结点组成~结点由value域【数据域】和next域【下一个结点的地址】组成~头节点:head//定义结点类class ListNode{ public int value;//定义结点的value域 public ListNode next;//定义结点的next域 public ListNode(int value){ this.value=value; }}//定义链表类public class MyLinkedList { //定
2022-06-28 20:36:20
75
原创 笔试强训---day1
一、选择题1.在 Java 中,存放字符串常量的对象属于( )类对象。A Character 【存放字符常量】B String 【存放固定长度的字符串】C StringBuffer 【存放可变长的字符串】D Vector 【存放集合】2.已知如下类定义:class Base {public Base (){//...}public Base ( int m ){//...}public void fun( int n ){//...}}p
2022-06-27 17:48:41
197
原创 线程池
2. 为什么从线程池中调用要比从系统内申请释放资源更快? 3. java标准库的线程池ThreadPoolExecutor 4. 简化版本的线程池Executors 本质上是 ThreadPoolExecutor 类的封装. 线程池的几种创建方式:1)创建出固定包含 若干个线程的线程池,返回值类型为 ExecutorService ExecutorService pool = Executors.newFixedThreadPool(10);2) 创建一个自动扩容的线程池,会根据任务
2022-06-23 17:40:31
69
原创 定时器
public class Demo02 { public static void main(String[] args) { Timer t = new Timer(); t.schedule(new TimerTask() { @Override public void run() { System.out.println("hello Timer");
2022-06-22 16:14:49
85
原创 线程安全(二)
加锁方式:使用关键字 synchronized1)给方法直接加上synchronized关键字,此时进入方法就会自动加锁,离开方法就会自动解锁2)当一个线程加锁成功的时候,若其他线程尝试加锁就会触发阻塞等待,此时线程就处于Blocked状态//通过锁synchronized使用两个线程对同一个变量,各自自增5W次class Counter1{ public int count; synchronized public void increase(){ count++;
2022-06-21 20:34:32
48
原创 实现线程安全单例模式
1. 单例模式【一种设计模式,只能有一个对象】设计模式:1)饿汉模式【只要程序用到了这个类,就会立即加载】类加载的同时创建唯一对象~优点:没有加锁,执行效率会提高缺点:类加载时就初始化,浪费内存class Singleton{ //在类加载时创建唯一对象 //在java程序中,一个类对象只存在一份,这样就保证了对象唯一,所以用static修饰 private static Singleton instance = new Singleton(); //为了保证后续不会
2022-06-21 20:33:47
165
原创 wait和notify
由于线程之间是抢占式执行的, 因此线程之间执行的先后顺序难以预知,而实际开发中有时候我们希望合理的协调多个线程之间的执行先后顺序~
2022-06-20 17:12:30
205
原创 线程不安全的原因
1. 线程是抢占式执行,线程间的调度充满了随机性~【根本原因】2. 多个线程对同一个变量进行修改操作~【通过调整代码结构,使得不同线程修改不同的变量】3.针对变量的操作不是原子(一步到位)的~ 【通过加锁,将多个操作打包成一个原子】4.内存可见性5. 指令重排序......
2022-06-17 17:18:26
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人