Java
文章平均质量分 72
zxh1996
一个不断前进的小白
展开
-
HTML 5入门基础
1.初识HTMLHTML:Hyper Text Markup Language(超文本标记语言)超文本:文字,图片,音频 ,视频,动画等W3C(万维网联盟,国际中立性技术标准机构)标准:结构化标准语言(HTML,XML)表现标准语言(CSS)行为标准(DOM,ECMAScript)HTML基本结构注释:IDEA快捷键 “Ctrl" + “/”, ** tab键:输入h1,p等,按住tab键,即可快速生成相应标签***<!-- DOCTYPE: 告诉浏览器原创 2021-11-09 08:34:17 · 294 阅读 · 0 评论 -
Java设计模式一:单例设计模式
实现单例(Singleton)模式题目:设计一个类,只能生成该类的一个实例背景:面试中很多公司喜欢问一些设计模式相关问题。常用模式中,Singleton是唯一一个用几十行代码能完整实现的模式。因此,写一个Singleton的类型很常见。知识:单例模式特点:单例类只能有一个实例单例类必须自己创建自己的唯一实例单例类必须给所有其他对象提供这一实例。单例模式保证了全局对象的唯一性,避免状态不一致。线程安全问题:在获取单例的时候,保证不能产生多个实例对象。同时,注意单例对象内的实例变量是会被多线原创 2021-08-04 22:28:12 · 113 阅读 · 0 评论 -
JVM探究(二):堆和垃圾回收,GC四种算法,JMM
9 堆Heap, 一个JVM只有一个堆内存,堆内存大小可调节.默认情况下:分配的总内存是电脑内存的1/4,初始化的内存:1/64堆内存分为三个区域:新生区(伊甸园区)(Young/New)养老区(Old)永久区(Perm)GC垃圾回收,主要是在伊甸园区(轻GC)和养老区(重GC).幸存0区和幸存1区是动态交换的,经过1次或者多次GC仍存活的对象,进入幸存区.超过次数阈值后,进入养老区,养老区内对象一般不会被回收.内存满了(OOM),堆内存不够,严重错误.99%的对象都是临时对象.出现O原创 2021-07-28 23:49:13 · 355 阅读 · 0 评论 -
JVM探究(一):体系结构,沙箱,双亲委派,栈
1. JVM 位置JDK>JRE>JVM ---->都与OS打交道JDK(java development kit0 是Java开发工具包,包括了Java运行环境JRE,Java 工具和 Java 基础类库。JRE(Java runtime environment)为java 的运行环境,包括JVM和Java核心类库。JVM(Java virtual machine)即Java虚拟机,整个java 实现跨平台的的最核心部分。所有java 程序首先被编译成java.class字节码原创 2021-07-28 23:44:22 · 108 阅读 · 0 评论 -
Java注解和反射
Java注解和反射1.注解注解(Annotation)从JDK5.0引入,不是程序本身,可以对程序作出解释(和注释(comment)一样),但可以被其他程序(如编译器)读取Annotation格式:"@注释名",可以添加一些参数值使用:可以附加在package,class,method,field等上面,相当于添加额外的辅助信息,通过反射机制编程实现对这些元数据的访问。1.1 内置注解@override: 定义在java.lang.Override中,只适用修辞方法,表示该方法重写超类中原创 2021-07-24 23:56:51 · 137 阅读 · 1 评论 -
java IO流(一)文件, InputStream,OutputStream,Reader,Writer
JAVA IO流(一)(一) 文件1.概念文件就是保存数据的地方文件流文件在程序中是以流的形式来操作的。java程序(内存) <--------> 文件(磁盘)输入,输出是针对 内存而言的流:数据在数据源(文件)和程序(内存)之间经历的路径输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径2.常用文件操作创建文件对象的相关构造器和方法(常用)new File(String pathname) //根据路径原创 2021-07-20 14:38:18 · 232 阅读 · 0 评论 -
Java多线程(三):线程通信(生产者/消费者)
java多线程(三)线程通信:生产者/消费者场景:两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。分析:对于生产者,没有生产产品前,要通知消费者等待,生产产品后,通知消费者消费。对于消费者,消费后,通知生产者生产新的产品消费。java提供的解决线程通信问题的原创 2021-07-19 16:22:34 · 182 阅读 · 3 评论 -
Java多线程:线程优先级,同步,死锁
Java多线程(二)1.线程优先级java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行线程的优先级数字表示范围:1~10Thread.MIN_PRIORITY = 1;Thread.MAX_PRIORITY = 10;Thread.NORM_PRIORITY = 5;获取优先级:getPriority(); 改变优先级:setPriority(int xxx);优先级低表示被CPU调度的概率低,无法保证优先级高一定先执行原创 2021-07-19 11:13:38 · 349 阅读 · 2 评论 -
Java多线程(一)
Java 多线程(一)程序(静态)–进程(动态)–线程(CPU调度和执行的单位)程序运行时,自己没有创建线程,后台也会有多个线程,如主线程,垃圾挥手进程一个进程中,开辟了多个线程,线程的运行由调度器(与OS相关)安排调度,顺序不能人为干预对同一资源操作时,存在资源抢夺问题,需要加入并发控制线程会带来额外开销(调度等)进程创建三种方式:继承Thread类(重点),实现Runnable接口(重点),实现Callable接口(初级阶段只需了解)Thread自定义线程类继承 Thread 类原创 2021-07-17 22:41:19 · 42 阅读 · 0 评论 -
java 网络编程
网络编程计算机网络:将地理位置不同的具有独立功能的多台计算计算及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:数据交换,通信需要解决的问题:如何准确定位网络上的一台主机和这台主机的某个资源(ip + 端口号)找到主机后,如何传输数据?(网络通信协议(主要TCP,UDP))1.1网络通信要素IP类:InetAddress本机ip(localhost):127.0.0.1ip地址分原创 2021-07-14 22:45:19 · 48 阅读 · 1 评论 -
面向对象(二):抽象类,内部类,接口,异常
Java面向对象(二)抽象类abstract 修饰的方法和类为抽象类和抽象方法抽象类可以没有抽象方法,有抽象方法的类必须声明为抽象类继承抽象类的子类必须实现抽象类的方法抽象类不能使用new ,必须靠子类实现抽象类中可以有普通方法抽象类可以有构造方法,构造方法作用可以初始化变量,另一个是实例化变量。抽象类不能实例化,但可以初始化接口接口只有抽象方法的定义,定义一组规则。声明类的关键字:class.声明接口的关键字:interface接口中的所有方法都是抽象的,默认有public ab原创 2021-07-09 00:23:38 · 85 阅读 · 0 评论 -
面向对象:封装,继承,多态,static
面向对象(一)基本概念描述复杂事务,从宏观上整体分析,使用面向对象的思路分析整个系统。具体到微观操作,用面向过程(一步一步做)的思路去处理。面向对象编程的本质:以类的方式组织代码,以对象的组织(封装)数据面向对象三大特性:封装,继承,多态类是一种抽象的数据类型,对某一类事务的整体描述和定义,不能代表一个具体的事物。如Person,Car类。类里面只有成员变量(字段,Field)和方法。类实例化后会返回一个自己的对象对象是抽象概念的具体实例。比如张三是Person类的一个实例。使用n原创 2021-07-08 22:56:08 · 83 阅读 · 0 评论 -
java数组知识
java数组数组基本概念数组定义:相同类型数据的有序集合,通过下标访问数组中的数据元素,数组下标从0开始数组创建:必须先声明数组: int[] array = new int[arraySize]; //arraySize代表数组大小,数组一经声明,大小无法改变使用new操作符创建数组获取数组长度:array.length数组初始化:静态初始化(声明的时候直接赋值)int [] a = {1,2,3};Man[] mans = {new Man(1,1) , new Man(2原创 2021-07-04 22:28:41 · 54 阅读 · 0 评论 -
java方法重载和简单计算器
Java方法**方法重载:**一个类中,有相同的函数名称,但形参不同的函数重载规则:方法名称必须相同参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)返回类型可以相同可以不同public class MethodDemo { public static void main(String[] args) { int a = 1; int b = 2; int c = 3; //方法重载测试 int原创 2021-07-02 15:22:36 · 1460 阅读 · 1 评论 -
Java基础--流程控制
Java基础–流程控制Scanner 对象实现程序和人的交互,通过Scanner 类获取用户的输入。语法:导包 import java.util.Scanner基本语法:Scanner s = new Scanner(System.in);用法:通过Scanner 类的next() 和 nextLine() 方法获取输入的字符串,使用hasNext() 与 hasNextLine()判断是否还有输入的数据。public class ScannerDemo { public sta原创 2021-07-01 15:33:19 · 70 阅读 · 0 评论 -
Java基础知识
Java基础知识基本概念JDK(Java开发工具)> JRE (Java 运行环境) > JVM(Java虚拟机)Java为强类型语言,要求变量的使用必须先定义后使用Java基本数据类型(8种):基本类型:(整数型 byte_1,short_2,int_4,long_8),浮点型(float_4,double_8),字符类型(char_2),布尔型(boolean_1),引用类型:类,接口,数组(String 属于引用类型)整数表示: 二进制数字开头0b ,八进制 0,原创 2021-06-30 17:54:28 · 40 阅读 · 0 评论