
JAVA学习
sxxblogs
研究生在读,3D视觉
展开
-
【Java技术路线】9. Spring MVC
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。:将业务逻辑相关的数据封装为具体的JavaBean类,其中没有任何与数据处理相关的代码——JavaBean/domain/entity/pojo/vo/po。该注解可以将请求映射到控制器,也就是可以建立请求 URL 和处理请求方法之间的对应关系。原创 2022-11-22 10:52:28 · 657 阅读 · 1 评论 -
【Java】object 转list
【代码】【Java】object 转list。原创 2022-11-22 09:41:30 · 13395 阅读 · 1 评论 -
【Java技术路线】7. 异常与调试
概述:如果遇到现有任何标准异常类都无法描述清楚的问题,这种情况下就需要创建一个属于自己的异常类了。如何:我们要做的就是定义一个派生于Exception 的类,或者子类,比如IOException。超类Throwable 的 toString 会返回字符串,很好用创建异常类应该包含两个构造器,一个是默认的构造器,一个是包含详细描述信息的构造器。/ 创建自定义异常类 class FileFormatException extend IOException {原创 2022-11-07 10:01:55 · 401 阅读 · 0 评论 -
【Java技术路线】4.发布与部署
jar包就是别人写好的类,打包之后向外提供,使用者可以调取这些包,从而使用这些类中实现的功能。JAR(Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。然而,同Java中其他任何东西一样,JAR文件是跨平台的,所以不必关心涉及具体平台的问题。原创 2022-10-13 10:18:23 · 225 阅读 · 0 评论 -
【Java技术路线】3.接口与抽象类
抽象类也是类,除了可以写抽象方法以及不能直接new对象之外,其他的和普通类没有什么不一样的。接口已经另一种类型了,和类是有本质的区别的,所以不能用类的标准去衡量接口。使用abstract关键字修饰的抽象方法不能使用private修饰,因为抽象方法必须被子类实现,如果使用了private声明,则子类无法实现该方法。抽象方法是使用abstract关键字修饰的成员方法,抽象方法在定义时不需要实现方法体。s1只能调用接口A中声明的方法以及Object中的方法。接口是用来被类实现的,java中的接口可以被多实现。原创 2022-10-11 15:11:54 · 127 阅读 · 0 评论 -
【Java】如何使用feign(java demo)
这段代码提供了名为feign-provider的微服务的外部接口:ProviderController类提供了一个getUserById的接口,该接口接受id值完成数据库的按照ID查询功能。该接口调用了该项目下的userservice类中的getUserById方法。也就是说consume想要实现调用provide的getuserid的方法,但是因为这是两个独立的项目无法完成联系,这时候就需要一个feign类来完成二者之间的联系。这样子consume类便可以通过feign 调用provide的方法了。原创 2022-10-11 14:02:45 · 1748 阅读 · 0 评论 -
【java技术路线】2.4 枚举
enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口。Java 枚举类使用 enum 关键字来定义,各个常量使用逗号(,)来分割,结尾使用分号(;当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型,类如性别分为男女,一周固定有七天。ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。values() 返回枚举类中所有的值。原创 2022-10-10 10:36:44 · 198 阅读 · 0 评论 -
【Java学习路线】2.3 继承
Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。原创 2022-10-09 19:41:50 · 228 阅读 · 0 评论 -
【java学习路线】Mybatis学习
1.1、当查询的数据有多条时使用list来接收。2.使用注解@MapKey的map集合形式获取。1.2 当查询的数据返回是一个数据类型时。1.3、当查询的数据返回是map类型时。1.4、当查询的数据返回结果为多条时。原创 2022-10-08 10:24:18 · 177 阅读 · 0 评论 -
【Java学习路线】2.2静态属性及方法
1、在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。2、静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。静态属性和静态方法是类的属性和方法,与类相关,与对象无关。原创 2022-09-22 19:04:20 · 1406 阅读 · 0 评论 -
【Java学习路线】2.1类的定义及使用
方法可以提高代码的复用性,方法定义在类体当中。方法如何定义?方法的语法结构:[修饰符列表] 返回值类型 方法名(形式参数列表){方法体;};关于修饰符列表:为可选项,不是必须的目前统一写为 public static方法的修饰符列表当中与static如何调用?类名.方法名(实际参数类列表);方法名:方法名最好见名知义,方法名首字母小写之后的字母开头大写形式参数列表形参事局部变量多个形参之间用逗号隔开实参列表与形参列表必须满足:个数相同,对应的参数类型相同。原创 2022-09-22 18:27:52 · 325 阅读 · 0 评论 -
【leetcode刷题】Day 07 283.移动零
这道题目直接思路便是将零删除然后将非零数字提前,所以解决方案一便是遍历数组找出非零数字并将他们提到数组最前端,剩下的全部填零。还有一个思路是采用两个指针,一个指向零一个指向非零,然后交换两个数字的位置,交换之后指针向后继续推进,知道全部遍历完。给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。其中,快指针一直向下遍历,慢指针则是永远停在零的位置。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]原创 2022-09-20 19:32:58 · 144 阅读 · 0 评论 -
【Java技术路线】1.6 数组
Arrays.toString方法:将一维数组变成字符串。Arrays.equal方法:判断两个数组的内容是否相同。Arrays.sort方法:对数组进行升序排序。原创 2022-09-19 18:11:09 · 132 阅读 · 0 评论 -
【Java技术路线】1.3 运算符
如果布尔表达式为true,选择表达式1为执行结果,如果布尔表达式为false,选择表达式2作为运行结果。赋值类运算符包括两种:基本赋值运算符 = 拓展的赋值运算符+= -=++出现在变量后面,先赋值再进行++运算。++出现在变量前,先完成++运算再赋值。运算符优先级中,()优先级最高。原创 2022-09-19 17:20:01 · 274 阅读 · 0 评论 -
【java技术路线】1.1 java语言环境与基本数据类型
Java源文件存储的是源代码并不能直接执行,源文件如果全部符合Java编写规范会生成编译文件,即.class文件(字节码)。编译阶段的主要任务是检查Java源程序是否符合Java语法,不符合Java语法无法生成字节码文件。在Java中基本数据类型有 :整数型(byte int short long)、字符型(char )、浮点型(double float)、布尔型(boolean)6.大容量转小容量为强制类型转换,必须加强制类型转换符,不然编译不通过,但需要谨慎使用会损失精度。其语言特性:可移植性;原创 2022-09-18 17:14:35 · 245 阅读 · 0 评论 -
【leetcode刷题】Day 4 1342.将数字变成 0 的操作次数
x和1与运算:由于1的二进制码如00001,所以x和1进行与运算的结果就是:1(若x为奇数,即x的二进制码最后一位为1),0(若x为偶数,即x的二进制码最后一位为0)步骤 5) 2 是偶数,除以 2 得到 1。步骤 1) 8 是偶数,除以 2 得到 4。步骤 2) 4 是偶数,除以 2 得到 2。步骤 3) 2 是偶数,除以 2 得到 1。步骤 4) 3 是奇数,减 1 得到 2。步骤 6) 1 是奇数,减 1 得到 0。步骤 4) 1 是奇数,减 1 得到 0。输入:num = 14。原创 2022-09-18 12:29:26 · 275 阅读 · 0 评论 -
【leetcode刷题】Day 03 412.Fizz Buzz
输出:[“1”,“2”,“Fizz”,“4”,“Buzz”,“Fizz”,“7”,“8”,“Fizz”,“Buzz”,“11”,“Fizz”,“13”,“14”,“FizzBuzz”]这道题的关键是从一到n进行遍历,如果这个数只是3的倍数,输出Fizz,如果这个数只是5的倍数,输出Buzz,如果这个数同时是3和5的倍数输出FizzBuzz.answer[i] == “Fizz” 如果 i 是 3 的倍数。输出:[“1”,“2”,“Fizz”,“4”,“Buzz”]输出:[“1”,“2”,“Fizz”]原创 2022-09-15 20:23:32 · 156 阅读 · 0 评论 -
【leetcode刷题Day 02 383.赎金信
这道题的解题关键便是字符统计,观察输入的两个字符串,便可以得出规律,只要randsomNote的字数小于magazine肯定不符合要求,直接返回false。如果randsomNote的所出现的字母的字符数小雨magazine的字符数便可以符合题目要求。给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。输入:ransomNote = “aa”, magazine = “aab”所以本题的关键便是统计两个字符串的字母的个数。原创 2022-09-14 18:28:33 · 761 阅读 · 0 评论 -
【leetcode刷题】练习Day1 1480.一维数组的动态和
给你一个数组 nums。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。请返回 nums 的动态和。输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]。输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1]。原创 2022-09-13 18:11:55 · 792 阅读 · 0 评论 -
【vscode 】如何通过vscode完成JAVA编译环境配置
vscode真的是神器,可用于日常的代码编写下面记录一下如何在vscode中配置java编译环境Step1 : 安装好vscodeStep2: 安装好JAVA SDK并完成环境变量配置Step3: 配置vscode3.1 打开vscode,下载JAVA相关拓展点开第一个并下载,它会自动下载左边相关联的六个拓展3.2 完成 setting.json的配置打开setting.json文件并将下列内容复制到合适位置注意,需要修改path、sourcejava.configuration.r原创 2022-05-20 17:14:59 · 4527 阅读 · 0 评论