自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一周错题6(选择题)

1、IPv4版本的因特网总共有多少有效A类地址网络()?A类IP地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个。B类IP地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个 。C类IP地址范围从192.0.0.0到223.255.255.255。C类网络可达209万余个。D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在...

2020-07-17 22:49:01 884

原创 理解MySQL的事务

事务解决的问题:转账问题。甲向乙转账1000元执行步骤:1、甲的账户 - 1000 2、乙的账户 + 1000如果执行第一步之后,第二步出现问题,此时数据就发生了错误。事务就是把一组操作打包在一起,执行的时候能够保证这些操作之间满足一定的特性,避免出现上面的问题。事务的特性:1、原子性:一个事务是一个不可分割的单位。要么全部执行,要么全都不执行。(本质上是通过回滚方式来实现)。2、一致性:事务处于执行前后,数据处于合法状态。3、持久性:事务执行完毕之后,数据就被持久...

2020-07-12 23:37:42 179

原创 一周错题5(编程题)

1、整数与IP地址间的转换ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。import java.util.Scanner;public class Solution2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()

2020-07-08 23:57:06 863

原创 Http服务器版本2.

import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class HttpServerV2 { //1、修改代码格式 //2、解析url中的包含的参数 //3、演示cookie工作流程 .

2020-07-07 23:52:21 123

原创 Http服务器版本1.

import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.HashMap;import java.util.Map;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class HttpServerV1 { //http基于tcp实现,基于HT.

2020-07-07 23:51:18 214

原创 一周错题5(选择题)

1、下列关于线性链表的叙述中,正确的是( )。A 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C 进行插入与删除时,不需要移动表中的元素D 以上说法均不正确此题选C。链表的特点就是不一定按照顺序存储,无论是存储的空间位置还是存储的顺序都是任意的。2、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()A 仅修改队头指针B 仅修改队尾指针C 队头

2020-07-07 23:49:35 1765

原创 一周错题4(编程题)

1、成绩排序输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

2020-07-02 00:16:06 206

原创 一周错题4(选择题)

1、一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()共有109个。根据二叉树的性质,二叉树的第i层上的节点数最多2^i,(i>=0,即第一层i=0),第六层的节点数最多为2^5=32,则第七层节点数=2 *(32-9,总数即数每层节点数相加,2^0+2^1+2^2+..+9+...+2*(32-9)=109。2、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7 计算散列地址,并散列存储在散列表A【0....6】中,若采用线性

2020-07-01 23:44:59 731 2

原创 线程和线程池版本的TCP协议回显服务器

线程版本import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TcpThreadEchoServer { private ServerSocket serverSocket = null; public TcpThreadEchoServer(int port) throws IOException { serverSocket = new Serve

2020-06-29 22:52:00 92

原创 TCP协议实现回显服务器和客户端

import java.io.*;import java.net.Socket;import java.util.Scanner;public class TcpEchoClient { //1、启动客户端(不绑定端口),建立连接 //2、进入循环 // 2.1读取用户输入内容 // 2.2构造一个请求发送给服务器 // 2.3读取服务器响应数据 // 2.4把响应数据显示到界面上 private Socket socket = null;.

2020-06-27 23:15:57 317

原创 UDP协议实现回显客户端和服务器

import java.io.IOException;import java.net.*;import java.util.Scanner;public class UdpEchoClient { //客户端的主要流程 //1、从用户这里读取输入数据 //2、构造请求发送给服务器 //3、从服务器读取响应 //4、把响应写回给客户端 private DatagramSocket socket = null; private String se.

2020-06-26 21:46:47 285

原创 一周错题3(编程题)

1、生成格雷码在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。public class GrayCode { public String[] getGray(int n) { String[] resStrs = null; if (n == 1) { resStrs = new String[] {"0","1"};

2020-06-25 00:02:01 281

原创 一周错题3(选择题)

1、以下方法,哪个不是对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。重载指的是函数名相同,形参类型和形参个数不同,B 选项

2020-06-22 23:53:06 1818

原创 一周错题2(编程题)

1、删数有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。import java.util.ArrayList;import java.util.List;import java.util.Scanner;

2020-06-17 22:23:04 212

原创 一周错题2(选择题)

1、如何将GBK编码字节流转换到UTF-8编码字节流?先解码再编码。先用new String(src, "GBK")解码得到字符串,再用getBytes("UTF-8")编码字节数组。2、Java中的集合类包括ArrayList、LinkedList、HashMap等,下列关于集合类描述错误的是?A ArrayList和LinkedList均实现了List接口B ArrayList的访问速度比LinkedList快C 随机添加和删除元素时,ArrayList的表现更佳D HashMap

2020-06-15 18:01:41 1158

原创 基本型和基本型封装型进行“==”和 “equals()”比较

基本型和基本型封装型进行“==”运算符的比较,封装型会自动拆箱为基本型再进行比较。两个Integer类型进行“==”比较,如果其值再-128 - 127之间,返回true,否则返回false。两个基本型的封装型进行比较,首先equals() 会比较类型,类型相同,则继续比较值,如果都相同,返回true。基本型封装型调用equals(),但是参数是基本类型,会先自动装箱,基本型转换为封装类型,在比较。 public static void main(String[] args) {

2020-06-15 17:46:51 137

原创 sleep() 和 wait() 的区别

1、类不同sleep() 来自Thread 类;wait() 来自 Object 类。2、释放锁sleep() 不释放锁;wait() 释放锁。3、用法不同sleep() 到时间会自动恢复,wait() 可以使用notify() / notifyAll() 直接唤醒。notify() 和 notifyAll() 的区别?notify() 唤醒一个线程,notifyAll() 会唤醒所有的线程。notifyAll()调用后,会将全部线程有等待池转移到锁池,然后参与锁的竞争,竞争

2020-06-15 17:00:39 155

原创 一周错题(编程题)

1、寻找第K大。有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。 public static int findKth(int[] a, int n, int K) { return findKth2(a, 0,n-1, K); } private static int findKth2(int[] a, int left, int right,

2020-06-10 16:25:23 157

原创 一周错题(选择题)

1、要使对象具有序列化能力,则其类应该实现如下哪个接口()。 A java.io.Serializable B java.lang.Cloneable, C java.lang.CharSequence D java.lang.Comparable此题选A。Cloneable接口:在Object中定义,protected类型。实现了该接口,可调用clone()方法。CharSequence接口:是一个字符char序列。实现了该接口的类:CharBuffer...

2020-06-09 00:12:12 1281

原创 进程和线程的概念和区别

进程(Process):操作系统分配资源的最小单位。对于操作系统来说,一个任务就是一个进程。线程(Thread):操作系统调度和执行的最小单位。线程可以看成一种“轻量化” 的进程,每一个线程都是一条独立的“执行流”。线程包含在进程中,一个进程中可能会有多个线程,同一进程的很多线程之间,共享了一些资源。操作系统进行进程调度,本质上是针对这个进程的若干线程进行调度。同一进程的多个线程之间共享的资源主要是两方面:1、内存资源。2、打开的文件。线程不共享的资源:1、上下文、状

2020-06-07 23:37:58 249

原创 二叉树

二叉树是一种特殊的树,它的度不能超过2。即树种最大的结点含有的子数个数不能超过2。二叉树的基本形态。特殊二叉树:满二叉树:所有非叶子结点度都是2。完全二叉树:满二叉树右下角缺了一块。二叉树常见的四种遍历方式先序遍历:先访问根节点,递归遍历左子树,再递归遍历右子树。中序遍历:先访问左子树,递归遍历根节点,再递归遍历右子树。后序遍历:先访问左子树,递归遍历右子树,再递归遍历根节点。层序遍历:以上树为例:先序遍历结果:A B D C E...

2020-05-29 23:40:47 986

原创 栈和队列

栈的三个操作:入栈:将元素从栈顶往栈底放;出栈:将栈顶元素删除;取栈顶元素:获取到最上面的元素。 栈的特点:后进先出。队列的三个操作:入队列:从队尾插入元素;出队列:删除队首元素;取队首元素:获取队首位置元素的值。 队列的特点:先进先出。队列的变种:优先队列:出队列顺序与入队列顺序不相同,每次出队列元素都是优先级最高的元素。消息队列:按照“类型”来获取元素。阻塞队列:队列为空时,出队列操作会受到阻塞;队列满的时候,入队列操作会受到阻塞。无锁队列:线程安全的队列,比较高..

2020-05-25 23:00:59 101

原创 二叉树的基础操作

1、前序遍历:public static void preOrder(Node root) { if (root==null) { return; } System.out.println(root.val + " "); preOrder(root.left); preOrder(roo...

2020-05-03 11:51:52 79

原创 二叉树的遍历

先序遍历:先访问根节点,再递归访问左子树,再递归访问右子树。public class TestTree { static class Node { public char val; public Node right; public Node left; public Node(char val) { ...

2020-04-19 21:52:10 70

原创 ArrayList 和 LinkedList 的区别

1.ArrayList 基于数组实现 , LinkedList 基于链表实现.2.ArrayList 数据存放在连续空间上的 , LinkedList 数据不是存放在连续空间的.3.ArrayList 可以进行高效的随机访问 , 按下标操作时间复杂度为O(1).4.LinkedList 能够高效进行插入和删除 , 时间复杂度为O(1).5.对于add(index, elem) , ...

2020-04-16 22:26:11 68

原创 Java:String类(二)

1、字符串常见操作1.1字符串比较 String str1 = "hello"; String str2 = "Hello"; //不区分大小写比较 System.out.println(str1.equalsIgnoreCase(str2));//true //compareTo方法 :按照字典序来比较...

2020-04-15 21:02:58 177

原创 Java:String类(一)

1、创建字符串的几种方法 //方法一 String str1 = "hello"; //方法二 String str2 = new String("hello"); //方法三 char[] array = {'h','e','l','l','o'}; String str3 = n...

2020-04-13 22:06:09 84

原创 Java:删除链表中的倒数第k个结点

1、计算出整个链表长度,如果链表长度等于k,直接返回head.next;2、双指针 fast 和 slow 让fast先走k-1步,为了让下一步遍历结束后slow正好再被删结点的前一个位置,需要让fast再走一步,。3、两个指针同时开始走,每次一步,遍历结束,让slow的next指向下下个结点。public ListNode removeNthFromEnd(ListNode hea...

2020-04-12 21:51:38 657

原创 Java:两两交换链表中的结点prev

新建一个链表来保存交换后的链表;定义三个指针,分别指向第一、二个结点first 和second,新建链表的头结点prev;让prev.next 等于second结点,first.next 等于second.next,然后 second.next再等于first,第一、二结点完成交换,再让prev指向first;first 和 second 指向第三四结点,重复上述过程,依此类推,完成整...

2020-04-12 21:43:00 952

原创 Java抽象类和接口的区别

区别1、结构组成抽象类是包含抽象方法的类,用abstract修饰,可具有普通类的属性和方法。与普通类的区别是包含抽象方法。接口是抽象类的更进一步,用interface定义一个接口,接口中只能包含抽象方法和静态常量。区别2:权限抽象类:各种权限。接口:public权限。区别3:子类的使用抽象类使用extends关键字继承。接口使用implements关键字实现接口。...

2020-04-08 22:31:29 43

原创 Java:判断一个链表是不是回文链表

如果头结点为空,链表为空,是回文链表。定义两个指针,fast和slow,fast每次走两步,slow每次走一步。如果链表中的结点数是奇数,那么此时循环结束后,slow正好处于中间结点,fast!=null,那么让slow再走一步,让slow到末尾结点的结点数等于中间结点之前的结点数。逆置slow到末尾结点,然后再与前面的结点进行比较,若每一项都相等,则为回文链表。publ...

2020-04-08 22:12:46 239

原创 Java:移除链表中的重复节点

定义两个指针,两层while循环。第一层为slow非空的循环,第二层为fast循环,用来寻找并删除重复结点。slow循环和fast循环依次进行。public ListNode removeDuplicateNodes(ListNode head) { ListNode slow = head; while(slow!=null) { ...

2020-04-08 21:57:02 430

原创 Java:二进制链表转整数

public int getDecimalValue(ListNode head) { ListNode cur = head; int a = 0; while(cur!=null) { a = a*2+cur.val; cur = cur.next; ...

2020-04-08 21:37:55 213

原创 Java接口

接口是抽象类的更进一步,接口中只能包含抽象方法,字段只能包含静态常量。1、使用interface定义一个接口。interface Shape {}2、接口中的数据成员必须是一个常量,默认是public static final ,因此可省略。3、接口中的方法默认是public abstract 。4、接口当中不能够定义一个已经实现的方法。5、JDK1.8新特性,接口...

2020-04-05 23:46:41 117

原创 Java抽象类

抽象类:包含抽象方法的类,我们称为抽象类。abstract class Shape { //抽象方法:没有具体实现的方法 public abstract void draw();}关于抽象类:1、用abstract关键字进行修饰。2、从抽象类中可具有普通类的所有属性或者方法。3、抽象类跟普通类的区别之一是包含抽象方法。abstract class Sh...

2020-04-05 22:48:58 91

原创 输入一个链表,输出该链表中倒数第k个结点

public Node FindKthToTail(int k) { if(k <= 0 || k > size()) { return null; } Node fast = this.head; Node slow = this.head; for (int i = 0; i ...

2020-04-05 22:34:31 66

原创 理解Java多态

多态的优点:1、降低代码的使用成本。多态可以让类的调用者连这个类的类型是什么都不知道,只需要知道这个对象有某个方法即可。public static void drawMap(Shape shape) { shape.draw(); } public static void main(String[] args) { Shape shap...

2020-04-05 22:17:28 81

原创 OOP语言的三大特性:封装、继承和多态

封装:private关键字修饰属性或者方法,意义:降低代码的管理复杂度。继承:extends关键字。为了代码的重复使用,把一些重复的属性或者方法,就可以放在父类。class 子类 extends 父类注意事项:1、Java当中只能继承一个类,不能同时继承多个类。只支持单继承。2、父类当中私有的属性和方法,不能在子类当中访问。3、子类到底继承了父类的什么?除构造方...

2020-04-04 22:49:24 337

原创 Java : 方法的重写和方法的重载。

重写:override1、方法名相同。2、参数列表相同(参数的个数、类型)。3、返回值相同。重载:overload1、方法名相同。2、参数列表不同(参数的个数、类型)。3、返回值不做要求。...

2020-04-04 22:02:27 83

原创 Java:合并两个有序链表。

定义一个傀儡结点node。因为这两个链表都是有序的,先比较两个链表的第一项,比较小的那一项跟在傀儡结点的后面,较大的则跟下一项进行比较。当有链表为空时,直接将node.next等于另一链表的剩余结点。代码如下: public ListNode mergeTwoLists(ListNode headA, ListNode headB) { ListNode no...

2020-04-02 21:28:01 104

空空如也

空空如也

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

TA关注的人

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