- 博客(34)
- 收藏
- 关注
原创 maven静态资源过滤问题
问题描述在学习MyBatis时可能会遇到一个问题,报错如下:这是maven项目的配置过程中常见的问题之一,即静态资源过滤问题,由于在使用Maven构建项目的时候,会默认过滤掉静态资源,所以,需要手动来配置,否则会扫描不到静态资源而出现上述的错误。解决办法在工程的pom.xml配置文件中添加如下代码即可:<build> <resources> <resource> <directory>src/main/j
2021-02-08 19:20:24
750
原创 JavaWeb值书城项目实战指南
最近在B站上学习了国哥的JavaWeb,自己也跟着做了一遍书城项目,最后迷迷糊糊的写了个指南,大致跟着这个做应该是没啥问题的,里面也有一些比较细节的地方。由于刚开始使用Typora写的,图片保存在了本地,而且太多了,就懒得重新修改地址,所以就上传到了百度网盘,有需要的同学可以私聊我哈。...
2021-01-30 16:26:09
343
1
原创 IDEA:Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA的解决方案
这里提供一种最简单粗暴的解决方案:把IDEA的配置文件删除,具体来说:对于windows系统,配置文件一般位于下图所示的文件夹中:把这两个文件夹删除(如果怕重新配置IDEA,建议先把配置备份,操作如下图所示)然后重启,再重新导入刚刚备份的文件即可(没有备份的就忽略)。对于Linux系统,配置文件一般位于/home/.config/Jetbrains目录下,如下如所示:把IntelliJIdea2020.3那个文件夹删除即可(settings.zip是我之前导出的配置文件),然后重启IDEA解决
2021-01-04 14:06:55
1376
原创 在Ubuntu/Linux环境下使用MySQL以及使用Window系统远程连接Ubuntu/Linux的MySQL数据库
个人配置1.操作系统:ubuntu0.18.04.1 (Ubuntu) + Windows102.MySQL版本:5.7.32步骤概览第1步:查看3306端口是否开放第2步:修改访问权限第3步:修改端口号第4步:开放root账户的访问权限第5步:Windows系统下使用在命令行远程连接Ubuntu的MySQL数据库第1步:查看3306端口是否开放按快捷键ctrl+alt+T,打开终端,输入命令:netstat -an|grep 3306**注意事项:**如果没有安装netsta
2020-12-25 23:31:15
468
原创 实现一个由A、B、C三个窗口同时销售100张票的系统,要求打印出每个窗口打印的售票情况,并且每个窗口不得连续售票。
文章目录程序思路代码示例程序思路一个小菜鸟的复杂解答方法,如有更好的方法,欢迎交流!从本质上讲,这是一道多线程(三线程)通讯的题目,通俗的讲就是同一个线程不能连续对共享数据进行操作。那怎么实现呢?首先要保证当前获得锁的线程与上一个获得锁的线程不一样,所以需要添加标记/变量来记录上一个线程(这里用flag来表示,1表示是窗口A,2表示窗口B,3表示窗口3),其他就是常规操作了。不过还有一个大坑,就是当前线程(为了说明的方便,假设线程名字为线程A)wait之后,JVM会记录当前线程A执行的状态,而此时某
2020-12-23 22:23:36
1552
1
原创 尚硅谷第13章IO流编程练习题参考答案
都写在一个类里,每个方法的数字对应这文件中的题号。package com.welcend.exer1;import java.io.*;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.attribute.FileTime;import java.nio.file.attribute.UserPrincipal;import java.ut
2020-12-19 23:17:32
438
3
原创 JVM之详解Java类的装载过程及类加载过程
# 问题为什么要学习JVM?学习JVM是为了什么?JVM屏蔽了不同操作系统之间的差异,这是Java语言能够Write Once,Run Anywhere的根本。JDK:JRE:JVM三者之间的区别?JDK=JRE+开发工集(例如:Javac编译工具等)JRE=JVM+基础标准类库Java程序运行的过程:.java->.class->加载到JVM字节码文件的结构:参考字节码文件格式和虚拟机规范。从.java转换到.class文件只不过是转换了一种形式而已..
2020-12-18 12:52:55
773
转载 Java8的新特性
文章目录Java8新特性简介并行流与串行流Lambda表达式使用Lambda表达式的原因举例例1例2语法类型推断函数式(Functional)接口什么是函数式接口?函数式接口的理解举例自定义函数式接口Lambda表达式作为参数进行传递Java内置四大核心函数式接口其他接口方法引用与构造器引用方法引用(Method Reference)强大的StreamAPI为什么要使用Stream API什么是StreamStream操作的三个步骤创建Stream的方式方式一:通过集合方式二:通过数组方式三:通过Strea
2020-12-15 21:47:38
172
原创 Java反射
文章目录Java反射机制概述Java Reflection动态语言vs.静态语言Java反射机制研究及应用Java反射机制提供的功能反射相关的主要API理解Class类并获取Class实例Class类Class类的常用方法反射的应用举例类的加载与ClassLoader的理解创建运行时类的对象获取运行时类的完整结构调用运行时类的指定结构反射的应用:动态代理Java反射机制概述Java Reflection●Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflecti
2020-12-15 10:47:18
139
原创 Java网络编程
文章目录网络编程概述网络基础网络通信要素概述如何实现网络中的主机互相通信网络通信协议通信要素1:IP和端口号IP地址:InetAddress端口号InetAddress类InetAdress代码示例通信要素2:网络协议TCP/IP协议簇TCP和UDPTCP协议:UDP协议:SocketSocket类的常用构造器:Socket类的常用方法:TCP网络编程基于Socket的TCP编程客户端创建Socket对象服务器建立ServerSocket对象客户端—服务端UDP网络编程UDP网络协议DatagramSock
2020-12-14 21:04:16
1350
1
原创 Java之异常处理
文章目录异常概述与异常常见结构体系常见异常常见异常:ArrayIndexOutOfBoundsException常见异常: NullPointerException常见异常:ArithmeticException用户常见异常: ClassCastException异常处理机制一:try-catch-finally异常的抛出机制运行机制举例1举例2不捕获异常时的情况IOException异常处理例1异常处理机制二:throws重写方法声明抛出异常的原则手动抛出异常:throw用户自定义异常类练习总结:异常处
2020-12-09 10:58:23
325
原创 Java类的成员之四、五: 代码块和内部类
文章目录代码块作用、分类静态代码块非静态代码块静态初始化块举例总结:程序中成员变量赋值的执行顺序关键字:finalfinal的使用修饰类修饰方法修饰变量——常量应用举例面试题抽象类与抽象方法抽象类举例抽象类的应用思考题多态的应用:模板方法设计模式(TemplateMethod)接口(interface)概述举例代码块作用、分类● 代码块(或初始化块)的作用:➢ 对Java类或对象进行初始化● 代码块(或初始化块)的分类:➢ 一个类中代码块若有修饰符, 则只能被static修饰,称为静态代码
2020-12-08 22:23:40
132
原创 Java面向对象特征之二:继承
作用减少了代码的冗余,提高了代码的复用性便于功能的扩展为之后多态性的使用,提供了前提格式class A extends B{}A称为子类、派生类、subclassB称为父类、超类、基类、superclass体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法特别地,父类中声明为private的属性和方法,子类继承后,仍然认为获取了父类的私有的结构,只是因为封装性的影响,子类不能调用而已。子类继承父类以后,子类还可以定义自己特有的方法和属性,实现功能拓展
2020-12-08 15:12:52
267
原创 Java类的成员之三:构造器(或构造方法)
构造器的作用创建对象初始化对象信息说明如果没有的定义类的构造器的话,则系统默认提供一个空参的构造器;定义构造器的格式:权限修饰符类名(形参列表){ };不能理解为一种方法!一个类中定义的多个构造器,彼此形成重载;一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器;一个类中,至少有一个构造器。...
2020-12-08 14:24:25
791
原创 JavaIO流
File类的使用public class FileTest { /* 1.如何创建File类的实例 File(String filePath) File(String parentPath,String childPath) File(File parentFile,String childPath) 2. 相对路径:相较于某个路径下,指明的路径。 绝对路径:包含盘符在内的文件或文件目录的路径 3.路径分隔
2020-12-03 19:25:46
152
原创 Java泛型
泛型的设计背景泛型的概念为什么要有泛型?代码举例/** * * 泛型的使用 * 1.jdk 5.0新增的特性 * * 2.在集合中使用泛型: * 总结: * ① 集合接口或集合类在jdk5.0时都修改为带泛型的结构。 * ② 在实例化集合类时,可以指明具体的泛型类型 * ③ 指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法、构造器、属性等)使用到类的泛型的位置,都指定为实例化的泛型类型。 * 比如:add(E e) --->实例化
2020-12-02 23:13:44
198
原创 Java集合
Java 集合框架概述Collection接口继承树Map接口继承树Collection接口方法Iterator迭代器接口Collection子接口之一:List 接口List接口框架|----Collection接口:单列集合,用来存储一个一个的对象 |----List接口:存储有序的、可重复的数据。 -->“动态”数组,替换原有的数组 |----ArrayList:作为List接口的主要实现类;线程不安全的
2020-12-02 20:55:48
114
原创 枚举类与注解
枚举类什么是枚举?枚举类的使用枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类如果枚举类中只有一个对象,则可以作为单例模式的实现方式。如何定义枚举类方式一:jdk5.0之前,自定义枚举类方式二:jdk5.0,可以使用enum关键字定义枚举类方式一举例://自定义枚举类class Season{ //1.声明Season对象的属性:private final修饰 private final String seaso
2020-12-01 15:28:52
119
原创 Java常用类
字符串相关的类:StringString对象的创建String常用方法String、StringBuffer、StringBuilder三者的异同?String:不可变的字符序列;底层使用char[]存储StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char[]存储StringBuffer sb2 = new StringBu
2020-12-01 10:10:47
101
原创 Java多线程
基本概念:程序、进程、线程进程和线程的关系:单核CPU和多核CPU的理解并行与并发使用多线程的优点需要多线程的场景举例:app例如淘宝、美团等上拉显示物品信息(包括图片和文字)时,如果网络太差,并且只通过一个线程来完成,那么就会需要等待一项物品的信息加载完成后才能继续浏览后面的信息,但是如果采用多线程,图片的加载和文字的显示分别采用两个线程实现就会使用户获得更好的体验,因为文字的大小相比于图片小得多,采用单独的线程实现文字加载有利于提升效率。线程的创建和使用创建方法
2020-11-28 23:09:36
119
原创 final关键字
final:最终的1.final可以用来修饰的结构:类、方法、变量2.final用来修饰一个类:此类不能被其他类所继承。比如,String类、System类、StringBuffer类3.final用来修饰方法:表明此方法不可以被重写比如:Object类中getclass();4.final用来修饰变量:此时的“变量“就称为是一个常量4.1final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化4.2final修饰局部变量:尤其是使用final修饰形参时,表明此形
2020-11-25 17:25:22
61
原创 Java类可以对属性进行赋值的位置
对属性可以赋值的位置:默认初始化显式初始化构造器中初始化有了对象以后,可以通过“对象,属性”或”对象,方法”的方式,进行赋值在代码块中赋值
2020-11-25 16:32:33
231
原创 Java面向对象编程之关键字static、main方法的语法、单例设计模式
用途可以用来修饰属性、方法、代码块、内部类。修饰属性:静态变量属性,按照是否使用static修饰分为静态属性和非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变到当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。注:静态变量随着类的加载而加载,可以通过"类.静态变量"的方式进行调用;
2020-11-25 16:31:33
87
原创 Java面向对象特征之三:多态性(相比于前两个特性要难理解一点)
多态性的理解多态性,是面向对象中最重要的概念,在Java中的体现:对象的多态性:(简单理解为)父类的引用指向子类的对象或子类的对象赋给父类。可以直接应用在抽象类和接口上多态的使用虚拟方法调用Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。简你:编译时,看左边;运行时,看右边。若编译时类型和运行时类型不一致,就出现了对象的多态性(Polymorphism)多态情况下,“看左边”:看的是父类的引用(父类
2020-11-25 14:27:50
174
原创 Java面向对象特征之一:封装和隐藏
为什么需要封装?封装的作用和含义?我要用洗衣机,只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗?有必要碰电动机吗?我要开车。。。我们程序设计追求“高内聚,低耦合”。高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。封装性的体现:我们将类的属性xxx私有化(pri
2020-11-24 21:49:59
303
原创 Java面向对象之再谈类中的方法
方法的重载重载的概念在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。重载的特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。重载示例:/返回两个整数的和int add(int x,int y){return x+y}/返回三个整数的和int add(int x,int y,int z) return x+y+z}/返回两个小数的和double add(double x
2020-11-24 21:25:17
172
原创 Java面向对象编程
Java面向对象学习的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的三大特征:封装性、继承性、多态性(抽象性)其它关键字:this,super,static,final,abstract,interface,package,import等Java语言的两个基本要素:类和对象属性=成员变量=field=域、字段方法=成员方法=函数=method创建类的对象=类的实例化=实例化类类和对象的使用(面向对象思想落地的实现)创建类,设计类的成员创建类的对象通
2020-11-24 20:15:07
508
原创 Java多维数组的使用
多维数组的理解初始化方式public class test { public static void main(String[] args){ //静态初始化 int[][] arr = new int[][]{{1, 2, 3}, {4, 5}, {7, 8}}; //动态初始化1 int[][] arr1 = new int[3][2]; //动态初始化2 int[][] arr2 =new i
2020-11-24 17:26:08
398
原创 Java一维数组的使用
数组初始化分为静态初始化和动态初始化public class test { public static void main(String[] args){ int num=10; int id=1001; int[] ids; //静态初始化:数组的初始化和数组元素的赋值同时进行 ids = new int[]{1001,1001,1001,1001}; //动态初始化:数组的初始化和数组元素的赋值
2020-11-24 17:03:40
244
原创 Java变量与运算符(上)
Java标识符java变量注意整型常量默认为int型;浮点型常量默认为double。string不是基本数据类型,是引用类型练习
2020-11-24 15:04:26
491
原创 java第一个小程序HelloWorld
java学习基础知识图谱常用DOS命令java与c的区别1.舍弃了指针、运算符重载、多重继承等特性;2.增加了垃圾回收功能用于回收不再被引用的对象所占据的空间。java特点1.面向对象类、对象封装、继承、多态2.健壮性吸收了c/c++的有点,但去掉了其影响程序健壮性的部分。3.跨平台性java两种核心机制java虚拟机(JVM)垃圾收集机制(GC)...
2020-11-24 13:07:56
163
原创 什么是JavaSE/JavaEE/JavaME?
什么是JavaSE、JavaEE?Java概述Java 开发环境介绍Java概述ava分三个版本:JavaSE(标准版)、JavaEE(企业版)、JavaME(微型版),其中JavaSE是Java编程语言的基础,JavaEE是用于公司的PC端开发的,而JavaME 是用于移动端开发的。下面详细介绍一下三种版本的区别。Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应
2020-11-23 21:49:16
1526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人