自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring事务及其注解

1.如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP,但 可以强制使用CGLIB实现AOP。2.如果目标对象没有实现接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换。

2023-05-10 14:36:50 2648 1

原创 注解和反射

从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,注解的作用:不是程序本身,可以对程序作出解释可以在程序编译,类加载,运行时被读取,并执行相应的处理。注解是以"@注释名"在代码中存在的,还可以添加一些参数值,例如:@SuppersWarnings(valus=“unchecked”)可以附加在package,class,method,filed等上面,相当于给他们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问。

2023-05-09 14:17:04 462

原创 【无标题】

1.概念:Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。2.优缺点(主要针对微服务)(1)优点①每个服务足够内聚,足够小,代码容易理解、开发效率提高;②服务之间可以独立部署,微服务架构让持续部署成为可能;

2023-05-06 09:33:28 591

原创 spring、springMvc、springBoot和springCloud的联系与区别

1. spring boot使用了默认大于配置的理念,集成了快速开发的spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务;2. springBoot框架相对于springMvc框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对springmvc,大大简化了配置流程;

2023-04-25 10:06:02 371

原创 我的创作纪念日

提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等​​。

2023-04-23 16:50:04 467

原创 超市会员管理系统(对象+集合)

println("****************************************欢迎使用超市会员管理系统*****************************************");System.out.println("积分累计成功!+ ",姓名:" + member.getName() + ",可用积分:" + member.getScore()System.out.println("会员" + i + "信息【会员卡号:" + member.getCardId()

2022-11-17 22:15:00 1116

原创 JAVA日期操作类

Calendar类也是用老操作日期和时间的类,它可以看作是Date类的一个增强版。System.out.println("现在是:" + year + "年" + (month + 1) + "月" + day + "日,"+ hour + "点" + minute + "分" + second + "秒," + weeks[week - 1]);String[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };

2022-11-03 22:00:00 353

原创 JAVA----File类

System.out.println("file2对象指向的是一个目录:"+file2.isDirectory());System.out.println("file1对象指向的是一个文件:"+file1.isFile());System.out.println("file2对象指向的是一个文件:"+file2.isFile());System.out.println("file1对象指向的文件的长度:"+file1.length());

2022-10-28 21:48:51 167

原创 QuickHit游戏

在游戏类的printResult(String out,String in)方法中,输出相应结果时肯定会涉及玩家类的信息,如当前级别编号、当前级别积分、当前级别已用时间等,需求中和业务相关的名词主要是游戏、输入速率、玩家、级别、一次显示的字符数、正确输入一次的得分、规定时间、规定次数、超时、玩家的积分和玩家用时等。System.out.println("您已闯关成功,成为绝世高手,恭喜你!如果玩家输入正确且未超时,则输出玩家输入的正确信息(包括级别、积分和用时),并输出玩家当前积分、当前级别和已用时间。

2022-10-26 22:00:00 125

原创 JAVA异常

(4)如果try语句块在执行过程中发生异常,try语句块中剩下的代码都将被忽略,系统会自动生成相应的异常对象,包括异常的类型、异常出现时程序的运行状态及该异常的详细描述。发生异常时的执行顺序是,先执行catch语句块中return之前的语句,再执行finally语句块中的语句,最后执行catch语句块中的return语句退出。2)如果try语句块在执行过程中发生异常,并且这个异常与catch语句块中声明的异常类型匹配,那么try语句块中剩下的代码都将被忽略,而相应的catch语句将会被执行。

2022-10-25 09:08:07 69

原创 线程同步和线程间的通信

在前面的介绍中,了解了多线程编程中使用同步机制的重要性,并介绍了如何通过同步来正确地访问共享资源。前面说的线程都是独立的,而且异步执行,也就是说每个线程都包含了运行时所需要的数据或方法,而不需要外部资源或方法,也不必关心其它线程的状态或行为。System.out.println("********开始抢票********");System.out.println("********开始抢票********");System.out.println("********开始抢票********");

2022-10-24 20:37:03 95

原创 迷你图书管理器(变量+数组)

(i + 1) + "\t" + BookState + "\t" + name[i] + "\t" + dateStr + "\t" + count[i] + "次");(i + 1) + "\t" + BookState + "\t" + name[i] + "\t" + dateStr + "\t" + count[i] + "次");} else if (want.equals(name[i]) && state[i] == 1) { // 找到匹配已被借出。"可借阅" : "已借出";

2022-10-22 22:00:00 88

原创 JAVA接口

->接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。(1)Java中接口的作用和生活中的接口类似,它提供一种约定,使得实现接口的类(或结构)在形式上保持一致。-->实现接口的类必须实现接口中定义的所有抽象方法。在具体的代码实现中,体现在方法参数尽量使用接口,方法的返回值尽量使用接口,属性类型尽量使用接口等。(3)一个普通类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接口。-->接口中的所有方法都是抽象方法,接口中的方法都默认为public。

2022-10-21 22:29:35 79

原创 吃货联盟订餐系统(对象+数组)

(1)根据本项目的需求分析可知,每条订单的信息都包括订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,并且会有多条订单信息,可以定义一个Order类,在Order类中将订单的各个信息设置为私有属性,再添加这些属性的有参构造方法以及Get/Set方法。订单属性信息有(加private封装):订餐人姓名(name)、选择菜品信息(dishMeg)、送餐时间(time)、送餐地址(address)、订单状态(state)、总金额(sumPrices)。(5)状态:订单的当前状态。

2022-10-19 20:54:44 171

原创 多态、抽象方法和抽象类

(2)在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,并且自动地调用引用的对象的方法,也就是根据作用到的不同对象类型,响应不同的操作。(4)多态意味着在一次方法调用中根据包含的对象的实际类型(即实际的子类对象)来决定应该调用哪个方法,而不是由用来存储对象引用的变量的类型决定的。-->抽象方法在子类中必须被实现(子类要重写父类中的抽象方法),如果子类不实现,则子类要定位为抽象类。当调用一个方法时,为了实现多态的操作,这个方法既是在父类中声明过的,也必须是在子类中重写过的方法。

2022-10-18 22:00:00 89

原创 Java面试题——基础篇二

当父类的方法被private修饰时,表明该方法为父类私有,对其他任何类都是不可见的,因此如果子类定了一个与父类一样的方法,这对于子类来说相当于是一个新的私有方法,且如果要进行向上转型,然后去调用该“覆盖方法”,会产生编译错误。重载:是让类以统一的方式,处理不同类型数据的一种手段。(1)Java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。“equals”表示比较两个对象,若不重写,输出的是对象的地址,若重写之后则输出对象本身的值。

2022-10-17 22:00:00 257

原创 继承和方法重写

a.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。用来比较两个对象是否是同一对象,若是,返回true,字符串对象的equals()方法用来比较两个字符串的值是否相等,java.lang.String类重写了Object类中的equals()方法。(2)继承是软件可重用的一种表现,新类可以在不增加自身代码的情况下,通过从现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。

2022-10-16 22:30:00 168

原创 JAVA封装

1)一个唯一的包名前缀通常是全部小写的ASCII字母,并且是一个顶级域名com、edu、gov、net及org,通常使用组织的网络域名的逆序。(1)Java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。(4)封装的好处在于隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制修饰符,来限制不合理操作。(1)用static修饰的方法称为静态方法或者类方法,不用static关键字修饰的方法称为实例方法。

2022-10-15 22:30:00 192

原创 方法和构造方法

->通过对象调用重载的方法时,系统的代码智能提示会给出返回类型和参数的信息,使用“↑”和“↓”键或者单击,都可以选择要使用的方法。方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。* 同一个类中不能有同名的成员变量(全局变量),在同一个方法或者结构中,不能有同名的局部变量,不同的方法中可以有同名的局部变量。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量。

2022-10-14 22:30:00 479

原创 JAVA入门——对象和类

(2)信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其他对象,利于维护。-->当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以省略,不过小括号不可以省略,传递多个参数时,以半角的逗号进行分隔。//调用有参方法的时候,传递的a和b是实际参数,简称实参,形参和实参的名称不需要一样,但是数据类型要一样。(1)对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象。

2022-10-13 22:30:00 176

原创 Java——吃货联盟订餐系统(基础知识)

(1)根据本项目的需求分析可知,每条订单的信息都包括订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,并且会有多条订单信息,可以使用数组来保存多条相同的信息。.println("序号\t\t订餐人\t\t餐品信息\t\t\t送餐时间\t\t送餐地址\t\t\t总金额\t\t订单状态");遍历系统中已有的订单,并逐条显示输出,内容包括序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、总金额、订单状态(已预订或已完成)。//保存订单状态:0表示已预订,1表示已完成。

2022-10-12 22:30:00 170

原创 Java面试题——基础篇一

区别:String是不可变的对象,对每次对String类型的改变时都会生成一个新的对象,StringBuffer和StringBuilder是可以改变对象的。- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double。答:==是操作符,是比较两个对象的地址或基本类型,equals是比较两个对象的内容,属于Object里的方法。- 原始类型: boolean,char,byte,short,int,long,float,double。

2022-10-11 20:19:29 48

原创 二维数组案例代码详解

思路分析:当a[i][j]数组的下标满足:i==0 || i==a.length-1 || j==0 || j==a[i].length-1,清理即可。System.out.println("请输入a[" + i + "]一维数组内的" + a.length + "个整数:");System.out.println("请输入a[" + i + "]一维数组内的"+n+"个整数:");System.out.println("请输入a["+i+"]一维数组内的三个整数:");

2022-10-10 23:00:00 571

原创 一维数组案例代码详解

思路分析:把最大和最小取出来,剩下的数据放在一个数组里,然后定义一个新数组,和原数组长度一样,新数组的第一个和最后一个是最大值和最小值,直接放进去,刚才的那个剩下的数据按照顺序放在新数组的中间。System.out.print("新的数组为:int[] newNums={");现输入一个数,要求按原来的规律将它插入数组中。System.out.print("交换后的数组为:int[] newNums={");System.out.println("请输入数组后面的几个数放在最前面:");

2022-10-10 22:30:00 226

原创 数组常用排序方法

Tips: 选择排序每次交换的元素都有可能不是相邻的, 因此它有可能打破原来值为相同的元素之间的顺序. 比如数组[2,2,1,3], 正向排序时, 第一个数字2将与数字1交换, 那么两个数字2之间的顺序将和原来的顺序不一致, 虽然它们的值相同, 但它们相对的顺序却发生了变化. 我们将这种现象称作 不稳定性 .c、开始高指针向左移动,如果遇到小于中间值的数据,则将这个数据赋值到低指针空缺,并且将高指针的数据看成空缺值(高指针空缺)。//如果低指针的值大于中间值,则覆盖高指针停留时的数据,并向左移动高指针。

2022-10-09 22:30:00 893

原创 JAVA二维数组

数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};//数据类型[][] 数组名 = new 数据类型[][]{{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};数据类型[][] 数组名 = {{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};

2022-10-08 22:30:00 537

原创 JAVA一维数组

/ Arrays.binarySearch(查找的数组名称,你想要查找的值):在指定的数组中查找你要找的数据,返回这个数据的下标,如果找不到这个值,返回一个负值。// 依次将数组中的元素取出来与这个最小值进行比较,如果元素值比这个最小值还小,就成为新的最小值,比较到最后一个元素,就可以得到数组中的最小值。(2)首元素(第一个元素)的编号规定为0,因此,数组的下标依次为0、1、2、3、4······依次递增,每次增长数是1.* 删除数组strs中的某个元素,删除完这个元素之后,后面的元素依次往前移动一位。

2022-10-07 22:30:00 133

原创 Java——常用小技巧总结

(int)(Math.random()*(num2-num1)+num1):随机返回一个[num1,num2)的int类型数据 (num1

2022-10-06 22:30:00 1024

原创 循环案例代码详解(2)

规则:从第三个数开始,每一个数是前面两个数之和:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)System.out.print("个位:" + g + " 十位" + s + " 百位" + b + " 千位" + q);System.out.println("将100元兑换为1元、5元、10元的零钱的兑换方法有"+count+"种。System.out.print("个位:" + g + " 十位" + s + " 百位" + b);

2022-10-05 22:30:00 169

原创 循环案例代码详解(1)

实现双色球的彩票功能。System.out.println("将100元兑换为1元、5元、10元的零钱的兑换方法有"+count+"种。System.out.println("最小公倍数为:"+(num1C*num2C)/num2);System.out.println("您的第"+k+"注彩票号码为:");System.out.println("这个整数的十六进制数:");System.out.println("这个整数的八进制数:");System.out.println("这个整数的八进制数:");

2022-10-04 21:27:36 385

原创 四种图形输出案例

/ 第二颗星星前面的空格数。// 第二颗星星前面的空格数。// 第一颗星星前面的空格数。System.out.println("图形一:");System.out.println("图形二:");System.out.println("图形三:");System.out.println("图形四:");// 第一行一颗星的输出。// 第一行一颗星的输出。

2022-10-02 22:30:00 984

原创 for循环打印九九乘法口诀表

由于最近学习了java语言的for循环,今天在复习巩固知识,练习代码的时候,简单的总结了三种for循环打印九九乘法口诀的方法,加深了自己的理解。a++) //外层循环为a,内层循环执行a次,内层循环不满足跳出到外层循环。//每一行最后一个式子都是两个乘数相等结束如5*5,所以当j>i使,说明该换行了,i的值也要加1。++a)//外层循环一次,内层循环9次,因为1一直乘到9。//因为都是1开头逐次递增乘一个数所以"="号左边以b开头。//外层循环变量,控制行。//外层循环变量,控制行。

2022-10-01 22:30:00 10806

原创 三种方式循环获取水仙花数

1、定义 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。2、利用while循环获取水仙花数public static void main(String[] args) { //使

2022-09-30 22:30:00 6153

原创 多重循环与循环结构对比

3)for循环:先执行变量初始化部分,再判断循环条件,然后执行循环体,最后进行循环变量的计算。1)while循环:先判断循环条件,再执行循环体。2)do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次。2)循环次数不确定的情况,通常选用while循环和do-while循环。(1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。1)外层循环每循环一次,内层循环从头到尾完整的执行一遍。1)循环次数确定的情况,通常选用for循环。2)外层循环控制行数,内层循环控制列数。

2022-09-29 22:30:00 180

原创 JAVA循环结构

2)判断循环条件,如果循环条件为true,则执行{}里的循环操作代码块,执行完循环操作代码后执行迭代部分,之后再次进行循环条件的判断,根据循环条件的结果决定是否再执行{}里的代码。2)判断循环条件,如果循环条件为true,则执行{}里的循环操作代码块,并执行迭代部分,之后再次进行循环条件的判断,根据循环条件的结果决定是否再执行{}里的代码。因此如果第一次循环条件就不满足,循环操作也会执行一次。3)执行完1次{}里的代码后判断循环条件,如果循环条件为true,继续执行{}里的循环操作代码块和迭代部分,

2022-09-28 22:30:00 64

原创 switch选择结构

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。System.out.println("冬季");// System.out.println("冬季");// System.out.println("冬季");// System.out.println("春季");// System.out.println("春季");

2022-09-27 22:30:00 92

原创 Java选择结构—if选择结构

3)如果条件1的结果为false,再对条件3的结果进行判断。2)如果条件1的结果为true,再对条件2的结果进行判断。1)不论多分支if语句中有多少个条件,只会执行符合条件的一个,如果没有符合条件的,则执行else子句中的语句。如果条件2的结果为false,则判断条件3的结果。1)else子句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用。3)如果条件的结果为false,跳过大括号里的语句,执行if结构后面的语句。2)如果条件的结果为true,执行大括号里的语句。

2022-09-26 22:30:00 142

原创 Java流程控制结构

(4)循环结构:循环结构是根据判断条件来重复性地执行某段代码。Java提供了while语句、do-while语句、for语句来实现循环。(3)选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构、双分支结构和多分支结构。Java提供了if控制语句和switch语句来实现选择结构。(2)顺序结构:顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何的判断和跳转。(1)在Java中有3种流程控制结构:顺序结构、选择结构、循环结构。

2022-09-26 09:36:31 1158

原创 Java运算符的优先级和数据类型与运算符章节总结

6、 Java中的6大运算符,分别是赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符和条件运算符。2、Java中的注释分为单行注释、多行注释和文档注释,同时明确了几种注释的使用场合和使用方法。(3)结合性:运算的方向,大多数运算符的结合性都是从左向右,即从左向右依次进行运算。(2)优先级:在表达式运算中的运算顺序。(8)结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)。(1)Java中的各种运算符都有自己的优先级和结合性。(4)优先级别最低的是赋值运算符,其次是条件运算符。

2022-09-25 22:30:00 400

原创 常用运算符

(2)对于除法运算符,如果两个操作数均是整数,结果也是整数,会舍弃小数部分;(6)|和||的区别:当||的左侧为true时,将不会计算其右侧的表达式,即左true则true;(3)对于取模运算符(取余运算符)/,如果两个操作数均是整数,结果也是整数;(2)Java中共有6个逻辑运算符,分别是&(逻辑与)、|(逻辑或)、^(逻辑异或)、!(8)如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也为int。

2022-09-24 22:30:00 1060

空空如也

空空如也

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

TA关注的人

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