- 博客(53)
- 收藏
- 关注
原创 【EA问题】this feature is disabled in the re-distributable version of Enterprise Architect
在使用EA(EnterPrise Architect)过程中,打开项目文件可以查看,但是不能进行操作,并提示“this feature is disabled in the re-distributable version of Enterprise Architect”错误。解决:其实就是版本权限问题,我下载的是免费的版本,后来换版本就行。至于版本怎么搞到,可以咨询组内领导,或者可以用破解版就用破解版。
2022-11-09 16:28:58 314 1
原创 Linux上传文件时文件名自动加引号问题
上传文件到Linux系统中时,如果文件名有空格,系统会自动将其用引号包裹起来以保证这个文件名字符串是一个整体(否则会以空格为间隔将字符串分隔成不同的字符串,显然要避免这个情况)发现文件名被自动用引号包裹起来了,这时文件正真的名字是带引号的,如果直接用不带引号的原文件名查找是找不到的。...
2022-08-15 14:47:10 8309
原创 Java多线程String做锁的测试
尽量不要使用synchronized(Stringa)因为JVM中,字符串常量池具有缓存功能;如果非要用,则需要注意做好对象区分。
2022-07-26 10:52:48 315
原创 瑞吉外卖项目-2:项目优化
项目简介:该项目是一个面向餐饮企业的在线点餐平台,包括管理后台和前端应用两部分。管理后台供企业使用,主要功能有员工管理、分类管理、套餐管理、菜品管理、订单管理等;前端供消费者使用,消费者可以通过手机号或微信注册登录,主要功能有在线浏览菜品、添加购物车、下单、查看个人中心。技术栈:SpringBoot + Swagger + MySQL + MyBatisPlus + Redis + Vue......
2022-06-07 19:09:00 508
原创 瑞吉外卖项目-1:项目搭建
项目简介:该项目是一个面向餐饮企业的在线点餐平台,包括管理后台和前端应用两部分。管理后台供企业使用,主要功能有员工管理、分类管理、套餐管理、菜品管理、订单管理等;前端供消费者使用,消费者可以通过手机号或微信注册登录,主要功能有在线浏览菜品、添加购物车、下单、查看个人中心。技术栈:SpringBoot + Swagger + MySQL + MyBatisPlus + Redis + Vue.........
2022-06-07 19:05:20 1154
原创 Java常用类
Math在java.lang包下面,说明直接使用,不用导包package java.lang;final修饰类,这个类(Math)不能被继承public final class Math {}构造器私有化,不能创建Math类的对象private Math() {} //Don't let anyone instantiate this class.Math math = new Math(); //无法执行Math内部的所有的属性,方法都被static修饰:类名.直接调
2022-03-15 16:14:00 723
原创 捕获和抛出异常
异常处理五个关键字try、catch、finally、throw、throwspackage 异常;public class Demo01 { public static void main(String[] args) { int a = 1; int b = 0; try { //try监控区域 System.out.println(a/b); }catch (ArithmeticException
2021-07-06 22:26:02 116
原创 Error和Exception
什么是异常例子实际工作中遇到的情况不可能都是完美的,比如:用户输入不一定符合要求、程序要打开某个文件二这个文件不存在或格式不对、要读取的数据可能不存在或者是空的、程序跑着跑着内存或硬盘满了等等。定义软件程序在运行过程中,非常可能遇到这些异常问题,这些问题就叫异常(Exception),指的是程序运行过程中出现的不期而至的各种状况。简单分类检查性异常最具代表性的就是用户错误或问题引起的异常,这是程序员无法预见的。运行时异常是可能被程序员避免的异常,与检查性异常相反,运行
2021-07-06 22:23:27 75
原创 抽象类与接口
先简单说一下static关于 staticstatic 修饰的方法及属性是同类一起加载的,所以可以直接使用类名进行调用。其外,类中非静态的方法也可以调用静态的方法和属性,但是静态的方法不能调用非静态的方法和属性。private static int age;private double score;public void print(){ System.out.println(Student.age);}public void study(){ read();}publi
2021-05-07 16:19:46 83
原创 多态
定义: 同一个方法可以根据发送对象的不同采用多种不同的行为方式。一个对象的实际类型是确定的,但是可以指向的对象的引用的类型有很多。意义: 可以实行动态编译,使得可扩展性增强。多态存在的条件:有继承关系子类重写父类方法父类引用指向子类对象,Father f1 = new son(); 但有些方法不用被重写:static 方法,属于类,它不属于实例final 表示常量private 私有方法也不能被重写注意:多态是方法的多态,属性没有多态性父类和子类之间要有联系,否则会
2021-05-07 16:17:40 92
原创 继承
继承相关概念继承的本质是对一批类的抽象,从而对现实时间更好的建模继承使用的关键字 extends 的意思是扩展,子类是父类的扩展。Java 中只有单继承,没有多继承。继承是类与类之间的一种关系。此外,类与类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,用关键字 extends 表示。子类和父类之家,从意义上讲应该具有"子类 is a 父类"的关系。子类继承了父类,就会有父类的全部方法。在 Java
2021-05-07 16:15:19 78
原创 封装
改露的露,改藏得藏程序设计要追求 “高内聚,低耦合”。高内聚就是类的内部数据操作细节由自己完成,不允许外部干涉;低耦合就是尽量暴露少量的方法给外部使用。封装:(数据的隐藏)禁止直接访问一个对象中数据的实际表示,而是通过操作接口来访问,这称为信息隐藏。一句话:属性私有(private),get/set封装的意义:提高程序的安全性,保护数据(比如通过判断条件排除非法数据)隐藏代码的实现细节(比如用户只能设置年龄,并不知道类中具体如何实现)统一接口(比如设置数据统一使用set,获取数据统一使用g
2021-05-07 16:14:13 90
原创 类与对象
类与对象的关系从认识论角度考虑是现有对象后有类,对象是具体的事物,类是抽象的、是对对象的抽象。从代码运行角度考虑是先有类,后有对象,类是对象的模板。类是一种抽象的数据类型,它是对某一类事物的整体描述/定义,但是并不能代表某一具体事物动物、植物、手机、电脑…Person类、Pet类、Car类等,这些类都是用来描述和定义某一类事物具备的特点和行为对象是抽象概念的具体实例如张三就是人的一个具体实例,张三家的旺财就是狗的一个具体实例能够体现出特点,展现出功能的是具体实例,而不单纯是一个
2021-05-07 16:11:47 116
原创 什么是面向对象
面向过程与面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会思考解决问题需要哪些类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题。对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。什么是面向对象面向对象编
2021-05-07 16:10:42 71
原创 冒泡排序
排序算法总的来说有8种,冒泡排序是最基础的排序算法之一。原理:两层循环,外轮冒泡轮数,里层依次比较,时间复杂度O(n^2)。比较数组中两相邻元素,如果第一个数比第二个数大,则交换他们的位置每次比较,都会产生一个最小会最大的数下一轮则可以减少一次排序依次循环,直到结束package Java数组;import java.util.Arrays;public class Demo07 { public static void main(String[] args
2021-03-11 15:39:32 89
原创 稀疏数组
稀疏数组是一种数据结构。需求: 如编写五子棋游戏中,有存盘退出和续上盘的功能。分析问题: 因为类似于五子棋这样的二维数组的很多默认值是0,因此记录了很多没有意义的数据。解决: 稀疏数组。当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式是:记录数组一共几列几行,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模图示: 左边是原始数组,右边是稀疏数组代码:package Java数组;pub
2021-03-11 15:36:39 92
原创 Java Arrays类
数组工具类 java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但 API 中提供了一个工具类 Arrays 类供我们使用,从而可以对数据对象进行一些基本的操作。学会查看 JDK 帮助文档,里面对各种类的描述十分详细。Arrays 类中的方法都是 static 修饰的静态方法,在使用时可以直接使用类名进行调用,而不用使用对象来调用。(其实是不能使用)Arrays 类具有以下常用功能:给数组赋值:fill 方法对数组排序:sort 方法,升序排列比较数组:equal.
2021-03-11 15:35:04 97
原创 Java二维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的的一维数组,其每一个元素都是一个一维数组。二维数组int a[][] = new int[2][4];解析:上面的二维数组可以看成是一个两行4列的数组。二维数组可以看成是对一维数组的扩展,定义了一个二维数组后,之前的一维数组就好像变成了数组名一样,存放的也不再是具体的值,而是它扩展开的二维数组的地址。示意图:package Java数组;public class Demo04 { public static void mai
2021-03-11 15:32:41 127
原创 Java数组的内存分析及三种初始化
Java内存分析Java内存1. 堆存放 new 的对象和数组可以被所有的线程共享,不会存放别的对象引用2. 栈存放基本变量类型(会包含基本类型的具体数值)引用对象的变量(会存放这个引用在堆里面的具体地址)3. 方法区可以被所有的线程共享包含了所有的 class 和 static 变量数组的三种初始化静态初始化int[] a = {1,2,3};Man[] men = {new Man(1,1),new Man(2,2)}; //自定义的类数组初始化动态
2021-03-11 15:30:58 141
原创 Java数组概述
定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据成为一个数组元素,每个数组元素可以通过下标来访问声明创建声明首先必须声明数组变量,才能在程序中使用数组,语法如下:dataType[] arrayRefVar; //首选方法//或dataType arrayRefVar[]; //效果相同,但不建议使用,这是早期为了适应c/c++采用的声明方式创建Java 使用 new 操作符来创建数组,语法如下:dataTyp
2021-03-11 15:26:33 138
原创 递归
递归: A 方法调用 A 方法,就是自己调用自己。递归思想: 它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出接替过程所需要的多次重复计算,大大地减少了程序代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归结构:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法。package Java方法;public class Demo04 { public static void
2021-03-05 22:58:25 88
原创 可变参数
JDK 1.5 开始,Java 支持传递同类型的可变参数给一个方法。用法:在方法声明中,在指定参数类型后加一个省略号(…)注意:一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。例子:package Java方法;public class Demo03 { public static void main(String[] args) { printMax(2,3,3,5,64,22); printMax(new d
2021-03-05 22:55:47 77
原创 Java方法重载
定义: 重载就是在一个类中,有相同的函数名称、但形参不用的函数。方法重载的规则:方法名称必须相同参数列表必须不同(个数不同、或类型不同、或参数排列顺序不同)方法的返回类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。package Java方法;public class Demo02 { public static void main(Stri
2021-03-05 22:53:16 91
原创 Java方法的定义和调用
什么是方法如 System.out.println(),System 是类,out是该类的对象, println()就是这个对象的一个方法。Java方法是语句的集合,它们在一块可以执行一个功能:方法是解决一类问题的步骤的有序集合方法包含于类或对象中方法在程序中被创建,在其它地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候,最好保持方法的“原子性”,就是一个方法只完成一个功能,这样有利于后期的扩展。package Java方法;public
2021-03-05 22:50:57 282
原创 break和continue
break在任何循环语句的主体部分,均可用 break 控制循环的流程。break 用于强行退出循环,不执行循环中剩余的语句。(break 也可在 switch 语句中使用)package 流程控制;public class Demo15 { public static void main(String[] args) { for (int i=0; i<50; i++){ System.out.println(i); i
2021-03-02 12:27:47 96
原创 循环结构
while 循环while 是最基本的循环,语法为:while(布尔表达式){ //循环内容}只要布尔表达式为 true,循环就会一直执行下去。大部分情况需要循环停止,因此需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听。循环条件一直为 ture 就会造成无限循环【死循环】,正常业务应尽量避免死循环,否则可能会造成程序崩溃。do…while 循环对于 while 语句而言,如果不满足条件,则不能进入循环。但有时我们需要即使不满足
2021-03-02 12:26:01 1349
原创 如何通过IDEA看Java源码
通过程序看源码也将反编译,有很多辅助软件可以做,这里介绍使用 IDEA 查看源码的方式。将写的程序生成的字节码文件(class文件,前面的笔记介绍过)放到与该程序相同目录下。class文件一般存放在一个名为"out-production"的文件夹下,在"Project Structure"中可以找到该路径。放在一起后在 IDEA 中,可以在该程序旁边看到一个带有 01 字样的同名 class 文件直接双击该 class 文件便可打开,这就是该程序的源码。图示:1.从 File -> Pr
2021-03-01 16:17:09 2916 11
原创 选择结构
if选择结构if单选择结构很多时候需要判断一个东西是否可行,然后才去执行,这样的过程在程序中用if语句表示。语法:if(布尔表达式){//如果布尔表达式为true将执行语句}if双选择结构在一种情况下,程序将执行一种操作,这种情况不满足,则执行另一个操作。这种情况下一个if就无法实现,需要有两个判断,需要一个双选择结构,就有了if-else结构。语法:if(布尔表达式){//如果布尔表达式为true将执行该语句}else{//如果布尔表达式为flase将执行该语句}if多选择结
2021-03-01 16:15:42 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人