JAVA基础
以梦为马_zq
Write less, do more.
展开
-
这可能是你看过介绍Synchronized最全面的文章?
synchronized详解原创 2022-11-16 14:54:43 · 190 阅读 · 1 评论 -
@计算机网络基础知识
1.计算机网络基础知识1.OSI参考模型7个层次每个层级完成不同功能,相邻层次通过接口完后数据上下传递,相同的层次遵循相同的协议来交换协议数据单元。原创 2021-10-26 16:49:19 · 936 阅读 · 0 评论 -
@HashMap基础
1.Hash表简介当我们需要存储键值对,可以通过键值找到key值,这就需要用到Hash表这种高效的数据结构了。Hash表结合了数组和链表的优点,便于查找和增加删除。2.Hash实现1.首先Hash表底层存储结构是数组,数组中元素存储链表,我们可以定义链表中节点的数据结构,节点属性有key,value,和指向下一节点的指针。代码如下package comzq1024;/** * this()调用构造方法 * 不可以有重复的Value * 存null值 * 限制存的类型(泛型) * *原创 2021-10-26 16:32:36 · 69 阅读 · 0 评论 -
@设计模式基础
1.常见设计模式种类单例模式有以下几种:1.单例模式2.工厂模式2.常见设计模式的功能和实现我们知道了几种常见的设计模式,下面来了解每种单例模式具体的功能和实现。1.单例模式单例模式将构造方法设为私有,只能在类中实例化,被创建一次。常用来保护数据。单例模式分为饱汉式和饿汉式。1.饱汉式(1)构造方法为空(2)定义Singleton属性对象(3)如果Singleton对象为空,重新创建,返回对象优缺点:重新创建对象时,可能被多次创建造成线程安全问题2.饿汉式先创建Singleton原创 2021-10-14 20:07:50 · 72 阅读 · 0 评论 -
@生产消费模型@
1.何为生产消费模型项目中,需要生产对象放入仓库中,也需要从仓库中取出对象消费对象,对象的生产消费过程构成了生产消费模型。2.生产过程1.判断仓库容量,检测是否可以存放数据2.如果仓库已满,让生产者进入等待状态3.如果仓库没满,向仓库中添加数据,并通知消费者仓库中有数据示例:package com.zq1008;//生产消费模型//生产者线程public class Production extends Thread{ Ticket ticket; public原创 2021-10-08 17:11:03 · 134 阅读 · 1 评论 -
线程安全
1.什么是线程安全?多个线程竞争同一资源,可能导致数据错误。2.创建线程的两种方式1.(1)线程类实现runnable接口(2)创建线程类对象(3)thread(线程类对象).start()优点:一个线程可以启动多次,thread()参数可以为同一线程对象,属性方法可以唯一。2.(1)线程类继承Thread,(2)创建线程类对象(3)线程类对象调用start()方法缺点:一个线程只能启动一次,创建的线程对象的属性和方法不同,属性方法不唯一。3.解决线程安全的方法1.同步代码块syn原创 2021-10-06 17:14:24 · 103 阅读 · 0 评论 -
IO流基础
一.8大基本数据类型1.整型: byte(1字节 8位) short(2字节 16位) int(4字节 32位) long(8字节 64位)2.浮点型: float(4字节32位) double(8字节64位)3.字符型: char(2字节16位)4.布尔型: boolean(1字节8位)二.数据存储大小计算机用二进制补码存储,最高位表示符号位,0为正,1为负正数的补码 = 原码 = 反码负数的反码=符号位不变,其余取反 补码 = 反码 + 1十进制转二进制:除二取余,再逆序排列二原创 2021-10-02 18:31:43 · 167 阅读 · 0 评论 -
愤怒的小鸟开发过程
一.原创 2021-09-29 15:32:58 · 211 阅读 · 0 评论 -
JDBC基础
package com.zq0912;import utlity.JDBCUtil;import java.sql.*;public class maintest {public static void main(String[] args) throws SQLException {Connection connection = null;Statement st = null;ResultSet rs = null; try { //ctrl+windows+alt+t 跑一层原创 2021-09-26 16:09:47 · 79 阅读 · 0 评论 -
mysql基础
set names gbk; 改变cmd编码方式mysql -uroot -prootshow databases;use day02;show tables;select * from student;delete from table student where商品分类:1.分类的ID2.分类名称3.分类描述create table category(cid int primary key auto_increment,cname varchar(10),cdesc varc原创 2021-09-26 16:08:25 · 263 阅读 · 0 评论 -
@JAVA网络通信
一.网络基础知识1.IP地址原创 2021-09-22 17:57:57 · 120 阅读 · 0 评论 -
多线程基础
一.基础概念1.程序一段可执行的代码,并且拥有某些属性,可以实现某种功能.2.进程进程类似于程序,一个进程可以实现多个任务.3.线程线程类似于任务,函数,一个进程由多个线程组成.4.并行多个线程同时运行,互不影响,它们之间是并行关系.5.并发即一段时间具有并行关系的多个线程执行的任务总数.二.创建线程过程1.创建thread子类继承thread类,重写run方法public class ThreadBall extends Thread{ //重写run方法:启动线程执行原创 2021-09-17 15:54:36 · 91 阅读 · 0 评论 -
数组列表
一.概念1.数组属性: 长度方法: object的方法简单 ,不好用int[] arr;// 声明的类型也需要确定arr=new int[100];// 一旦声明长度,内存空间分配就固定了arr[100]=10;// 操作存取都需要下标 数据具有极大的风险越界:操作 取 数组下标范围之外内容内存溢出: 内存不够了 – 栈 堆2.数组列表可以自动管理下标,自动扩容 ,排序 ,合并,增删查改,去重合并– MyList – 先写个接口 List接口 - List:方法:原创 2021-08-19 18:03:42 · 531 阅读 · 0 评论 -
链表列表
一.概念1.没有下标的概念2.非线性空间 ,零散空间都可以存储,非连续3.在内存中存储一个对象,存储这个对象的引用地址二.定义//节点类public class Node<E> { private Object val; //Object类型的变量 private Node next; public Node(Node next, Object val){ //构造函数初始化,传入一个节点的值和其指向下一节点的指针 this.next原创 2021-08-19 18:04:19 · 126 阅读 · 0 评论 -
排序 概述
一.常见排序种类冒泡排序,插入排序,选择排序,归并排序,希尔排序。二.排序原理及代码实现冒泡排序: //冒泡排序 public void bubblesort(int[] array){ for(int i = 0; i < array.length; i++){ boolean flag = true; for(int j = array.length-1; j--){ if(array原创 2021-08-18 19:51:34 · 47 阅读 · 0 评论 -
五子棋开发过程
一.五子棋功能1.黑白轮流下棋 – 逻辑控制2.下棋的范围 – 限制,棋子不能被覆盖3.棋子最好下在网格中心4.悔棋5.悔棋双方计数功能6.判断输赢7.存读档8.录制回放9.AI下棋算法二.项目开发流程1.设计棋盘1.棋盘画在窗体上,15*15网格,绘制直线画出2.SIZE:网格间距大小,Row,Column行列值,X,Y左上角的坐标3.拖动窗体不会消失,在重绘函数中画出(继承JFrame 重写paint方法,窗体的paint方法 – 在窗体改变大小初始化时自动调用刷新publ原创 2021-08-13 16:37:49 · 930 阅读 · 0 评论 -
Equals 方法重写
package com.zq0804;import java.util.Objects;public class Test extends Object { int id; String name; int age; int phonenum; // Integer i; int[] array; Test test; public Test(int id, String name, int age, int phone原创 2021-08-04 18:44:26 · 64 阅读 · 0 评论 -
接口基础2
一.接口是什么?1.定义:接口是一系列方法的声明,只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的功能。2.语法结构public interface 接口名{;int num = 100;// 属性 : 默认static final 修饰// 由static 修饰的属性和方法不属于对象,可以由类名、接口名直接调用,具有唯一性,只属于类// 方法: 没有方法体public abstract void test();}// 只要一个结构体中原创 2021-08-01 16:30:40 · 93 阅读 · 0 评论 -
JAVA封装基础
一.封装的作用1.类的内部会有一些固定数据,创建对象,操作对象时可能会改变类的的属性(数据),为了保护类的属性,需要对类的属性进行封装。public class User{final int num=100;String name;int age;int id;}class MainClass{public static void main(String[] args) {User user1 = new User();user1.num=12; //错误 num为常量不可改变use原创 2021-07-30 16:42:01 · 147 阅读 · 1 评论 -
接口基础1
一.定义方法在这里插入代码片二.static和final的用法stacic关键字可以修饰静态属性,方法,成员类(内部内),代码块。特性:静态,唯一性,不属于对象,由类直接调用。final关键字可以修饰属性,方法,类。特性:最终形态不可变,final修饰的属性必须初始化,修饰的方法不能被重写,修饰的类不可被继承,不能有子类。三.抽象方法1.为什么需要抽象方法?类相对于对象是抽象的,类的方法是具体的,具有逻辑运算,类不是完全抽象的。接口的抽象方法进一步抽象。2.例子开关(锁)配置模式:原创 2021-07-01 17:48:27 · 88 阅读 · 0 评论 -
JAVA基础知识
一.JDK,JRE,JVM区别JDK:Java开发工具,包括Javac,java编译器,JRE,javap汇编,反汇编,jar.exe打包,javadoc.exe项目结构+注释导出为文档。JRE:Java运行环境 包括JVM,只包含java运行(启动虚拟机),写好的程序 可以与JRE一起打包 变成一个exe可执行程序。JVM:Java程序运行虚拟机,执行Java的字节码代码。一个程序执行会启动一个JVM,内存与其他程序的内存是隔离的。二. Java编译运行Java编译运行的流程:javac --.原创 2021-06-22 21:32:49 · 78 阅读 · 0 评论 -
继承基础
一.继承概念类与类之间的关系,体现在对象之间。二.为什么需要继承?对象有不同,也有相同。三.子类可以继承父类的哪些东西?子类可以继承父类所有的东西,访问权限修饰符只是限制使用的范围。四.继承的优点:子类对象可以自动转型为父类类型,提高代码复用。五.自动转型:可以解决定向类型,参数为父类类型,这个方法所可以接受的变量就是这个父类的对象以及父类所有子类的对象。六.方法重写子类可以重写父类的方法。格式:一般情况下除了方法体皆与父类一致。七.继承的结构public class Hero原创 2021-06-20 13:53:05 · 179 阅读 · 0 评论 -
面向对象基础
面向对象基础一.不同角度看向面向对象思维二.类的结构三.创建对象,具体在做什么四.对象,对象名,基本数据类型变量的区别一.不同角度看向面向对象思维1.面向对象和面向过程的区别:面向对象:一切以思维出发,模块化,以事物为本,人用面向过程:一种流程化的语言,上下文衔接紧密2.面向对象三大特性:1.类与对象 2.继承 3.接口二.类的结构1.类 class 代码对象:object 存在内存中,new代码执行过的结果2.类的结构:classpublic class ZhuQing {原创 2021-06-11 14:19:18 · 85 阅读 · 0 评论 -
异常基础
一.异常的种类异常按照错误的严重性,分为Errow和Exception.Error:程序在运行过程中所遇到的硬件或操作系统的错误,常见的错误有内存溢出,class文件无主函数,JVM虚拟机自身非正常运行.Error是系统内部错误,由JVM抛出,交给系统来处理,程序本身不解决.Exception:异常时是程序运行过程中,可以预料的意外情况.比如输入输出异常,空指针,数组下标越界,数据库连接中断,非法参数异常,缺少资源异常,算数异常,类未找到异常,文件未找到异常,未知类型异常.二.异常的分类EXCE原创 2021-09-29 19:25:18 · 917 阅读 · 0 评论