Java
文章平均质量分 62
快乐键盘侠
这个作者很懒,什么都没留下…
展开
-
Java常见设计模式 以及 架构设计
目录1. JDK中几个常用的设计模式2. 什么是设计模式3. 静态代理、JDK动态代理以及CGLIB动态代理4. 单例模式5. 工厂模式6. 观察者模式7. 装饰器模式1. JDK中几个常用的设计模式单例模式(Singleton pattern)用于Runtime,Calendar和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像Boolean.valueOf,观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器原创 2021-03-27 18:47:23 · 529 阅读 · 2 评论 -
JavaWeb-Servlet整理2
Servlet5. Http状态码5.1 HTTP 状态码列表5. Http状态码5.1 HTTP 状态码列表以下是可能从 Web 服务器返回的 HTTP 状态码和相关的信息列表:代码100101消息ContinueSwitchingProtocols描述只有请求的一部分已经被服务器接收,但只要它没有被拒绝,客户端应继续该请求。服务器切换协议。200 OK 请求成功。201 Created 该请求是完整的,并创建一个新的资源。202 Accepted 该请求被接受处理,但是原创 2021-03-22 00:47:01 · 379 阅读 · 0 评论 -
@WebServlet注解访问报404
web-app的version是否大于3.0web-app标签3.0以上版本才可以使用servlet的注解的metadata-complete=“false”该属性为true,则容器在部署时只依赖部署描述文件,忽略所有标注,如果不配置该属性,或者将其设置为false,则表示启动注解支持。不过注解和配置web.xml的方式不要同时使用否则会出错。...原创 2021-03-21 22:48:14 · 910 阅读 · 0 评论 -
JavaWeb-Servlet整理1
Servlet1. Servlet简介1.1 什么是servlet1.2 Servlet定位图1.3 Servlet核心作用1.4 Servlet标准 API核心包(在线文档)Servlet API有以下3个Java包:2. Servlet常见方法与生命周期2.1 概览3.2 HttpServlet处理Http请求1. Servlet简介1.1 什么是servlet概念: Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请原创 2021-03-21 14:58:03 · 91 阅读 · 0 评论 -
【算法题解:java】求和
目录标题题目分析代码题目输入两个整数 n 和 m,从数列1,2,3…n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1输入5 5输出1 42 35分析假设问题的解为F(n, m),可分解为两个子问题 F(n-1, m-n)和F(n-1, m)。对这两个问题递归求解,求解过程中,如果找到了符合条件的数字组合,则打印出来 例如 1, 2, 3, 4,原创 2021-03-18 16:07:14 · 617 阅读 · 1 评论 -
【算法题解:java】电话号码
目录标题题目代码题目上图是一个电话的九宫格,如你所见一个数字对应一些字母,因此在国外企业喜欢把电话号码设计成与自己公司名字相对应。例如公司的Help Desk号码是4357,因为4对应H、3对应E、5对应L、7对应P,因此4357就是HELP。同理,TUT-GLOP就代表888-4567、310-GINO代表310-4466。NowCoder刚进入外企,并不习惯这样的命名方式,现在给你一串电话号码列表,请你帮他转换成数字形式的号码,并去除重复的部分输入描述:输入包含多组数据。每组数据第一行包原创 2021-03-18 15:52:28 · 630 阅读 · 0 评论 -
Tomcat的基本使用以及基本原理
Tomcat的基本使用1. Tomcat的安装1.1 安装1.2 Tomcat 文件夹功能讲解1.3 基本使用2. 演示: Servlet 的 Hello World —— 不使用 IDEA3. 演示: Servlet 的 Hello World —— 使用 IDEA4. Tomcat4.1 相关概念4.2 HttpServlet 和 Servlet 的关系4.3 Tomcat 的作用及定位1. Tomcat的安装Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项原创 2021-03-17 22:13:40 · 335 阅读 · 0 评论 -
Java-Socket编程实现简易聊天室
Java-Socket编程实现简易聊天室(TCP)实现一个服务器接收多个客户端测试:首先启动服务器,然后启动三个客户端,输入三个不同的用户名,分别在聊天室发消息看其他客户端是否能接收到消息效果如下图:一号发消息可以在二号和三号客户端接收到消息服务器设计import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWrite原创 2021-03-14 17:06:05 · 1474 阅读 · 3 评论 -
JDBC常用套路-基于命令行的博客小项目
目录1. 项目简介2. 项目设计数据库设计:通用类设计:功能类设计:(统一继承Action接口)3. 项目测试1. 项目简介项目地址:https://github.com/Madrid-7/LinuxProject/tree/main/MySQL-BOKE该项目是为了练习JDBC的简单套路,在命令行实现简单的博客系统。该系统实现用户注册,用户登录,发表文章(需要先登录),查看文章列表,查看指定文章内容,评论文章,点赞文章等功能。Created with Raphaël 2.2.0Main打印菜单打原创 2021-03-06 21:23:20 · 133 阅读 · 0 评论 -
Java-基础IO整理
文章目录Java-IO1. File文件操作类1.1 File类使用1.2 File类常用方法-基本文件操作1.3 File类常用方法-目录操作1.4 File类常用方法-文件属性操作1.5 File类常用方法-其他操作1.6 综合-打印指定文件下目录列表2. 流2.1 流的概念2.2 什么是输入输出流2.3 什么是字节流,字符流2.4 字节流2.5 字符流2.6 字节流对比字符流2.7 字符字节转换流2.8 综合-复制目标到指定目录下3. 序列化与反序列化3.1 什么是序列化和反序列化3.2 什么时候需要原创 2021-02-09 14:57:29 · 121 阅读 · 2 评论 -
【算法题解:java】简单错误记录
目录标题题目分析代码题目开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名称不能带路径输入描述:一行或多行字符串。每行包括带路径文件名称,行号,以空格隔开。原创 2021-02-03 01:33:30 · 339 阅读 · 0 评论 -
【算法题解:java】说反话
目录标题题目分析代码题目给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入描述:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出描述:每个测试用例的输出占一行,输出倒序后的句子。示例输入Hello World Here I Come输出Come I Here World Hello分析按空格分割后原创 2021-02-03 01:29:22 · 232 阅读 · 0 评论 -
【算法题解:java】二叉树平衡检查
目录标题题目分析代码题目平衡的定义如下,已知对于树中的任意一个结点,若其两颗子树的高度差不超过1,则我们称该树平衡。现给定指向树根结点的指针TreeNode* root,请编写函数返回一个bool,表示该二叉树是否平衡。分析平衡二叉树是通过左右子树的高度来判断是否为平衡二叉树的,所以我们首先想到的是如何求一个树的高度,求一个树的高度可以用递归求解,每次求出左右子树的最大高度再加1便是父节点的高度,这样递归下去,便可以求出任何一颗树的高度。可以求出任何一个节点的高度,那么通过再次遍历二叉树,判断任何原创 2021-01-30 20:32:11 · 182 阅读 · 0 评论 -
【算法题解:java】密码验证合格程序
目录标题题目代码题目密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例1输入021Abc9000021Abc9Abc1021ABC9000021$bc9000输出OKNGNGOK代码import java.util.Scanner;public class Main { pub原创 2021-01-30 11:53:10 · 389 阅读 · 1 评论 -
【算法题解:java】寻找第K大的数
目录标题题目分析代码题目有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。分析这题应该是用快排的思想:例如找49个元素里面第24大的元素,那么按如下步骤: 1.进行一次快排(将大的元素放在前半段,小的元素放在后半段),假设得到的中轴为p 2.判断 p - low + 1 == k ,如果成立,直接输出a[p],(因为前半段有k - 1个大于a[p]的元素,故a[p]为第K大的元素)原创 2021-01-28 17:10:58 · 1809 阅读 · 1 评论 -
【算法题解:java】统计回文
目录标题题目分析代码题目统计回文“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:在A的第一个字母之前: “b原创 2021-01-28 16:23:26 · 190 阅读 · 3 评论 -
Java多线程整理3-通信、对象的等待集wait set-多线程案例
Java多线程整理3-通信、对象的等待集wait set-多线程案例多线程整理31. 通信、对象的等待集wait set1.1 wait()方法1.2 notify()方法1.3 notifyAll()方法1.4 wait 和 sleep 的对比2. 多线程案例2.1 单例模式2.1.1 饿汉模式2.1.2 懒汉模式-单线程版(延迟加载)2.1.3 懒汉模式-多线程版-性能低2.1.4 懒汉模式-多线程版-二次判断-性能高2.2 阻塞式队列2.2.1 Java提供的阻塞队列2.2.2 阻塞队列实现2.3 定原创 2020-11-23 19:53:37 · 318 阅读 · 0 评论 -
编译原理——Java实现简单的词法分析器
Java实现简单的词法分析器1.实验目的掌握词法分析器的功能。掌握词法分析器的实现。2.文法介绍<程序>→PROGRAM <标识符>;<分程序>.<分程序>→<变量说明>BEGIN<语句表>END<变量说明>→VAR<变量表>:<类型>;| <空><变量表>→<变量表>,<变量> | <变量><类型>→INT原创 2020-10-30 22:00:58 · 2153 阅读 · 0 评论 -
Java多线程整理2-线程状态-线程安全问题-synchronized关键字以及volatile关键字
Java多线程整理2-多线程整理21. 线程的状态多线程整理21. 线程的状态原创 2020-10-18 23:15:46 · 409 阅读 · 2 评论 -
Java多线程整理1-概念-优势-创建-Thread 类及常见方法
Java多线程整理1-概念-优势-创建-Thread 类及常见方法多线程整理11. 概念2. 优势2.1 阻塞处理2.2 提升速度3. 创建线程3.1 方法一---继承Thread类3.2 方法二---实现 Runnable 接口3.3 方法三---使用匿名类_lambda表达式创建线程对象4. Thread 类及常见方法4.1 Thread 的常见构造方法4.2 Thread 的几个常见属性4.3 启动一个线程4.4 中断一个线程4.4.1 使用自定义的标志位通知停止4.4.2 使用Java提供的方式通知原创 2020-10-03 01:41:14 · 144 阅读 · 0 评论 -
java变量和运算符的基本知识点
java变量和运算符的基本知识点java基本类型定义变量(创建变量)变量使用注意事项数据类型转换运算符算术运算符算数运算符++、--的使用java基本类型java基本类型一共8种,如下图。八种字节数数据表示范围byte1-128~127short2-32768~32767int4-2147483648~2147483648long8-2...原创 2019-10-11 18:15:04 · 163 阅读 · 0 评论