- 博客(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
167
原创 2021-11-28
网络编程计算机网络计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。javaWeb:网页编程 B/S架构网络编程:TCP/IP C/S架构网络编程的目的无线电台。。。传播交流信息,数据交换。。通信想要达到这个效果需要什么:如何准确的定位网络上的一台主机 (通过介个:192.168.12.123:端口)定位到这个计算机上的某个资源找到了这个主机,如何传输数据呢?网络通信的要
2021-11-28 18:35:19
152
原创 2021-10-31
注解与反射注解什么是注解Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别)可以被其他程序(如:编译器等)读取。Annotation的格式:注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如@SuppressWarnings(value = “unchecked”)。Annotation在哪里使用?可以附加在Package,class,method,fi
2021-10-31 18:41:05
104
原创 2021-10-05
注解什么是注解Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释。(这一点和注释(comment)没什么区别)可以被其他程序(如:编译器等)读取。Annotation的格式:注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如@SuppressWarnings(value = “unchecked”)。Annotation在哪里使用?可以附加在Package,class,method,field等上面
2021-10-05 14:56:03
59
原创 2021-10-01
线程协作Java提供了几个方法解决线程之间的通信问题wait()wait(long timeout)notify()notifyAll()解决方式一并发协作模型“生产者/消费者模式”—>管程法生产者:负责生产数据的模块(可能是方法,对象,线程,进程)消费者:负责处理数据的模块(可能是方法,对象,线程,进程)缓冲区:消费者不能直接使用生产者的数据,他们之间有个"缓冲区",生产者将生产好的数据放入缓冲区,消费者从缓冲区中拿出数据package com.jia.gaoji;
2021-10-01 19:37:27
65
原创 2021-09-29
线程同步机制并发:同一个对象被多个线程同时操作。存在问题同一进程的多个线程共享同一块储存空间,为了保证数据在方法中呗访问时的正确性,在访问时加入锁机制synchronized,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。但是存在以下问题:一个线程持有锁会导致其他所有需要此锁的线程挂起。在多线程竞争下,加锁,释放锁会导致比较多的上下切换和调度延时,引起性能问题;如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能问题。
2021-09-29 20:07:19
126
原创 2021-09-23
线程的优先级Java提供了一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从1~~~10Thread.MIN_PRIORITY = 1;Thread.max_PRIORITY = 10;Thread.NORM_PRIORITY = 5;使用以下方式改变或获取优先级get Priority().set Priority(int xxx)优先级的设定建议在start()调度之前。优先
2021-09-23 21:40:29
54
原创 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
67
原创 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
55
原创 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
84
原创 2021-09-10
多线程小解简介进程:在操作系统中运行的程序,如IDE、QQ、游戏等。线程:一个进程可以有多个线程,如视频中同时听到声音,看到图像,看弹幕等等。Process和Thread说起进程,就不得不说下程序。程序事指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。注意:很多线程是模拟出来的,
2021-09-10 20:32:43
96
原创 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
52
原创 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
93
原创 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
53
原创 2021-08-10
GUI编程简介核心技术GUI的核心技术有:Swing、AWT为啥不用了?界面不够漂亮。需要jre环境,好多人懒得装这个。为啥要学?可以写出一些自己想要的小工具。在你维护swing界面的时候用得到。以此了解MVC架构,了解监听。可以自己搞外挂、破解工具等。组件弹窗、窗口、面板、文本框、列表框、按钮、图片、监听事件、鼠标事件、键盘事件等。AWT介绍AWT是抽象的窗口工具。包含许多的类和接口! (GUI:图形用户界面)元素:窗口,按钮,文本框。文件:java.aw
2021-08-10 23:18:46
58
原创 2021-08-07
自定义异常如何自定义异常方法使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需要继承Exception类即可。大致步骤创建自定义异常类。在方法中通过throw关键字抛出异常对象。如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。代码package com.exce
2021-08-07 21:53:07
58
原创 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
67
原创 2021-08-03
异常机制什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入的不符合你的要求;你的程序要打开的某个文件,但是这个文件不存在或文件格式不对;你要读取程序的数据,数据可能是空的;我们的程序跑着跑着,内存或硬盘可能满了。等等。软件程序在运行过程中,非常可能遇到上面的异常问题,我们称之为异常,英文是:Exception,意思是例外。这些例外情况,或则叫异常,怎么让我们写的程序做出合理的处理,而不至于程序崩溃。异常指程序运行中出现的各种状况,如:文件找不到,网络连接失败,非法参数
2021-08-03 20:59:19
53
原创 2021-08-02
抽象类解析abstract修饰符可以用来修饰方法也可以修饰类。如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类(子中子)。代码package com.oop.demo08;//abstract 抽
2021-08-02 21:56:06
44
原创 2021-07-28
static关键字本片要点静态变量最好用类来调用静态变量对于类,所有对象(实例)所共享,当直接使用类去调用得到说明这个变量是静态的。加了static就是从属于这个类,其他人用不了,只有本类能用。static修饰的含义隶属于类,而不是对象,是一个公共的存储内存空间。有final的方法不可被继承。 (—。—)断子绝孙 常量修饰符代码package com.oop.demo07;//static :public class Student { private static int
2021-07-28 22:06:16
74
原创 2021-07-22
封装要义该展示的展示,该隐藏的隐藏。设计程序的时候要追求“高内聚,低耦合”。高内聚指的是:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应该禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。重点属性私有,get/set代码package com.oop;import com.oop.demo04.Student;/*1. 提高程序的安全性,保护数据2. 隐藏代码的实现细节3. 统一接口4.
2021-07-22 21:26:50
92
原创 2021-07-19
创建对象内存分析首先在堆里的方法区里生成方法,再传递到栈里再在堆里获取方法区里的常量池里的数据。类与对象小结 /* 1. 类与对象 类是一个模板,对象是一个具体的实例 2. 方法 定义、调用! 3. 对应的引用 引用类型: 基本类型(8) 对象是通过引用来1操作的:栈--->堆(地址) 4. 属性: 字段Fiel
2021-07-19 10:48:42
37
原创 2021-07-14
类与对象类与对象的关系类类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是不能代表某一个具体的事物。解释动物、植物、电子产品。person类、pet类、car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为。对象对象是抽象概念的具体实例解释张三就是一个具体实例,张三家里的大黄就是狗的一个具体实例。能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。创建与初始化对象使用new关键字创建对象。使用new关键字创建的时候,除了分配内存空间之外,还会
2021-07-14 13:31:26
34
原创 2021-07-13
面向对象编程(oop)什么是面向对象面向对象编程(Object-Oriented Programming,OOP)。面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。是抽象三大特性封装继承多态面向过程&面向对象面向过程思想步骤清晰简单,第一步要做什么,第二步要做什么…。面向过程适合处理一些比较简单的问题。面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向
2021-07-13 18:35:51
49
原创 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
46
原创 2021-07-12
数组数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的声明和创建首先,必须声明数组变量,才能在程序中使用数组。声明数组变量的语法dataType[] arrayRefVar;//首选的方法dataType arrayRefVar[];//效果与上面的一样,但不是首选方法创建数组的语法Java语言使用new操作符来创建数组,语法如下:dataType
2021-07-12 00:30:09
101
原创 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
45
原创 2021-07-08
Java方法什么是方法方法在java哪里?System.out.println()其中System是“类”,out是“对象”,println()是“方法”解释Java方法是语句的集合,它们在一起执行一个一个功能。方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则方法的本意是功能块,就是实现某个功能的语句块的集合。在设计方法的时候,最好保持方法的原子性,即一个方法只完成一个功能,这样有利于我们后期的扩展。例子packag
2021-07-08 20:46:47
39
原创 2021-07-08
Break、Continue和gotoBreak解释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
40
原创 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
1119
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
39
原创 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
82
1
原创 2021-05-20
基本运算符算数运算符+相加-相减*相乘/相除%余数++自加--自减赋值运算符=赋值关系运算符>大于<小于>=大于等于<=小于等于==等于!=不等于逻辑运算符&&且||或!非位运算符条件运算符扩展赋值运算符其他 ctrl+D 复制当前一行到下一行 幂运算: //幂运算 2^3 2*2*.
2021-05-20 23:02:09
163
原创 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
49
原创 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
44
原创 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
42
原创 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
40
原创 2021-05-03
标识符关键字有挺多的,懒得去找,自己去网上搜索吧注意点 开头用字母(大小写都可以)、美元符号($)、下划线(_) 开头后面随意,字母、美元符号、下划线、数字或其它字符都可以 大小些一定要分清楚 注释分类单行注释//单行注释多行注释/* 多行注释 */文档注释/** 文档注释 */注意注释不...
2021-05-03 22:00:26
34
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人