自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 vue建项目

pinia持久化插件:npm i pinia-plugin-persistedstate。而且,component下面的文件也变成可以直接用了,不用use啥的。vscode里改点东西,首先vetur禁用,这个是vue2的,下volar。再 npx husky-init && npm install 安装。新建文件夹styles / element / index.scss。在.eslintrc.cjs里配。富文本编辑器 VueQuill。定制elemenrplus颜色。在vite里也要配一下。

2023-10-09 12:52:49 149

原创 计算题002

求输入的3个数的最大值; 输入圆的半径求面积和周长; 打印金字塔,空心金字塔,倒金字塔; 打印九九乘法表; 打印倒正金字塔直线。

2022-10-17 13:29:54 303 1

原创 计算题001

输入一个数,判断这个数时奇数还是偶数。奇数时输出1+1/3+...+1/n的值,为偶数输出1/2+1/4+...+1/n的值。

2022-10-16 23:49:29 63

原创 2021-11-28

网络编程 计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 javaWeb:网页编程 B/S架构 网络编程:TCP/IP C/S架构 网络编程的目的 无线电台。。。传播交流信息,数据交换。。通信 想要达到这个效果需要什么: 如何准确的定位网络上的一台主机 (通过介个:192.168.12.123:端口) 定位到这个计算机上的某个资源 找到了这个主机,如何传输数据呢? 网络通信的要

2021-11-28 18:35:19 131

原创 2021-10-31

注解与反射 注解 什么是注解 Annotation是从JDK5.0开始引入的新技术。 Annotation的作用: 不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别) 可以被其他程序(如:编译器等)读取。 Annotation的格式: 注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如@SuppressWarnings(value = “unchecked”)。 Annotation在哪里使用? 可以附加在Package,class,method,fi

2021-10-31 18:41:05 89

原创 2021-10-05

注解 什么是注解 Annotation是从JDK5.0开始引入的新技术。 Annotation的作用: 不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别) 可以被其他程序(如:编译器等)读取。 Annotation的格式: 注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如@SuppressWarnings(value = “unchecked”)。 Annotation在哪里使用? 可以附加在Package,class,method,field等上面

2021-10-05 14:56:03 48

原创 2021-10-01

线程协作 Java提供了几个方法解决线程之间的通信问题 wait() wait(long timeout) notify() notifyAll() 解决方式一 并发协作模型“生产者/消费者模式”—>管程法 生产者:负责生产数据的模块(可能是方法,对象,线程,进程) 消费者:负责处理数据的模块(可能是方法,对象,线程,进程) 缓冲区:消费者不能直接使用生产者的数据,他们之间有个"缓冲区",生产者将生产好的数据放入缓冲区,消费者从缓冲区中拿出数据 package com.jia.gaoji;

2021-10-01 19:37:27 54

原创 2021-09-29

线程同步机制 并发:同一个对象被多个线程同时操作。 存在问题 同一进程的多个线程共享同一块储存空间,为了保证数据在方法中呗访问时的正确性,在访问时加入锁机制synchronized,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。但是存在以下问题: 一个线程持有锁会导致其他所有需要此锁的线程挂起。 在多线程竞争下,加锁,释放锁会导致比较多的上下切换和调度延时,引起性能问题; 如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能问题。

2021-09-29 20:07:19 106

原创 2021-09-23

线程的优先级 Java提供了一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~~~10 Thread.MIN_PRIORITY = 1; Thread.max_PRIORITY = 10; Thread.NORM_PRIORITY = 5; 使用以下方式改变或获取优先级 get Priority().set Priority(int xxx) 优先级的设定建议在start()调度之前。 优先

2021-09-23 21:40:29 43

原创 2021-09-17

线程状态 停止线程 不建议使用JDK提供的stop()、destroy()方法 推荐线程自己停下来 建议使用一个标志位进行终止变量 package com.jia.state; //测试stop //1.建议线程正常停止--->利用次数,不建议死循环 //2.建议使用标志位--->设置一个标志位 //3.不要使用stop或者destroy等过时或者JDK不建议使用的方法 public class TestStop implements Runnable { //1.设置一个标志位

2021-09-17 23:39:05 49

原创 2021-09-11

Lambda表达式 什么是lambda表达式 希腊字母表中排序第十一为的字母,英语名称为Lambda。 避免匿名内部类定义过多。 其实质属于函数式编程的概念 ​ (params) -> expression[表达式] ​ (params) -> statement[语句] ​ (params) -> {statements} ​ a -> System.out.println(“i like lambda–>”+a)

2021-09-11 20:39:14 43

原创 2021-09-11

静态代理模式 package proxystatid; //静态代理模式总结 //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角色 //好处: //代理对象可以做很多真实对象做不了的事情 //真实对象专注做自己的事情 public class StaticProxy { public static void main(String[] args) { You you = new You();//你要结婚 new Thread((

2021-09-11 20:38:05 76

原创 2021-09-10

多线程小解 简介 进程:在操作系统中运行的程序,如IDE、QQ、游戏等。 线程:一个进程可以有多个线程,如视频中同时听到声音,看到图像,看弹幕等等。 Process和Thread 说起进程,就不得不说下程序。程序事指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。 注意: 很多线程是模拟出来的,

2021-09-10 20:32:43 80

原创 2021-08-22

贪吃蛇 package com.jia.snake; import javax.swing.*; //游戏的主启动类 public class StartGame { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setVisible(true); frame.setBounds(100,100,900,700); frame

2021-08-22 23:02:49 42

原创 2021-08-22

Swing之JFrame窗体 JFrame窗口 JFrame是顶级窗口。 package com.jia.lesson04; import javax.swing.*; import java.awt.*; public class JFrameDemo { //顶级窗口 //init();初始化 public void init(){ JFrame jf = new JFrame("这是一个JFrame窗口哦"); jf.setVisible(t

2021-08-22 23:01:15 77

原创 2021-08-16

事件监听 事件监听就是,当某个事件发生的时候,要干什么。 代码 package com.jia.lesson02; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class TestActionEvent {

2021-08-16 21:12:24 39

原创 2021-08-10

GUI编程 简介 核心技术 GUI的核心技术有:Swing、AWT 为啥不用了? 界面不够漂亮。 需要jre环境,好多人懒得装这个。 为啥要学? 可以写出一些自己想要的小工具。 在你维护swing界面的时候用得到。 以此了解MVC架构,了解监听。 可以自己搞外挂、破解工具等。 组件 弹窗、窗口、面板、文本框、列表框、按钮、图片、监听事件、鼠标事件、键盘事件等。 AWT 介绍 AWT是抽象的窗口工具。 包含许多的类和接口! (GUI:图形用户界面) 元素:窗口,按钮,文本框。 文件:java.aw

2021-08-10 23:18:46 45

原创 2021-08-07

自定义异常 如何自定义异常 方法 使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需要继承Exception类即可。 大致步骤 创建自定义异常类。 在方法中通过throw关键字抛出异常对象。 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。 在出现异常方法的调用者中捕获并处理异常。 代码 package com.exce

2021-08-07 21:53:07 46

原创 2021-08-05

异常处理机制 关键字 有五个:try、catch、finally、throw、throws 代码 package com.exception; public class Test { public static void main(String[] args) { int a = 1; int b = 0; //假设要捕获多个异常:要从小到大! try{//try 监控区域 if(b==0){// thro

2021-08-05 18:14:45 54

原创 2021-08-03

异常机制 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入的不符合你的要求;你的程序要打开的某个文件,但是这个文件不存在或文件格式不对;你要读取程序的数据,数据可能是空的;我们的程序跑着跑着,内存或硬盘可能满了。等等。 软件程序在运行过程中,非常可能遇到上面的异常问题,我们称之为异常,英文是:Exception,意思是例外。这些例外情况,或则叫异常,怎么让我们写的程序做出合理的处理,而不至于程序崩溃。 异常指程序运行中出现的各种状况,如:文件找不到,网络连接失败,非法参数

2021-08-03 20:59:19 42

原创 2021-08-02

抽象类 解析 abstract修饰符可以用来修饰方法也可以修饰类。如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。 抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。 子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类(子中子)。 代码 package com.oop.demo08; //abstract 抽

2021-08-02 21:56:06 35

原创 2021-07-28

static关键字 本片要点 静态变量最好用类来调用 静态变量对于类,所有对象(实例)所共享,当直接使用类去调用得到说明这个变量是静态的。 加了static就是从属于这个类,其他人用不了,只有本类能用。 static修饰的含义隶属于类,而不是对象,是一个公共的存储内存空间。 有final的方法不可被继承。 (—。—)断子绝孙 常量修饰符 代码 package com.oop.demo07; //static : public class Student { private static int

2021-07-28 22:06:16 59

原创 2021-07-22

封装 要义 该展示的展示,该隐藏的隐藏。 设计程序的时候要追求“高内聚,低耦合”。高内聚指的是:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 重点 属性私有,get/set 代码 package com.oop; import com.oop.demo04.Student; /* 1. 提高程序的安全性,保护数据 2. 隐藏代码的实现细节 3. 统一接口 4.

2021-07-22 21:26:50 83

原创 2021-07-19

创建对象内存分析 首先在堆里的方法区里生成方法,再传递到栈里再在堆里获取方法区里的常量池里的数据。 类与对象小结 /* 1. 类与对象 类是一个模板,对象是一个具体的实例 2. 方法 定义、调用! 3. 对应的引用 引用类型: 基本类型(8) 对象是通过引用来1操作的:栈--->堆(地址) 4. 属性: 字段Fiel

2021-07-19 10:48:42 26

原创 2021-07-14

类与对象 类与对象的关系 类 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是不能代表某一个具体的事物。 解释 动物、植物、电子产品。 person类、pet类、car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为。 对象 对象是抽象概念的具体实例 解释 张三就是一个具体实例,张三家里的大黄就是狗的一个具体实例。 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。 创建与初始化对象 使用new关键字创建对象。 使用new关键字创建的时候,除了分配内存空间之外,还会

2021-07-14 13:31:26 27

原创 2021-07-13

面向对象编程(oop) 什么是面向对象 面向对象编程(Object-Oriented Programming,OOP)。 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。 是抽象 三大特性 封装 继承 多态 面向过程&面向对象 面向过程思想 步骤清晰简单,第一步要做什么,第二步要做什么…。 面向过程适合处理一些比较简单的问题。 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向

2021-07-13 18:35:51 38

原创 2021-07-12

数组使用 For-Each循环 package com.jia.Array; public class ArrayDemo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印全部的数组元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arr

2021-07-12 21:07:21 33

原创 2021-07-12

数组 数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。 数组的声明和创建 首先,必须声明数组变量,才能在程序中使用数组。 声明数组变量的语法 dataType[] arrayRefVar;//首选的方法 dataType arrayRefVar[];//效果与上面的一样,但不是首选方法 创建数组的语法 Java语言使用new操作符来创建数组,语法如下: dataType

2021-07-12 00:30:09 92

原创 2021-07-10

命令行传递参数 解释 当你希望运行一个程序时再传递给他消息。要靠传递命令行参数给main()函数实现。 package com.jia.method; public class Demo03 { public static void main(String[] args) { //arg.Length 数组长度 for (int i = 0; i < args.length; i++) { System.out.println("ar

2021-07-10 20:18:52 36

原创 2021-07-08

Java方法 什么是方法 方法在java哪里? System.out.println() 其中System是“类”,out是“对象”,println()是“方法” 解释 Java方法是语句的集合,它们在一起执行一个一个功能。 方法是解决一类问题的步骤的有序组合。 方法包含于类或对象中。 方法在程序中被创建,在其他地方被引用。 设计方法的原则 方法的本意是功能块,就是实现某个功能的语句块的集合。在设计方法的时候,最好保持方法的原子性,即一个方法只完成一个功能,这样有利于我们后期的扩展。 例子 packag

2021-07-08 20:46:47 29

原创 2021-07-08

Break、Continue和goto Break 解释 Break在任何循环语句的主体部分,均可用break控制循环的流程。(在switch语句里也使用了break语句) 用于强行退出循环,不执行循环中剩余的语句了,但是会继续执行循环外的。 例子 package com.jia.struct; public class BreakDemo { public static void main(String[] args) { int i = 0; while (

2021-07-08 00:02:25 31

原创 2021-06-14

语法 顺序结构 java的基本结构,最简单的算法结构,任何一个算法都离不开的一种基本算法结构。 选择结构 if单循环结构 if(布尔表达式){//如果布尔表达式为true将执行的语句} if双选择结构 if(布尔表达式){//如果布尔表达式为true将执行的语句}else{//如果布尔表达式为假将执行的语句} if多选择结构 if(){}else if(){}else if(){}else 记得结束scanner语句:Scanner.close() 嵌套的if结构 Switch多选择结构 switch

2021-06-14 23:19:58 1093 1

原创 2021-5-29

用户交互Scanner 用java.util.scanner来获取用户的输入 next() nextline() 推荐使用 例子: //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if (scanner.hasNext()){ //使用

2021-05-29 17:34:45 29

原创 2021-5-27

包机制 包的本质就是文件夹,是用于区别类名的命名空间 包语句的格式为: package pkg[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名:如www.baidu.com com.baidu.www 导包:可以用"import"语句来进行 import package1[.package2...].(classname|*); package 一定是在最前面 *可以导这个包的所有类 包内名字被重复 JavaDoc 就是用来生成自己API文档的 参数信息:

2021-05-27 21:23:11 67 1

原创 2021-05-20

基本运算符 算数运算符 + 相加 - 相减 * 相乘 / 相除 % 余数 ++ 自加 -- 自减 赋值运算符 = 赋值 关系运算符 > 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于 逻辑运算符 && 且 || 或 ! 非 位运算符 条件运算符 扩展赋值运算符 其他 ctrl+D 复制当前一行到下一行 幂运算: //幂运算 2^3 2*2*.

2021-05-20 23:02:09 142

原创 2021-05-15

变量、常量(final) 变量 变量就是可以变化的量 java是强类型语言,每个变量都必须声明类型 java变量是程序 //int a,b,c; //int a=1,b=2,c=3; 不建议这样,建议一行只声名一个变量 char d = 'A'; 三种变量 类变量 加 static 例如: ststic int allClicks=0; 局部变量 在一个语句里面定下的变量 必须声名和初始化值 public class D...

2021-05-15 18:55:14 39

原创 2021-05-07

类型转换 强制转换 方法:(类型)变量名 数据类型是由高到低 自动转换 数据由低到高变换 int i = 128; byte b= (byte)i;//强制转换:(类型)变量名 高到低 //自动转换 由低到高 例如 double b=i; 无需声名变量类型 System.out.println(i); System.out.println(b); 注意 不能对布尔值进行转换 不能把对象类型...

2021-05-07 23:09:46 35

原创 2021-05-07

数据类型扩展 整数拓展 进制:二进制用0b开头、八进制0开头、十六进制0x开头 十六进制 0~A~F 16 浮点数拓展 float和double两个数看着一样但是不一样 float f =0.1f;//0.1 double d=1.0/10;//0.1 System.out.println(f==d);//false float d1 = 2323223232322f; float d2 = d1+1; System.out.println(d1==d2);//ture //flo

2021-05-07 22:19:09 33

原创 2021-05-05

数据类型 强类型语言 变量使用要严格符合规定 弱类型语言 不搞出事随便用 数据类型有两种 基本类型 八大基本数据类型 int num1 = 10;//最常用 byte num2 = 20; short num3 = 30; long num4 = 30L;//Long类型要在数字后面加一个L ​ //小数:浮点数 float num5 = 50.1F;//float类型要在数字后面加个F do...

2021-05-05 23:03:46 29

原创 2021-05-03

标识符 关键字 有挺多的,懒得去找,自己去网上搜索吧 注意点 开头用字母(大小写都可以)、美元符号($)、下划线(_) 开头后面随意,字母、美元符号、下划线、数字或其它字符都可以 大小些一定要分清楚 注释 分类 单行注释 //单行注释 多行注释 /* 多行注释 */ 文档注释 /** 文档注释 */ 注意 注释不 ...

2021-05-03 22:00:26 24

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除