- 博客(22)
- 资源 (7)
- 问答 (2)
- 收藏
- 关注
原创 使用 wireshark 分析 TCP 通信流程
使用 wireshark 分析 TCP 通信流程 文章目录使用 wireshark 分析 TCP 通信流程一、wireshark是什么?二、使用步骤1.下载 wireshark2.启用 telnet 客户端2.启动 wireshark 并设置过滤器3.观察三次握手过程4.观察确认应答5.观察四次挥手总结 一、wireshark是什么? wireshark是 windows 下的一个网络抓包工具. 虽然 Linux 命令行中有 tcpdump 工具同样能完成抓包, 但是 tcpdump 是纯命令行界面,
2021-10-29 22:36:39
2252
1
转载 JAVA堆内存管理
很好的一篇文章,转载了http://blog.51cto.com/lizhenliang/2164876?wx= JAVA堆内存管理是影响性能主要因素之一。 堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。 先看下JAVA堆内存是如何划分的,如图: Java堆内存又溢出了!教你一招必杀技 JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent G
2021-10-22 21:22:48
250
原创 我的个人博客项目(附源码)
我的个人博客项目 文章目录我的个人博客项目前言一、实现登录功能二、数据存储与JDBC连接三、实现新增博客四、实现修改博客五、实现删除博客 前言 在长达1个月的设计制作过程中,遇到了很多的问题,也学到了很多知识。下面对本项目做以下介绍: 1.项目介绍:实现了登录页面、新增博客、修改博客、删除博客等功能。我们可以在这个博客网页中写出自己内心的想法; 2.开发环境:IDEA、MySQL、Tomcat; 3.开发技术:JAVA、JDBC、HTML、Maven、Servlet、Ajax、HTTP; 4.技术描
2021-08-24 20:54:04
2747
2
原创 (java)输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。
(java)输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。
2021-04-30 11:07:51
1333
原创 求最少需要多少步可以变为Fibonacci数
目录一.题目二.思路三.代码实现 一.题目 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。 二
2021-04-24 17:29:43
795
7
原创 整数逆序输出字符串(JAVA)
Java实现整数逆序输出字符串 1.整数逆序输出整数时 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("输入一个整数"); int num = input.nextInt(); while (
2021-04-23 15:42:39
381
2
原创 MapAndSet例题
771.给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/jewels-and-stones 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 class Solution {
2021-04-22 20:52:24
313
5
原创 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
解题思路: 由题意知任意两块蛋糕的欧几里得距离不能等于2,也即有两组关系:(1)x1 - x2 = 2(或-2),y1 - y2 = 0;(2)y1 - y2 = 2(或-2),x1 - x2 = 0;可理解为若开始放蛋糕的位置为(x,y);则对于每一行来说(x + 2, y)处不能放蛋糕;对于每一列来说(x, y + 2)处不能放蛋糕。 一个较为简单的数学问题,举例就能发现规律,4为周期,如下图: 我们也可定义一个二维数组,不初始化,则其默认的值均为0;然后把不能放蛋糕的地方置为-1;最后还剩几个0就表
2021-04-20 17:09:11
601
7
原创 用非递归来实现归并排序
文章目录一、原理二、代码实现1.实现代码2.main函数部分验证总结 使用非递归来实现归并排序 一、原理 使用一个栈,来模拟递归的过程 本质:二叉树的非递归先序遍历: 创建一个栈 根节点入栈 取栈顶元素 访问元素 右子树入栈 左子树入栈 二、代码实现 代码如下(示例): 1.实现代码 //使用非递归来实现快速排序 public static void quickSortByLoop(int[] arr){ //1.创建一个栈,栈里面存放要去处理的区间 .
2021-04-15 12:03:27
556
2
原创 归并排序(Java)
文章目录一、归并排序原理二、性能分析三、代码实现1.原理2.main函数部分验证四、如何优化五、应用场景总结 归并排序 英文:MergeSort 一、归并排序原理 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子 序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 二、性能分析 时间复杂度:平均 O( n * log.
2021-04-14 21:46:05
1200
原创 使用非递归来实现快速排序
文章目录一、原理二、代码实现1.实现代码2.main函数部分验证总结 使用非递归来实现快速排序 一、原理 使用一个栈,来模拟递归的过程 二、代码实现 代码如下(示例): 1.实现代码 //使用非递归来实现快速排序 public static void quickSorByLoop(int[] arr){ //1.创建一个栈,栈里面存放要去处理的区间 Stack<Integer> stack = new Stack<>(); .
2021-04-14 14:28:41
702
1
原创 快速排序(JAVA)
文章目录一、快速排序原理二、性能分析三、代码实现1.原理2.main函数部分验证总结 快速排序 英文:QuickSort 一、快速排序原理 从待排序区间选择一个数,作为基准值(pivot); Partition: 遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基 准值大的(可以包含相等的)放到基准值的右边; 采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序, 或者小区间的长度 == 0,代表没有数据。 二、性能分析 时间复杂度.
2021-04-14 10:53:05
236
4
原创 冒泡排序(JAVA)
文章目录冒泡排序(JAVA)一、冒泡排序是什么?二、代码实现1.原理2.main函数部分验证总结 冒泡排序(JAVA) 一、冒泡排序是什么? 在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序。 二、代码实现 1.原理 代码如下(示例): //冒泡排序 public static void bubbleSort(int[] arr){ //[0,bou.
2021-04-14 10:03:14
1702
2
原创 堆排序(JAVA)
堆排序(JAVA) 原理:基本原理也是选择排序,只是不在使用遍历的方式查找无序区间的最大的数,而是通过堆来选择无序区间的最大的数。 注意: 排升序要建大堆;排降序要建小堆。 性能分析: 时间复杂度:O( n * log (n) ) 空间复杂度度:O(1) 稳定性:不稳定 实现: public static void heapSort(int[] arr){ //1.先建立堆 createHeap(arr); //2.需要循环的取出堆顶元素,和最后一个元
2021-04-12 22:41:23
1521
12
原创 多态
多态的优点 1.多态是封装的更进一步 2.方便扩展,未来如果需要新增新的子类,对于类的使用者来说影响很小 3.消灭一些分支语句,降低程序的圈复杂度
2021-04-12 22:14:36
168
原创 选择排序(Java)
选择排序(Java) 原理: 每一次从无序区间选出最大(或最小)的一个元素,存放在无序区间的最后(或最前),直到全部待排 序的数据元素排完 。 性能分析: 时间复杂度:O(n^2) 空间复杂度:O(1) 稳定性:不稳定 例: int[] a = { 9, 2, 5a, 7, 4, 3, 6, 5b }; // 交换中该情况无法识别,保证 5a 还在 5b 前边 实现: public static void selectSort(int[] arr){ int bound = 0;
2021-04-12 18:05:09
279
1
原创 希尔排序(Java)
希尔排序(Java) 原理: 希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分 成个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和 排序的工作。当到达=1时,所有记录在统一组内排好序。 希尔排序是对直接插入排序的优化。 当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了, 这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。 性能分析:
2021-04-12 17:52:17
2279
6
原创 插入排序(java)
插入排序(java) 英文:insertSort 原理:整个区间被分为 有序区间 无序区间 每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入 时间复杂度: 稳定性:稳定 插入排序,初始数据越接近有序,时间效率越高。 实现: public static void insertSort(int[] arr){
2021-04-12 17:42:39
317
3
原创 Java中异常的学习
Java中异常的学习 文章目录Java中异常的学习一、基础用法二、认识异常三、异常的基本用法1.捕获异常2.异常处理流程3.Java 异常体系四、注意事项 一、基础用法 主要涉及到这几个关键词 1.try:try 语句块中放置可能会抛出异常的代码。 2.catch:catch 语句块中放置用来处理异常的代码,try 和 catch 往往要搭配使用。当 try 中出现异常的时候,就会进入 catch 中执行。 3.throw:主动抛出一个异常对象。 4.throws:某个方法可能会抛出某些异常。 5.fi
2021-01-26 11:40:10
161
1
原创 循环的练习例题
循环的练习例题 文章目录循环的练习例题1.阶乘求和2.判断能否继续输入3.猜数游戏4.判定1000到2000有哪些是闰年5.判断是不是素数6.判断水仙花数 1.阶乘求和 int result = 0; //外层循环控制求和 for (int num = 1; num <= 5; num++) { //里层循环控制求num! int factorResult = 1; for (int i = 1
2021-01-21 22:20:51
573
3
原创 面向对象_继承和多态
面向对象_继承和多态 面向对象的特征:封装、继承、多态、抽象 文章目录面向对象_继承和多态一、继承概述:二、继承的好处?三、定义继承四、子父类中成员变量的特点。1.在子父类中,成员的特点体现。(一)、成员变量(二)、成员函数五、多态的概述 一、继承概述: 多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只需要继承那个类即可。 多个类可以称为子类,单独这个类称为父类或者超类,基类等。 子类可以直接访问父类中的非私有的属性和行为。 通过extends关键字让
2021-01-20 16:22:27
276
1
原创 Java理论知识
@Wmx-98 1.1 Java是什么 Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。下面我们通过Java官方提供的数据来一起感受一下,Java到底有多“火”。 1.2 为什么选择Java 通过上面的数据,同学们应该对Java目前到底有多流行有一个直观的认识了吧。这里有的同学
2021-01-18 21:44:33
271
1
JavaWeb入门到实战.rar
2021-04-14
Tomcat-8.5.41-windows-x64.rar
2021-04-14
有没有一种排序算法,它的时间复杂度是O(n*log(n) )的呢?
2021-04-14
谁能告诉我怎么快速的上传代码到gitee
2021-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅