02 2022 档案
摘要:表单语法 表单元素格式 表单的应用 隐藏域 hidden 只读 readonly 禁用 disabled 表单初级验证 思考:为什么要进行表单验证 常用方式: placeholder 提示信息 required 非空判断 pattern 正则表达式 <!DOCTYPE html> <html lan
阅读全文
摘要:iframe内联框架 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>内联框架</title> </head> <body> <!--iframe内联框架 src:地址 w-h:宽度高度 --> <ifram
阅读全文
摘要:页面结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>页面结构分析</title> </head> <body> <header> <h2>网页头部</h2> </header> <section> <h
阅读全文
摘要:视频和音频 视频元素 video 音频元素 audio <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>媒体元素学习</title> </head> <body> <!--音频和视频 src:资源路径 con
阅读全文
摘要:表格 为什么使用表格 简单通用 结构稳定 基本结构 单元格 行 列 跨行 跨列 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格学习</title> </head> <body> <!--表格table
阅读全文
摘要:行内元素和块元素 块元素: 无论内容多长,该元素独占一行 行内元素: 内容撑开宽度,左右都是行内元素的可以在排在一行 (a .strong .em...) 列表 什么是列表 列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览者能更快更快捷地获得相应的信息 列
阅读全文
摘要:链接标签 文本超链接 图像超链接 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>链接标签学习</title> </head> <body> <a href="top">顶部</a> <!--a标签 href
阅读全文
摘要:图片标签 常见的图像格式 JPG GIF PNG BMP ... <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图像标签学习</title> </head> <body> <!--img学习 src:图片地
阅读全文
摘要:网页基本标签 标题标签 段落标签 换行标签 水平线标签 字体样式标签 注释和特殊符号 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基本标签学习</title> </head> <body> <!--标题标
阅读全文
摘要:HTML的基本结构 网页基本信息 DOCTYPE声明 <title>标签 <meta>标签 <!--DOCTYPE:告诉浏览器,我们要使用什么规范--> <!DOCTYPE html> <html lang="en"> <!--head标签代表网页头部--> <head> <!-- meta描述性标
阅读全文
摘要:什么是HTML? HTML Hyper Text Markup Language(超文本标记语言) HTML发展史 HTML5的优势 世界知名浏览器厂商对HTML5的支持 微软 Google 苹果 Opera Mozilla 市场的需求 跨平台 W3C标准 W3C World Wide Web Co
阅读全文
摘要:反射操作注解 getAnnotations getAnnotation 练习:ORM 了解什么是ORM? Object relationship Mapping--> 对象关系映射 类和表结构对应 属性和字段对应 对象和记录对应 要求:利用注解和反射完成类和表结构的映射关系 package com.
阅读全文
摘要:反射操作泛型 Java采用泛型擦除的机制来引入泛型,Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换问题,但是,一旦编译完成,所有和泛型有关的类型全部擦除 为了通过反射操作这些类型,Java新增了ParameterizedType,GenericArrayType,
阅读全文
摘要:package com.hua.reflection; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; //分析性能问题 public class Test10 { //普通方式
阅读全文
摘要:动态创建对象 有了Class对象,能做什么? 创建类的对象:调用Class对象的newInstance()方法 1)类必须有一个无参数的构造器 2)类的构造器的访问权限需要足够 思考:难道没有无参的构造器就不能创建对象了吗?只要在操作的时候明确的调用类中的构造器,并将参数传递出去之后,才可以实例化操
阅读全文
摘要:类运行时的对象 获取运行时类的完整结构 通过反射获取运行时类的完整结构 Field、Method、Constructor、Superclass、Interface、Annotation 实现的全部接口 所继承的父类 全部的构造器 全部的方法 全部的Field 注解 ... package com.h
阅读全文
摘要:类加载器 类加载器的作用 类加载的作用:将Class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口。 类缓存:标准的JavaSE类加载器可以按要求查找类,但一旦某个类被加载到类加
阅读全文
摘要:类初始化分析 什么时候会发生类初始化? 类的主动引用(一定会发生类的初始化) 当虚拟机启动,先初始化main方法所在的类 new一个类的对象 调用类的静态成员(除了final常量)和静态方法 使用java.lang.reflect包的方法对类进行反射调用 当初始化一个类,如果其父类没有被初始化,则会
阅读全文
摘要:Java内存分析 了解:类的加载过程 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来对该类进行初始化 类的加载与ClassLoader的理解 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.
阅读全文
摘要:Class类 在Object类中定义了以下的方法,此方法将被所有子类继承 以上方法返回值的类型是一个Class类,此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射求出类的名称 对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口
阅读全文
摘要:静态vs动态语言 动态语言 是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构 主要动态语言:Object-C、C#、JavaScript、PHP、Python等 静态语言 与动态
阅读全文
摘要:自定义注解 使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口 分析: @interface用来声明一个注解,格式:public@interface注解名{定义内容} 其中的每一个方法实际上是声明了一个配置参数 方法的名称就是参数的名称
阅读全文
摘要:元注解 元注解的作用就是负责注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型作说明 这些类型和它们所支持的类在java.lang.annotation包中可以找到.(@Target,@Retention,@Documented,@
阅读全文
摘要:内置注解 @Override:定义在java.lang.Override中,此注释只适用于修辞方法,表示一个方法声明打算重写超类中的另一个方法声明 @Deprecated:定义在java.lang.Deprecated中,此注释可以用于修辞方法,属性,类,表示不鼓励程序员使用这样的元素,通常是因为它
阅读全文
摘要:注解 什么是注解 Annotation是从JDK5.0开始引入的新技术 Annotation的作用: 不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别) 可以被其他程序(比如:编译器等)读取 Annotation的格式: 注解是以"@注释名"在代码中存在的,还可以添加一些参
阅读全文
摘要:package com.hua.demo3; import java.util.concurrent.*; public class ThreadNew { public static void main(String[] args) { new MyThread1().start(); new T
阅读全文
摘要:线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以 避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具 好处: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池
阅读全文
摘要:线程协作 线程通信 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等
阅读全文
摘要:Lock(锁) 从JDK5.0开始,java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步,同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock
阅读全文
摘要:死锁 多个线程各自占用一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有"两个以上对象的锁"时,就可能会发生"死锁"的问题 package com.hua.lock; //死锁:多个线程互相抱着对方需要的资源,然后
阅读全文
摘要:CopyOnWriteArrayList package com.hua.syn; import java.util.concurrent.CopyOnWriteArrayList; //测试JUC安全类型的集合 public class TestJUC { public static void m
阅读全文
摘要:同步方法 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法: synchronized方法和synchronized块 synchronized方法控制对"对象"的访问,每个对象对应一把锁
阅读全文
摘要:线程同步 并发:同一个对象被多个线程同时操作 现实生活中,我们会遇到"同一个资源,多个人都想使用"的问题,比如食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个一个来 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步, 线程同步其实就是一种
阅读全文
摘要:守护(daemon)线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如,后台记录操作日志,监控内存,垃圾回收等待 package com.hua.state; //测试守护线程 //上帝守护你 public class TestDaemon { pu
阅读全文
摘要:线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY = 1; Thread.MAX_PRIORITY = 10; Thread.NORM_PRI
阅读全文
摘要:线程状态观测 Thread.State 一个线程可以在给定时间点处于一个状态。这些状态是不反映任何操作系统线程状态的虚拟状态 package com.hua.demo; //观察测试线程的状态 public class TestState { public static void main(Stri
阅读全文
摘要:线程礼让 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看cpu心情! package com.hua.demo; //测试礼让 //礼让不一定成功,看cpu心情 public class TestYield { public stat
阅读全文
摘要:线程休眠 sleep(时间)指定当前线程阻塞的毫秒数 sleep存在异常InteruptedException sleep时间达到后线程进入就绪状态 sleep可以模拟网络延时,倒计时等 每一个对象都有一个锁,sleep不会释放锁! package com.hua.demo; //模拟网络延时:放大
阅读全文
摘要:线程状态 线程方法 停止线程 package com.hua.demo; //线程状态 //测试stop //1、建议线程正常停止 > 利用次数,不建议死循环 //2、建议使用标志位 > 设置一个标志位 //3、不要使用stop或者destroy等过时或者JDK不建议使用的方法 public cla
阅读全文
摘要:Lamda表达式 希腊字母表中排序第十一位的字母,英语名称为Lambda 避免匿名内部类定义过多 其实质属于函数式编程的概念 为什么要使用lambda表达式 避免匿名内部类定义过多 可以让你的代码看起来很简洁 去掉了一堆没有意义的代码,只留下核心的逻辑 也许你会说,我看了Lambda表达式,不但不觉
阅读全文
摘要:线程创建 三种创建方式 Thread //创建线程方式一:继承Thread类,重写run()方法,调用start开启线程 //总结:注意,线程开启不一定立即执行,由CPU调度执行 public class TestThread1 extends Thread{ @Override public vo
阅读全文
摘要:线程简介 多任务 现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只做了一件事情 多线程 原来是一条路,慢慢因为车太多了,道路堵塞,效率极低。为了提高使用的效率,能够充分利用道路,于是加了多个车道。从此,再也不用担心道路堵塞了 普通方法调用和多线程 程
阅读全文
摘要:URL https://www.baidu.com/ 统一资源定位符:定位资源的,定位互联网上的某一个资源 DNS域名解析 www.baidu.com -> xxxx.xxxx.xxxx.xxxx 协议: //ip地址:端口/项目名/资源 package com.hua; import java.n
阅读全文
摘要:UDP 发短信:不用连接,需要知道对方的地址! 发送端 package com.hua; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.
阅读全文
摘要:TCP 客户端 1.连接服务器Socket 2.发送消息 package com.hua; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.*;
阅读全文
摘要:通信协议 协议:约定,就好比我们现在说的是普通话 网络通信协议:速率,传输码率,代码结构,传输控制...... 问题:非常的复杂? 大事化小:分层! TCP/IP协议簇,实际上是一组协议 重要: TCP:用户传输协议 UDP:用户数据报协议 出名的协议: TCP:用户传输协议 IP :用户互连协议
阅读全文
摘要:端口 端口表示计算机上的一个程序的进程: 不同的进程有不同的端口号!用来区分软件! 被规定0~65535 TCP,UDP:65535*2 tcp:80,udp:80,单个协议下,端口号不能冲突 端口分类 公有端口 0~1023 HTTP:80 HTTPS:443 FTP:21 Telent:23 程
阅读全文
摘要:IP IP地址:InetAddress 唯一定位一台网络计算机 127.0.0.1:本机localhost ip地址的分类: ipv4/ipv6 IPV4127.0.0.1 ,4个字节组成,0~255,42亿~:30亿都在北美,亚洲4亿,2011年就用尽 IPV6128位,8个无符号整数!abcde
阅读全文
摘要:网络通信的要素 如何实现网络的通信 通信双方地址 ip 端口号 192.168.16.124:5900 规则:网络通信的协议 TCP/IP参考模型: 小结: 1、网络编程中有两个主要的问题 如何准确的定位到网络上的一台或者多台主机 找到主机之后如何进行通信 2、网络编程中的要素 IP和端口号 IP
阅读全文
摘要:网络编程 1.1、概述 地球村:你在杭州,你一个美国的朋友! 计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程的目的: 无线电台 传播交流信
阅读全文