自定义博客皮肤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)
  • 收藏
  • 关注

原创 反射

1、 定义Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。2 、用途在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法3.1、Cla

2020-08-17 21:19:00 166

原创 TCP建立和释放连接的三次握手和四次挥手

目录理清TCP socket编程和三次握手四次挥手的关系理清TCP重要报头文字理清三次握手的过程为什么建立连接需要三次握手呢理清四次挥手为什么断开连接需要四次挥手呢理清TCP socket编程和三次握手四次挥手的关系服务器端服务器端和客户端首先创建socket,服务器调用bind,绑定指定端口和IP。绑定端口主要是为了内核收到数据包知道交给哪个进程,绑定IP主要是因为机器可能有多个网卡,需要选择监听哪个网卡。然后服务器调用listen,将套接字转成被动套接字。接下来服务器就阻塞在accept等

2020-08-13 23:00:52 406 1

原创 常见的锁策略

一、乐观锁 vs 悲观锁1.1 乐观锁:乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则让返回用户错误的信息,让用户决定如何去做。1.2.实现:表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业务逻辑开始更新的时候,需要再次查看该字段的值是否和第一次的一样。如果一样更新,反之拒绝。2.1.悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样 别人

2020-08-04 16:58:23 394

原创 每日一题day13

1.能够PING通同网段的节点,但却如PING不通其他网段的所有节点的最可能的原因(A)A、本机网关设置错误B、本机没有正确设置DNSC、对方运行的是不同的操作系统D、二层交换机故障ping是TCP/IP协议族的一部分,其属于网络层协议。主要是用来检测网络是否通畅。如果要ping其他网段则需要设置网关。B错,和DNS没关系,DNS设置错会影响访问公网服务器的域名,而不会影响内部子设备直接是否ping通C错,ping命令是跨操作系统的,即Windows主机能ping通Linux主机D错,二层

2020-07-12 22:30:08 1865

原创 Servlet

1.下列哪项最恰当地描述了建立TCP连接时“第一次握手”所做的工作____。A、“连接发起方”向“接收方”发送一个SYN-ACK段B、“接收方”向“连接发起方”发送一个SYN-ACK段C、“连接发起方”向目标主机的TCP进程发送一个SYN段D、“接收方”向源主机得到TCP进程发送一个SYN段作为应答解析:第一次握手:客户端向服务器端发送SYN包(syn=j),进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,确认SYN,此时syn=j+1,同时发送一个SYN包(syn=

2020-07-08 14:40:39 181

原创 JDBC连接步骤

http 协议中,状态码 500 的意思为(D)A、 重定向B、 访问被拒绝C、未找到请求的内容D、 服务器内部有错误解析:200:请求成功,浏览器会把响应体的内容(通常是html显示在浏览器中404:请求的资源没找到,说明客户端错误的请求了不存在的资源。500:请求的资源找到了,但是 服务器 内部出现了错误301: 永久重定向302: 临时重定向,表示服务器要求浏览器重新发送一个请求,服务器会发送一个响应Location,它指定了请求的URL地址304:服务器端会...

2020-07-08 09:51:23 192

原创 每日一题day10

1、下列方法中,__E__不可以用来程序调优?A、改善数据访问方式以提升缓存命中率B、使用多线程的方式提高 I/O 密集型操作的效率C、利用数据库连接池替代直接的数据库访问D、利用迭代替代递归E、合并多个远程调用批量发送F、共享冗余数据提高访问效率解析:A,提升缓存命中率可以有效加快服务响应速度B,IO密集型表示大部分情况下IO处于繁忙状态。多线程适合于CPU等待长时间IO操作的情况,比如网络连接数据流的读写。在IO密集型情况下IO操作都比较慢,因此需要专门开线程等待IO响应,而不影响

2020-07-06 23:45:26 541

转载 产生死锁的原因和产生的必要条件

链接:https://www.nowcoder.com/questionTerminal/ad6d2eca354d4a21871c74dfe89aa81e?source=relative来源:牛客网产生死锁的原因主要是:(1)因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。 产生死锁的四个必要条件: (1

2020-07-04 23:59:42 391

原创 每日一题day09

1.当系统发生抖动(thrashing) 时,可以采取的有效措施是( Ⅰ)Ⅰ.撤销部分进程Ⅱ.增加磁盘交换区的容量Ⅲ.提高用户进程的优先级解析:发生“抖动”的根本原因是:同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。 太多的话, 最直接有效的方法当然是撤销部分进程2.进程的控制信息和描述信息存放在(PCB)。JCB: Job Control Block在操作系统的作业管理

2020-07-04 23:53:16 2512

原创 每日一题day08

1.若系统中只有用户级线程,则处理机调度单位是(B)。A 线程B 进程C 程序D 作业解析:如果系统只有用户态线程,则线程对操作系统是不可见的,操作系统只能调度进程;如果系统中有内核态线程,则操作系统可以按线程进行调度2.如果信号量的当前值为-4,则表示系统中在该信号量上有(A)个进程等待。A、 4B、 3C、 5D、 0解析:信号量为-m,就是有m个进程在等待,一共m+1个进程,还有一个已经进入临界区3.常所说的"存储保护"的基本含义是()。A、防止存储器硬件受损B

2020-07-04 17:04:12 1104

原创 每日一题day06

1.并发进程之间(D)。彼此无关必须同步必须互斥可能需要同步或互斥解析:这里应该考虑系统是单核还是多核,若是单核,并发只能互斥运行,若是多核,可以采用同步的方式运行2.一次I/O操作的结束,有可能导致(A)。A、一个进程由睡眠变就绪B、几个进程由睡眠变就绪C、一个进程由睡眠变运行D、几个进程由睡眠变运行解析:进程的三种基本状态:(1) 就绪状态:进程已获得除CPU外的所有必要资源,只等待CPU时的状态。一个系统会将多个处于就绪状态的进程排成一个就绪队列。(2)

2020-07-03 23:13:10 1003 1

原创 每日一题day07

1.输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。import java.util.Arrays;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String n = sc.nextLine();//输入第一个数 表示数字个数

2020-07-03 23:11:29 329

原创 每日一题day05

1.下列选项中,不可能是快速排序第2趟排序结果的是 ()A、2,3,5,4,6,7,9B、2,7,5,6,4,3,9C、3,2,5,4,7,6,9D、4,2,3,5,7,6,9来源:牛客网四个选项都是同样的数组元素,若完全有序,应为2345679每经过一趟快排,轴点元素都必然就位,也就是说,一趟下来至少有1个元素在其最终位置 所以考察各个选项,看有几个元素就位即可。A:2、3、6、7、9 B:2、9 C:9 D:5、9 第二趟至少应有2个元素就位,所以C不对。2.设有向图G=(V,E),顶

2020-06-29 01:20:23 1056

原创 每日一题day04

1.在 OSI 分层模型中,把传输的比特流划分为帧,是哪一层的功能( )传输层的数据叫段网络层叫包数据链路层叫帧物理层叫比特流2.一棵完全二叉树第六层有9个叶结点 (根为第一-层) ,则结点个数最多有()来源:牛客网第六层有9个叶结点,题目要求最多的结点数,可以推测还有第7层。第6层一共的结点数为32,减去9个叶子结点,(考虑最多结点情况下)剩下23个结点都有左右子树,故第7层一共有23*2=46个结点,最后加上前6层的结点数26-1=63, 46+63=109,因此最多的结点数为109.

2020-06-28 00:22:47 935

原创 每日一题day03

1.循环两列放在-维数组A0…M-1]中, end1指向队头元素,end2指向队尾元素的后一个位置。 假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中, 正确的是()队满条件为:(this.rear+1)%Size == this.front队空条件为:front==rear队列中元素的个数:(rear=front+Size)%Size2.以下数据结构说法,错误的是___ ?红黑树插入操作的平均时间复杂度为0(logn),最坏时间复杂度为o(

2020-06-27 01:00:52 594

原创 每日一题day02

1.在具有2n个结点的完全二叉树中,叶子结点个数为(n)完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。根据完全二叉树性质,如果共2n个结点,从根结点开始按层序用自然数 1 , 2 ,…, 2n 给结点编号,则编号为 n 的结点左子结点编号为 2n ,因此叶子结点编号为 n+1,n+2, … ,2n 。故叶子结点个数为 n2、将整数数组(7-6-3-5-4-1-2) 按照堆排序的方式原地进行升序排列,请问在第一轮排序结束之后,数组的顺序是( )利用堆

2020-06-26 00:54:02 354

原创 每日一题练习 day01

1.设无向图的顶点个数为n,则该图最多有多少条边?n (n-1) /2不同于以上答案n (n+1) /2n-1n每个顶点都可以与其它点相连,那么有n-1条边。总共有n个点,所以是n(n-1),而这样每个边又都多算了一遍,再除以二,答案:n(n-1)/2(有相图的顶点个数为n,则该图最多有n(n-1)条边)2.下述有关栈和队列的区别,说法错误的是?A.栈和队列都属于线性表B.口栈的插入操作时间复杂度都是o(1),队列的插入操作时间复杂度是o (n)C.队列是限定只能在表的一端进行插入和在

2020-06-25 00:48:15 667

原创 栈和队列

1、设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置队列长度为 k 。Front: 从队首获取元素。如果队列为空,返回 -1

2020-06-04 14:38:21 108

原创 二叉树

1.给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。来源:力扣(LeetCode) public boolean isSubtree(TreeNode s, TreeNode t) { if(s==null||t==null){ return false; } if(isSameTree(s,t)){

2020-05-18 23:59:55 576

原创 栈和队列

1.循环队列public class MyCircularQueue { public int[] elem; public int front; public int rear; /** Initialize your data structure here. Set the size of the queue to be k. */ public MyCircularQueue(int k) { this.elem=new int[k];

2020-05-18 17:21:36 87

原创 Java中的封装、继承、多态、抽象类和接口

一、private实现封装1.private/ public 这两个关键字表示 “访问权限控制” 。2.被 public 修饰的成员变量或者成员方法, 可以直接被类的调用者使用.3.被 private 修饰的成员变量或者成员方法, 不能被类的调用者使用4.换句话说, 类的使用者根本不需要知道, 也不需要关注一个类都有哪些 private 的成员. 从而让类调用者以更低的成本来使用类。二、继承基本语法: class 子类 extends 父类 {}使用 extends 指定父类.(1)J

2020-05-15 17:16:02 381

原创 String练习

1、给一个字符型的数组chas和一个整数size,请把大小为size的左半区整体右移到右半区,右半区整体移动到左半区示例:输入 abcdefg 3输出 efgabcdpublic static String func2(String str,int n){ if (str==null||n<=0||n>=str.length()){ return null; } String ret=reverse(str,0,

2020-05-13 10:12:36 240

原创 类和对象

1.类和对象的初步认识JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。面向对象注重的是对象,也就是参与过程所涉及到的主体。通过逻辑将一个个功能实现连接起来面向对象就是用代码(类)来描述客观世界的事物的一种方式. 一个类主要包含一个事物的属性和行为。2.类和类的实例化class为定义类的关...

2020-04-21 15:44:33 168 1

原创 数组(冒泡排序、二分查找)

1.求数组的平均值public static void main(String[] args) { int[] array={1,2,3,4,5,6}; System.out.println(avg(array)); }public static double avg(int[] array){ int ret=0; fo...

2020-04-17 23:53:04 150

原创 递归求解青蛙跳台阶问题+变态跳台阶

1.一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法 public static int jumpFloor(int target){ if(target==1){ return 1; }else if(target==2){ return 2; ...

2020-04-14 17:36:03 395

原创 递归求解汉诺塔问题

public static void move(char pos1,char pos2) { System.out.print(pos1+"-->"+pos2+" "); } /** * * @param n 盘子个数 * @param pos1 起始位置 * @param pos2 中途位置 ...

2020-04-14 17:32:30 351

原创 实现Java中toString功能

public static void main(String[] args) { } public static String myToString(int []array) { String ret="[ "; for(int i=0;i<array.length;i++) { ret=ret+array[i]; ...

2020-04-14 17:30:52 188

原创 数据类型

变量指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据。类型则是对变量的种类进行了划分, 不同的类型的变量具有不同的特性。1.1 整型变量 int (4个字节)基本语法格式:int 变量名 = 初始值;代码示例:int num = 10; // 定义一个整型变量System.out.println(num) ;//以下代码查看int的数据范围System.out.pr...

2020-04-10 23:59:00 207

原创 猜数字游戏

猜数字游戏#include <stdlib.h>#include <time.h>void menu(){ printf("******************************\n"); printf("**** 1.play 0.exit ****\n"); printf("******************************...

2020-04-07 13:24:13 136

原创 实现strcpy功能(逐步优化)

void my_strcpy(char* dest, char* src){ while (*src != '\0') { *dest = *src; dest++; src++; } *dest = *src;} void my_strcpy(char* dest, char* src) { while (*src != '\0') { *dest+...

2020-04-07 13:20:54 147

原创 水仙花数、打印菱形

1.求1-100000之间的水仙花数#include<math.h>int main(){ int i = 0; for (i = 0; i <= 100000; i++) { int sum = 0; int count = 1; //判断i是非为水仙花数 //1.计算i的位数 int tmp = i; while (tmp/=10) {...

2020-04-03 23:59:44 116

原创 3.31日的练习

编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include <string.h>int my_strlen(char* str){ int count = 0; while (*str != '\0') { count++; str++; ...

2020-03-31 22:32:30 89

原创 操作符练习

一、求两个数二进制中不同位的个数思路:先将m和n进行按位异或,此时m和n相同的二进制比特位清零,不同的二进制比特位为1统计异或完成后结果的二进制比特位中有多少个1void Dif_bit(int a, int b,int c){ c = a^b; int i = 0; int count = 0; for (i = 0; i < 32;i++) if (c >&...

2020-03-30 23:16:40 356

原创 扫雷

主要步骤:1.存放布置好的雷的信息2.存放排查出的雷的信息3.初始化棋盘4.打印棋盘5.布置雷6.排查雷<test.c–测试整个游戏game.h–函数声明game.c–函数的实现>1.test.c部分#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){ printf("*******...

2020-03-28 16:24:24 307

原创 函数递归

一、什么是递归?程序调用自身的编程技巧称为递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的主要思考方式在于:大事化小。二、递归的...

2020-03-27 23:01:08 191

原创 函数的调用:

1.传值调用函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。2.传址调用传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。这种传参方式可以让函数和函数外边的变量建立起正真的联系,也就是函数内部可以直接操作函数外部的变量。练习:1.调用函数实现两个数字的交换#include <stdio.h>int Swap(int *pa, in...

2020-03-25 14:49:30 356 1

原创 3.21日练习

1.数出1-100中含有数字9的数字个数2.计算1-1/2+1/3-1/4+…-1/100的值3.输出10个数中的最大值4.打印九九乘法表

2020-03-21 20:33:02 115

原创 3.19日的练习

switch语句时多分支的选择语句,switch中表达式结果命中那个case,就执行该case子项,如果case子项后没有跟break语句,则继续往下执行。即:先在内部switch的default位置打印hello,紧接着在外部case2中打印third2.将三个数从大到小排序3.求两个数的最大公约数4.判断是否是润年5.求100-200间的素数...

2020-03-20 00:17:50 116

原创 3.18日的练习

1.求数据类型的大小2.计算两个操作数的和

2020-03-18 23:00:35 134

原创 2020.3.12

大三工科女一枚,无特长,目前是一个编程小白,但我立志成为一名程序媛!!软件测试人员要具有认真、耐心、细致、敏感等个性元素,我还是挺蛮符合这些条件的:-)现在开始学习测试开发,六个月内完成学习任务!只要努力,什么时候开始都不晚(其实我还是很后悔没能早早开始T﹏T)。先从C语言基础语法学习,分支与循环、操作符、函数使用、数组基础。接着Java、数据库等。由于目前我还是一个小白,只能总结出这些大的方...

2020-03-12 22:33:08 106

空空如也

空空如也

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

TA关注的人

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