- 博客(35)
- 收藏
- 关注
原创 图片服务器项目
目录项目简介实现功能应用知识点项目的搭建数据库设计实现后端创建ImageServlet类插入图片查看图片信息删除图片创建imageshow类获取图片内容基于白名单方式的防盗链项目简介图片服务器:解决项目中插入图片的问题实现功能核心就是一个 HTTP 服务器, 提供对图片的增删改查能力,同时搭配简单的页面辅助完成图片上传和展示应用知识点Web项目的设计能力,Servlet的使用MySQL数据库的设计和使用基于 md5 实现相同图片内容只存一份基于白名单方式的防盗链项目的搭建数据库设计d
2021-09-17 19:37:54
345
原创 博客项目--西科论坛
项目简介西科论坛是基于博客系统改良的一个论坛项目。如果你还在为找工作没合适的经验指导而苦恼,就选择我们的西科论坛吧。在这里你可以看到学长学姐们的面试、笔试经验、内推信息、就业信息等。海量的信息,专为西科学子所打造的找工作的交流天地,希望能对自己的大学生活有更好的规划。实现的功能项目实现的功能如下:用户注册、用户登录、我的文章列表、添加我的文章、修改我的文章、删除我的文章、所有人文章列表、查看文章详情内容、文章访问量统计、文章点赞功能。使用的技术前端:html写简单网页功能,css美化网页,Java
2021-09-17 11:04:41
396
原创 爬楼梯(青蛙跳台阶问题)-各位相加问题-最后一次出现的数
【题目】假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。之前用了递归,但显示在45后超出时间限制,不能走出完全的测试用例所以题目本意不是用递归解决的解题思路: 动态规划 public int climbStairs(int n) { if(n==1) { return 1; } if(n==2) { re
2021-09-14 21:40:31
268
原创 每日一题13- 字符串拆分-跳格子
目录JVM内存for循环的执行顺序程序编译运行字符串拆分动态规划-跳格子JVM内存下面有关JVM内存,说法错误的是?A 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C 方法区用于存储JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,是线程隔离的D 原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的【答案】:C 一个变量放在哪里和f
2021-09-04 14:52:42
176
原创 String--StringBuilder和StringBuffer
字符串字符串常量池字符串不可变字符、字节与字符串字符与字符串字节与字符串字符串常见的操作字符串比较字符串查找字符串替换字符串拆分字符串截取其他操作方法StringBuilder和StringBuffer字符串常量池String类的设计使用了共享设计模式在JVM底层实际上会自动维护一个对象池(字符串常量池)如果现在采用了直接赋值的模式进行String类的对象实例化操作,那么该实例化对象(字符串内容)将自动保存到这个对象池之中。如果下次继续使用直接赋值的模式声明String类对象,此时对象池之中如若有
2021-09-03 17:28:00
258
原创 java常见的异常
异常处理的流程:程序先执行 try 中的代码。如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配。如果找到匹配的异常类型, 就会执行 catch 中的代码。如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者。无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行)。如果上层调用者也没有处理的了异常, 就继续向上传递。一直到 main 方法也没有合适的代码处理异常, 就会交给 JVM 来进行处理, 此
2021-09-03 16:08:47
169
原创 重载和重写-static关键字
说一下重载和重写的区别?【答】:重载需要满足3个要求:大前提是针对同一个类方法名相同;参数列表不同(类型和个数);返回值不做要求;重写的要求:针对的是父子类。接口与实现类之间方法名必须相同,返回值类型必须相同;参数列表必须相同;访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。构造方法不.
2021-09-02 11:31:09
217
原创 每日一题12-二进制的插入-查找组成一个偶数最接近的两个素数
【重载与重写】以下方法,哪个不是对add方法的重载?public class Test{public void add( int x,int y,int z){}}A public int add(int x,int y,float z){return 0;}B public int add(int x,int y,int z){return 0;}C public void add(int x,int y){}D 以上都不是【答案】:B【解析】:重载发生在本类,方法名相同,参数列
2021-08-30 21:34:22
377
原创 每日一题11-最近的公共祖先-最大的连续bit数
下面哪个标识符是合法的?A “9HelloWorld”B “_Hello World”C “Hello*World”D “Hello$World”【答案】:Djava的变量名有三种元素构成:数字+字母+$+下划线。并且不能以数字开头+不能是关键字以下描述正确的是A CallableStatement是PreparedStatement的父接口B PreparedStatement是CallableStatement的父接口C CallableStatement是Statement..
2021-08-27 11:48:51
106
原创 测试知识点
黑盒测试设计测试用例的方法?【等价类、边界值、因果图法、正交法、场景法、错误猜测法】软件测试的生命周期?【需求分析–测试计划–测试设计、测试开发–测试执行–测试评估】如何描述一个bug?【版本号、测试环境(平台系统)、测试步骤(数据)、实际结果、预期结果(需求一致)、附件(错误截图/错误日志)】如何定义bug的级别?【崩溃、严重、一般、次要】bug的生命周期?【】黑盒测试:黑盒测试不关注程序内部具体的实现,只关注功能的输入和输出是否满足需求。黑盒测试设计测试用例的方法?等价类、边界.
2021-08-24 23:35:14
2659
原创 每日一题10-Fibonacci数列-机器人走方格
结构型模式中最体现扩展性的模式是()A 装饰模式B 合成模式C 桥接模式D 适配器【解析】:装饰模式没有通过继承原有类来扩展功能,但却达到了一样的目的,而且比继承更加灵活,所以可以说装饰模式是继承关系的一种替代方案。学习博客:https://blog.csdn.net/weixin_43392489/article/details/103294692?utm_source=po_vip下列Java代码中的变量a、b、c分别在内存的____存储区存放。class A {private St.
2021-08-21 11:19:39
168
原创 每日一题9-末尾0的个数-数字颠倒
下面程序的输出是:()String x=“fmn”;x.toUpperCase();String y=x.replace(‘f’,‘F’);y=y+“wxy”;System.out.println(y)【答案】:Fmnwxy若程序改成:x = x.toUpperCase(); 其余不变,则输出结果为FMNwxy。有关下述Java代码描述正确的选项是____。public class TestClass {private static void testMethod(){System..
2021-08-20 20:54:34
122
原创 每日一题8-n个数最小的k个-删数
java中关于内存回收的正确说法是()A 程序员必须创建一个线程来释放内存B 内存回收程序负责释放无用内存C 内存回收程序允许程序员直接释放内存D 内存回收程序可以在指定的时间释放内存对象答案:【B】【解析】解析:A:垃圾回收程序是一般是在堆上分配空间不够的时候会自己进行一次GC,程序员不需要也不能主动释放内存。B:Java的内存释放由垃圾回收程序来进行释放C:在Java里,内存的释放由垃圾回收程序进行管理,程序员不能直接进行释放。D:程序员可以调用System.gc()运行垃圾回收器,.
2021-08-20 17:56:36
88
原创 TCP/IP协议
应用层传输层端口号端口号:找到应用程序端口号范围划分:知名端口号:0-1023;知名程序在启动后占用的端口号; SSH(22) FTP(21)Telnet(23)HTTTP(80) HTTPS(442)动态端口号:1024-65535;注意:两个程序不能使用一个端口号;一个程序可以使用两个端口号;(类似于人和手机号的对比)UDP协议16位源端口号:就是源程序端口号,根据这个端口号可以定义发送端;...
2021-08-19 10:29:19
170
原创 每日一题7
Math.round(11.5) 等于:()A 11B 11.5C 12D 12.5【解析】round是跟取整有关的函数 public static void main(String[] args) { System.out.println("小数点后第一位=5"); System.out.println("正数:Math.round(11.5)=" + Math.round(11.5));//12 System.out.println("负数.
2021-08-18 11:58:21
89
原创 每日一题6
下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:byte[] src,dst;A dst=String.frombytes(src,”GBK”).getbytes(“UTF-8”)B dst=new String (src,”GBK”).getbytes(“UTF-8”)C dst=new String (”GBK”, src,) getbytes()D dst=String.encode(String.decode(src,”GBK”)), “UTF-8”(1)GB.
2021-08-18 10:59:44
231
原创 trycatchfinally语句块中return情况
之前的每日一题,有遇到,特此给自己总结一下:例:执行下列代码的输出结果是(30 )public class Demo{public static void main(String args[]){int num = 10;System.out.println(test(num));}public static int test(int b){try{b += 10;return b;}catch(RuntimeException e){}catch(Exception e2)
2021-08-18 10:33:46
269
原创 每日一题5
下面的程序 编译运行后,在屏幕上显示的结果是(A)public class test {public static void main(String args[]) {int x,y;x=5>>2;y=x>>>2;System.out.println(y);}}A 0B 2C 5D 80分析:移位运算符左移<< 最左侧丢掉,最右侧补0 相当于乘2^n右移>> 最右侧丢掉,最左侧补符号位(正数补0,负数补1)相当于÷(2^n.
2021-08-12 00:05:11
319
原创 每日一题4
下面属于黑盒测试方法的是(C)A 语句覆盖B 逻辑覆盖C 边界值分析D 路径覆盖解析:黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为 C 。而 A 、 B 、 D 均为白盒测试方法。计算机存储信息的最小单位,称之为位( bit ,又称比特),存储器中所包含存储单元的数量称为存储容量,其计量基本单位是字节( Byte ,简称 B ), 8 个二进制位称为 1 个.
2021-08-11 15:18:21
62
原创 每日一题3
1.以下代码运行输出的是class Person { private String name = "Person"; int age = 0;} public static class child extends Person{ public String grade; public static void main(String[] args) { Person p = new TestDemo3();
2021-07-28 16:07:01
425
原创 初识JVM JVM组成-类加载-垃圾回收器
JVM概念JVM(java Virtual Machine java虚拟机)虚拟机:指通过软件模拟的具有完整的硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。为啥Java可以实现一次编写,到处运行? 因为JVM可以帮助我们处理不同硬件的差异。使用最广泛的JVM是 HotSpotJVM内存区域 JVM组成部分(5部分)堆 【线程共享】堆: 所有创建的对象信息都放在了这个区域,堆也是JVM中最大的一块内存。堆里面的数据划分:新生代:新创建的数据会在新生代,当经历了
2021-05-31 20:42:59
127
原创 网络原理初识
网络协议分类OSI 七层模型各层的功能:应用层:程序层(代码);表示层:将网络信息包转换成程序需要的数据结构;会话层:管理断开和连接会话的,管理传输层以下的分层;传输层:管理两个节点之间的数据传输;(类似于填写收件人信息和发件人信息)网络层:地址管理和路由选择;(类似于选择快递的传输方式)数据链路层:互连设备之间数据帧的传送和识别;(类似于确定具体传输的路径)物理层: 它的主要作用是传输比特流(就是由 1,0 转化为电流强弱来进行传输,到达目的地后在转化为1,0,也就是我们常说的模数转
2021-04-22 11:41:01
125
2
原创 简易版自制http
简易版自制http创建一个 tcp 服务器用ServerSocket ServerSocket serverSocket = new ServerSocket(prot);``等待客户端连接 Socket socket = serverSocket.accept();得到读写对象 进行读写操作 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()
2021-04-16 09:31:26
225
原创 记录Java学习—运算符及循环
算数运算符1.基本四则运算:+ - * / %(取余)(可以对int 也可以对double)*增量赋值运算符:+= -= *= /= %=自增自减: ++ - - 如果不取自增运算表达式的返回值 则前置自增和后置自增无区别如果取自增运算表达式的返回值,则前置返回值是自增之后的值,后置是自增之前的值public static void main2(String[] args) { System.out.println(4 / 8.0); System.out.pri
2021-01-25 10:15:26
138
1
原创 记录Java学习—初识
初识Java1.在Java中,int既可以表示正数,也可以表示负数public static void main(String[] args) { System.out.println("hello java"); int a = -1; System.out.println(a); //在Java中,int既可以表示正数,也可以表示负数 //int b=2147483648;报错了 int范围-2^31至2^31-1
2021-01-25 09:58:27
57
原创 指针重点小小总结
1.使用指针打印数组内容写一个函数打印arr数组的内容,不使用数组下标,使用指针。arr是一个整形一维数组。2.写一个函数,可以逆序一个字符串的内容。3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+222224.求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=13+53+3^3,则153是一个“水仙花数”。5.打印菱形...
2020-11-15 21:09:50
1105
原创 操作符及练习
1.移位操作符2.位操作符求一个整数存储在内存中的二进制中1的个数3.sizeof和数组4.逻辑操作符 逻辑与,逻辑或5.整形提升练习1.求两个数二进制中不同位的个数。编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:72.打印整数二进制的奇数位和偶数位。获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列3.统计二进制中1的个数。即写一个函数返回参数二进制中 1 的个数。比如: 15 0000 1
2020-11-15 21:08:27
99
原创 数组的定义及练习
数组的定义和初始化二维数组存储练习1.实现一个对整形数组的冒泡排序2.创建一个整形数组,完成对数组的操作实现函数init() 初始化数组为全0实现print() 打印数组的每个元素实现reverse() 函数完成数组元素的逆置。要求:自己设计以上函数的参数,返回值。3.将数组A中的内容和数组B中的内容进行交换。(数组一样大)...
2020-11-08 21:45:11
375
原创 函数递归与练习
函数递归例如 求n个斐波那契数函数调用函数声明和定义练习1.递归方式实现打印一个整数的每一位2.递归和非递归分别实现求n的阶乘(不考虑溢出的问题)3.strlen的模拟(递归实现) 递归和非递归分别实现strlen4.字符串逆序(递归实现) 编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数5.计算一个数的每位之和(递归实现) 写一个递归函数DigitSum(n),输入一个非负整
2020-11-02 20:31:51
295
原创 分支和循环
if语句if(条件){return x;}else{return y;}输出1-100之间的奇数switch语句switch(整形表达式){case 整形常量表达式:语句;break;default:}
2020-10-23 10:19:12
345
原创 关键字static
关键字static今天学到了一个关键字static在c语言中,static是用来修饰变量和函数的。1.修饰局部变量-改变了生命周期,作用域没有变,生命周期变成了全局属性,而且用static修饰的局部变量只能被初始化一次,但可以被多次赋值。例如,注意变量b c的值,c的值一直没变,等于1。b的值随着程序变,每次加22.修饰全局变量时,改变了变量的作用域,使其不能跨文件访问。(extern声明一个外部变量)3.修饰函数时,使函数只能在本源文件内使用,不能跨文件使用。sizeof与strlen
2020-10-17 17:40:14
70
原创 hello world
不知不觉大三了,相比于考研还是更喜欢动手类型的找工作。想想日子过得真快,后悔之前没早点深刻的学习接触编程。不过,好在觉醒的不算晚。现在开始抓起以前学过的c语言,冲冲冲开始吧!!!大三了,每周还有专业的课程,但时间总是要挤一挤的,每周留一定时间去学习编程,看看博客里面大佬们的学习之路、经验之谈。既然选择了这路,就要坚持走下去,走出精彩。目标:想去外面的世界看看,想去杭州、上海、北京。...
2020-10-17 10:14:54
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人