自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tcp三次握手/Tcp协议数据传输(服务器端开启多线程)

TCP协议的三次握手和数据传输,服务器端采用多线程,可接收多个客户端的数据

2022-07-10 23:51:12 595 1

原创 udp传输数据

理解udp的传输

2022-07-09 19:49:10 2331

原创 JAVA(Spring)学习笔记--->动态代理+切面

代理分为静态代理和动态代理,今天笔者就和大家聊一聊动态代理,期间我们加入了切面,笔者并且进行了两个单元测试,一个没有加切面,一个加入切面,我们来看看结果有什么不同,大家就知道笔者加入切面的用意。首先笔者用一个通俗易懂的例子来概述代理,由浅入深,大家就能理解深入理解代理,希望读者能认真看完,一定会对你们在这一块有所帮助的。代理:代理就好比租房子,这个过程中有三方人。第一个是租客,第二个是中介,第三个是房东。那么,代理是什么?这里的代理就是中介,租客只需要找中介租房子,而找房子的事就交个中介就行了,

2022-03-28 17:35:15 1336 1

原创 Java(Spring)学习笔记--->生命周期

笔者这篇文章和大家聊一聊对象的生命周期,其中加入了作用域,包含了饿汉式和懒汉式,希望对大家的学习有所帮助。首先我们在一个类中加入初始化的方法和销毁方法,在让IOC容器创建我们需要的对象,与此同时我们在给对象加入作用域,和懒加载,以便于我们的测试。BuLiangRen类:package com.kaifamiao.ioc.lifecycle2;import com.kaifamiao.ioc.Logable;/** * @author 后来的老李 * @version 1.0 */

2022-03-27 23:03:00 141

原创 Java(Spring)学习笔记--->自动装配(autowire)

这篇文章笔者和大家聊一聊自动装配,首先我们学习它的时候我们应该知道何为自动装配?举个例子:一个人他有一只狗和一只猫,他有的 这两个动物就相当于这个人的名字一样,写在一个personn类中并且生成无参,有参,get和set对吧?在传统的创建这个人类的对象中,我们得先new一个人,再创建这两个动物;然而在Spring中,我们只需在XML文件中创建Person的对象,因为Person类中有了这两个动物,所以我们要得到这两个动物对象只需要自动装配上去,可以通过byName,也可以通过byType来实现自动装配,

2022-03-27 20:20:52 1517

原创 Java(Spring)学习笔记---->IOC容器中两个对象的关系

既然在传统的对象与对象中有继承,接口的关系,那么通过IOC容器创建的对象也有这样的关系,这篇文章笔者聊一聊IOC容器中的对象和抽象类直接上代码,我们通过代码来聊聊。首先先创建一个类package com.kaifamiao.ioc.relation;import java.util.logging.Logger;/** * @author 后来的老李 * @version 1.0 */public class Bear { //属性 //无参构造

2022-03-27 17:15:18 155

原创 JAVA(Spring)学习笔记---->Scope(作用域)

这篇文章笔者和大家来聊一聊Spring中的两个标签配置范围,即singleton和prototype,前者意味单例的,后者则是多例的。Scope取值 实例化个数 实例化时机 对象创建 对象运行 对象销毁 singleton(单例) 1个 当Spring文件被加载时,实例话配置的Bean实例(只创建一次) 创建容器时,对象向就被创建 容器在,对象一直活着 容器销毁,对象被销毁 prototype(多例) 多个 当调用getBe

2022-03-27 16:33:04 761

原创 JAVA(Spring)学习笔记--->控制反转、依赖注入

1:Spring资源目录(resource)的XML文件头:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/s

2022-03-27 14:47:20 660

原创 JAVA框架【mybatis】资料

解决资源导出问题:<build><resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include

2022-03-20 17:28:28 2528

原创 利用servlet写文件下载

文件下载需要有几个步骤:1.要获取下载文件路径 2.下载的文件名是什么?3.设置让浏览器能够支持的下载的文件 4.获取下载文件的输入流 5.创建缓冲区 6.获取outputStream对象 7.将fileOutputStream流写入到buffer缓冲区,使用outputStream将缓冲区的数据输出到客户端首先将需要的文件放在resourcce的资源目录下,然后写好FileServlet的文件下载代码,最后不要忘记给出映射或者注解,因为再浏览器的访问中,它访问的是webAPP,那么我们需要再给出

2022-03-20 17:21:26 613

原创 JAVA递归调用实现数的阶乘

5的阶乘==5*(4*3*2*1)怎样用递归实现package com.kaifamiao.day13CDSN;/*一个数的阶乘 */import java.util.Scanner;public class DiGui04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请你输入一个数:"

2021-11-21 19:31:45 168

原创 JAVA实现纳税算法

代码如下:package com.kaifamiao.day1115;import java.util.Scanner;public class JiaoShui { private static double shui; private double salary; public static void main(String[] args) { Scanner sc = new Scanner(System.in); System..

2021-11-21 19:16:20 828

原创 JAVA递归调用求一个数的几次方

递归实现这个题目很简单,例如:4的3次方——>result=4*4*4,这就相当于4*4的2次方一个意思,那么递归调用就少一个次方,递归调用,代码如下:package com.kaifamiao.day13CDSN;/*一个数的次方 */import java.util.Scanner;public class DiGui03 { public static void main(String[] args) { Scanner scanner = new Sc

2021-11-21 19:10:27 795

原创 JAVA递归调用实现数字的逆序输出

输入一串数字,将数字逆序输出出来,如:12,运行结果为21;首先不管怎样,我们都要先得到十位上的数字和个位上的数字,十位上的数字,就是用12/10;个位上的数字就是得到他的余数即12%10;然后用字符串将它们加起来,递归调用就是不断调用自身的方法实现他,代码如下:package com.kaifamiao.day1117;import java.util.Scanner;public class DiGui02 { public static void main(String[] ar

2021-11-21 18:50:05 3646

原创 JAVA遍历字符串

先将字符串转换为字符串数组,在遍历,计数package com.kaifamiao.day1118;public class TonJi { public static void main(String[] args) { String str="csdnisgood"; counts(str); } public static void counts(String str){ char[] chars=str.toCharA

2021-11-21 18:41:13 88

原创 JAVA实现两数的最大公因数

求最大公因数这里笔者讲解一下,再用 递归调用实现;M=24,N=16,求24和16的最大公因数,分两步:1:M>N,M%N==0,最大公因数为最小的数N;2:M>N,M%N!=0,求M%N的余数,再用M和N中最小的数除以余数,如果余数==0,则最大公因数为余数如:24%16!=0;余数==8,16%8==0;则最大公因数为8;注:这第二步就需要用到递归调用,用自己的方法调用。package com.kaifamiao.day13CDSN;import java.util

2021-11-13 17:22:28 1684

原创 JAVA实现十进制数转二进制数,八进制数,十六进制数

二进制:将每个余数倒着输出来,怎样实现,s=num%2+s;每次得到的数都进入到等号右边的s中,那么第二个余数就是num%2,加在s的前面,这就是字符串的拼接,切记不能交换两者的位置。八进制:同二进制一样十六进制:十六进制不外乎就是写一个数组:char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };假如给一个17这样的十进制数,将其转换成十六进

2021-11-13 16:58:53 1193

原创 JAVA完成诗词数组的反转

数组中写行式诗词,用数组反转将诗词变成列示的,例如《江雪》:千 山 鸟 飞 绝万 径 人 踪 灭孤 舟 蓑 笠 翁独 钓 寒 江 雪通过数组的反转:独 孤 万 千钓 舟 径 山寒 蓑 人 鸟江 笠 踪 飞雪 翁 灭 绝这里用到二维数组,我们将未反转的数组从第一列倒着遍历一次,就能得到第二个数组。行不变,列发生变化,从列的最后一个开始遍历即可。package com.kaifamiao.day13CDSN;public class ShiCi { publ

2021-11-13 15:47:11 331

原创 JAVA求菲波那切数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。因为第0项,第1项,第2项的值特殊,所以写一个条件,从第3项开始就是另一种情况。这里笔者总结了思路,希

2021-11-13 15:19:40 626

原创 用JAVA完成1000以内素数的判断

素数:素数一般指质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。思路:再1000以内找出素数当然我们得用一个循环,这里笔者提供一个思路,假如这里笔者找出一个35来判断这个数是否是素数,那么我们就要从1开始让35%1来判断它的余数是否是0,这里35%1==0,接着我们继续35%2!=0,35%3!=0;35%4!=0;35%5!=0;好这里一直到35%5!这里,我们知道5*7=35,说明5和7是35的因数,记住这个思路,我们到for()循环中使用;使用for()循环的意义:

2021-11-06 18:47:45 1675

原创 用JAVA完成快速排序

快速排序的思想是通过方法第一次排序完成后,在调用本身的方法再次进行调用,这就是递归的思想。笔者这里给出一个数组int[] arr=new int[]{6,1,2,7,9,3,4,5,10,8},给左边设置i,右边设置j,目标数设置为最左边的6,从右边检索到左边找比目标数6小的数,第一次找到为5,i向右走,i++;在从右边检索到左边,找比目标数大的数,第一次找到为7,j向左走j--;再进行5和7的交换,当然这里需要注意,i和j都是数组的索引,因此i<j,在从右边到左边进行检索,找到比目标数6小的数4,j

2021-11-06 17:29:25 79

原创 JAVA编程水仙花

这里关于水仙花的介绍,之后我们用程序来实现水仙花。题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",153=1*1*1+5*5*5+3*3*3分析:水仙花是一个三位数,因此我们可以用for循环遍历1000以内的数,加以条件就能得到水仙花,首先我们要获得三位数的个位,十位,百位,这就是条件。package com.BianChengTi;public class ShuiXianHua_01 {

2021-10-10 02:00:48 2190

原创 接口有关的匿名内部类

首先定义一个接口:package com.NeiWai;public interface Run { void run();}再定义一个接口的操作类:package com.NeiWai;public class RunOpter { public void useRun(Run r){ r.run(); }}再写一个测试类:package com.NeiWai;public class RunTest { pub

2021-10-06 20:57:34 76

原创 JAVA抽象类实例化对象实现接口的三种调用方法

在笔者的学习过程中抽象类实例化对象实现接口,笔者发现了三种表示方法。第一种是要实例化接口和抽象类,再用实例化的对象调用重写的的方法,这比较繁琐;第二种是直接实例化抽象类,将抽象类进行强转成对象,因为对象中重写了抽象类和接口中的抽象方法,再调用对象本身重写后的方法;第三种是直接实例化对象,用对象本身重写的方法。这里笔者将这三种方法分享给大家。1:先写一个抽象类:package com.JieKou_03;public abstract class Animal { private St

2021-10-04 06:38:45 2768 1

原创 JAVA的包相关介绍

包就是一个对类进行分类管理的一个文件夹;在这里笔者先由浅入深的讲解一下自己对包的理解:第一种:相信大家都知道怎样用记事本在CMD下编译JAVA文件,笔者在F盘下用记事本写了一个HelloWorld.java文件,然后打开DOS命令窗口(在F盘下输入cmd)进入DOS命令窗口后输入javac HelloWorld.java 在F盘下生成HelloWorld.class文件,继续输入java HelloWorld,于是就能输出HelloWorld.java文件中输出的内容。建立HelloWorl

2021-10-02 21:45:40 107

原创 JAVA实现使用数组创建《栈》数据结构,判断栈空,判断栈满,入栈,出栈

栈的特点就是先进后出,栈顶top设为数组的最后一个元素,当栈空的时候top==-;当栈满的时候top等于数组长度-1,入栈就是top++,出栈就是top--;因为栈是先进后出,因此当我们遍历数组的时候需要逆向遍历。代码如下:public class Zhan { private int maxsize; private int top; private int[] arr; public Zhan(int maxsize){ this.maxsiz

2021-10-02 02:09:31 1337

原创 JAVA使用数组创建《循环队列》满足判断队空,判断队满入队,出队

建立一个头指针tou,一个尾指针wei,并且让其初始化为-1,因为数组下标是从0开始的,队列先进先出,当进一个元素那么尾指针+1,出去一个元素头指针+1,判断队列为空,就是当头指针等于尾指针的时候;判断队列为满,就是尾指针等于数组最后一个下标的时候。打印队列遍历数组的时候,开始的位置应该是从头指针开始的,并且是++tou,因为出队的时候元素已经出去了,目前头指针所指的位置为空,所以遍历数组的时候应该从当前头指针的下一个位置开始遍历因此是++tou,遍历的长度应该是尾指针的位置。代码如下:pub

2021-10-02 01:45:56 504

原创 JAVA继承的综合写法

在笔者理解中,继承可以提高代码的复用性,多个相同的成员可以放在同一个类中;也能提高代码的维护性,如果方法的代码需要修改,修改一个地方即可。在这里笔者在道例题中用到了无参构造,有参构造,封装,super关键字,为何要使用super关键字?是因为Animal这个父类中的年龄和名字是private私有的修饰符,因此就有参构造就不能调用到父类的属性,但是在Animal这个父类中定义了有参构造,因此子类就能通过super关键字来调用到父类的属性,这道综合的继承例题中有参构造让笔者头疼了一会,不知道怎样调到父类的属性,

2021-10-02 00:25:50 101

原创 JAVA使用StringBuilder()进行字符串的拼接

对于字符串的拼接这里笔者用了两中方法,一种是无返回值如下的示例1,另一种是有返回值的示例2,这里笔者用的StringBuilder()来完成字符串的拼接,为了让读者明白StringBuilder()的作用,这里我将用这两个题目来做对比。示例1:示例2:红色的勾画与蓝色的勾画就是笔者为了说明StringBuilder()的地方,两者得到意思都是相同,为了将数组里的数字打印出来,并且最后前后都有中括号,不同的是示例1是无返回值的,示例2是有返回值的,并且笔者认为示例2的append(..

2021-09-28 00:23:56 3445

原创 JAVA的StringBuilder()方法,该方法添加数据不会浪费堆里的空间

在字符串中的添加,如果用一般的添加的话,在堆里面会造成空间的浪费:public static void mian(String[] args){ String s="Hello"; s+="Wold";System.out.println(s);}由此可见,在对立面会有两个s,一个是Hello,另一个是Wold,最后打印出来的s才是我们需要的;因此,为了不出现空间的浪费,我们可以使用S他ringBuilder()方法。public static voi...

2021-09-27 23:56:18 357

原创 JAVA字符串反转的三种方法

在键盘中输入asd,反转后得到的是:dsa,这就是字符串的反转;这其中的思路就是运用到逆向遍历的想法。先从键盘中录入字符串,然后获取字符串中的每个字符,再进行逆向的遍历,将遍历的字符放在一个新建的空字符串中,逆向遍历再方法中进行,将遍历后的新字符串再main()方法中调用,就能实现字符串的反转。其中charAt(int)是获取字符串中的一个字符代码如下:运行结果:...

2021-09-21 01:33:45 3103

原创 JAVA实现用户登录

使用java.util包下的Scanner()类录入键盘输入的值,实现用户登录的关键思路是,创建好的String的字符串,也就是账户和密码要和与键盘输入的字符串相等,字符串的内容比较就要用到equals()方法。这里区分一下==,基本数据类型比较的是数值是否相等,引用数据类型比较的是地址值是否相等;字符串是对象,比较它的内容是否相等,就需要用到equals()方法。代码如下:输入成功:输入失败:注:3次机会,而i从0开始,因此次数用2-表示...

2021-09-20 23:49:39 2776 1

原创 JAVA数组的反转

定义一个数组{1,2,3,4,5,6},通过反转让数组变为{6,5,4,3,2,1},实现反转就是让数组第一个数和数组最后一个数字交换,第一个数我们定义为arr[start],最后一个数字定义为arr[end],再定义temp的int类型的空间值进行过渡,也就是说,将arr[start]=1的值赋值给temp,此时的arr[start]为空,再将arr[end]=6的值赋值给为空的arr[start],此时arr[start]=6,再将temp的值赋值给arr[end],此时arr[end]=5,这样就完成

2021-09-19 02:35:25 451

原创 JAVA实现冒泡排序

int[] arr=new int[]{5,8,10,7,6,9}位举例的一个长度位6的数组,现在让它实现降序排列,顾名思义就是数组左边大,右边小;第1步:数组5<8,现在需要将5和8调换位置,现在可以定义一个int类型的空间值temp来让着两个数字轮黄,temp是过渡的作用,将5存入temp中,arr[0]就为空,再把8放入arr[0]中,此时arr[0]=8;arr[1]就为空,再把temp中的5放入arr[1]中,此时,arr[1]=5,temp为空,于是temp作为过渡的作用就出来了。此时的数

2021-09-19 02:05:07 55

原创 Java实现评委打分

有6位评委,给表演打分,去掉一个最高分,去掉一个最低分,最后的平均分就是节目的最后得分思路:将6位评委的打分情况都存入数组,最后去掉最高分,最低分,在取平均值,首先在main()方法中需要录入数据,然后再写getMax()方法取得最高分,getMin()方法取得最低分,sum()方法取得总分,然后再main()方法中调用这三个方法,在int一个avg,在用总的sum见减去最高分和最低分,除以数组-2的长度,打印avg就得到节目的最后得分。package com.Demo.poo;import

2021-09-19 01:34:28 2795

原创 switch语句

switch语句用于多分支选择结构语法规则:Switch(表达式){case 常量1:语句;break;.......default:语句;break;}例如:public class jj { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入月份"); ...

2021-09-04 23:54:07 93

原创 Java从键盘输入数据

需要使用Scanner类的方法获取用户从键盘上输入的值,Scanner类位于java.util包中,使用前必须导入Scanner类。1:导入Scanner类import java.util.Scanner;2:创建Scanner对象Scanner sc =new Scanner(System.in);3:从键盘上获取用户输入的数据String/int/double/has num=input.next()/.nextInt()/.nextDoube()/hasnext();注解:

2021-09-04 22:28:50 2131

原创 条件语句中使用if-elese与三目运算

if-else语句:if(){}else{}例如:三目运算:test?trueRuslt:falseRuslt;例如:

2021-09-03 14:44:41 131

原创 java解决鸡兔同笼问题

鸡兔同笼,鸡头和兔头共35只,鸡兔的总脚是94只,求鸡和兔各多少只?设鸡有x只,兔有y只,头的总数x+y=35,脚的总数2x+4y=94单层for循环:双层for循环:

2021-09-03 00:16:35 1799

原创 利用JAVA使用双重for循环编写九九乘法表

九九乘法表是9行,9列,因此可以用双重for循环,这就需要两个变量,设置i和j,其中i表示行,j表示列;每一行的行数都大于列数,可以得出结论,j<=i;9行,因此i<=9;每一行的行数都大于列数,因此j<=i;...

2021-09-02 23:22:08 3471 2

空空如也

空空如也

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

TA关注的人

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