Java
文章平均质量分 61
信仰xinyang
这个作者很懒,什么都没留下…
展开
-
【剑指offer-ACM】JZ24-合并两个有序链表
思路:同时遍历两个链表,比较两个链表当前节点的大小,选出较小的节点。当一个链表遍历完后跳出循环,此时要判断是否还有一个链表没遍历完,没遍历完的链表所有值肯定比已经形成的新链表的每个值都大,所以直接连在后面就可以。package com.zf;import java.util.List;import java.util.Scanner;//合并两个有序链表public class JZ25 { static class ListNode{ int val;原创 2021-12-01 23:12:44 · 499 阅读 · 0 评论 -
【剑指offer-ACM】JZ24-反转链表
思路:遍历链表的同时对链表进行反转,时间复杂度为O(1)。首先定义一个前驱节点指向当前节点的前驱,当前节点指向当前节点,利用当前节点对链表进行遍历,当当前节点的next为空时说明到达最后一个节点,就让头结点等于最后一个节点,同时在循环中先记录当前节点的下一个节点。因为改变当前节点的指针,后继节点就丢失了。package com.zf;import java.util.Scanner;//返转链表public class JZ24 { static class ListNode{原创 2021-12-01 22:22:10 · 570 阅读 · 0 评论 -
【剑指offer-ACM】JZ6-倒序输出链表
思路:使用一个栈来保存元素,利用栈的先进后出的特性,逐个弹出栈中元素加入list集合,即可实现倒序输出。package com.zf;//倒序输出链表import java.util.*;//构造链表节点public class JZ6 { static class ListNode{ int val; ListNode next=null; public ListNode(int val) { this.val =原创 2021-12-01 22:09:26 · 513 阅读 · 0 评论 -
多级反馈队列调度算法
如果有很多任务排队等着被处理,哪个任务先被处理,哪个任务后处理,这个需要由操作系统决定,这就是调度。多级反馈队列调度算法是目前操作系统调度算法中被公认的一种较好的调度算法。它可以满足各种类型进程的需要,既能使高优先级的作业得到响应又能使短作业(进程)迅速完成。基本概念多级反馈队列调度算法是一种根据先来先服务原则给就绪队列排序,为就绪队列赋予不同的优先级数,不同的时间片,按照优先级抢占CPU的调度算法。算法的实施过程如下:按照先来先服务原则排序,设置N个就绪队列为Q1,Q2…QN,每个队列中都可以放很原创 2021-11-28 22:17:20 · 3307 阅读 · 0 评论 -
Java中类加载过程
Java中类加载过程类的生命周期类加载过程类加载过程主要分为以下三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。加载加载过程中,主要完成三个工作:通过类的全类名找到该类的二进制字节流。将字节流所代表的静态存储结构转化为方法区中运行时数据结构。在内存中生成一个该类的class对象,作为方法区中数据的访问入口。注:加载阶段和连接阶段的部分工作是同步进行的,加载阶段未结束,可能连接阶段就已经开始工作了。连接连接主要有以下三个过程验证原创 2021-11-14 20:14:35 · 482 阅读 · 1 评论 -
两款垃圾回收器-CMS&G1
两款垃圾收集器-CMS&G1CMSCMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。它非常符合在注重用户体验的应用上使用。CMS是hotspot虚拟机第一款真正意义上的(基本上)实现GC工作线程和用户线程同时工作的垃圾收集器。CMS采用的垃圾收集算法是标记-清除算法。它的运作过程相比于前面几种垃圾收集器来说更加复杂一些。整个过程分为四个步骤:初始标记:暂停其他所有线程,标记一下GCROOTS能够关联到的对象。这个阶段速度很快并发标记:从原创 2021-11-13 21:09:44 · 842 阅读 · 0 评论 -
Java中一个对象的创建过程
Java中一个对象的创建过程step1:检查该类是否被加载当JVM执行一条new指令时,首先要去常量池中查找该类的符号引用。当在常量池中查找到该类的符号引用,就说明该类已经被类加载(方法区保存了该类的类加载信息),就可以继续执行后续操作。当在常量池中查找不到该类的符号引用,说明该类还没有被类加载,因此就要用类加载器执行该类的类加载过程。类加载完毕后执行后续操作。step2:为对象分配内存类加载之后,就要为新生对象分配内存空间。对象的大小在类加载的过程中就已经确定。分配空间有两种方式:1.指针碰撞原创 2021-11-11 21:38:36 · 1464 阅读 · 0 评论 -
并发基础(一)
并发基础(一)1.什么是进程,什么是线程?进程是程序的一次执行过程,进程是系统运行程序的最小单位。系统运行一个程序就是一个进程从创建,运行到销毁的过程。线程是比进程更小的执行单位,在一个进程中可以包含一个或者多个线程。同一个类的不同线程共享进程的方法区和堆,并且每个线程都有自己的虚拟机栈,本地方法栈和程序计数器。所以系统在产生一个线程,在不同线程之间进行切换的时候所付出的资源开销远小于进程。因此线程又被称为轻量级进程。2.线程和进程的区别?线程是进程划分出来的更小的执行单位,线程和进程最大的不同是原创 2021-11-03 17:50:21 · 154 阅读 · 0 评论 -
Java容器重点知识复习(一)
1.ArrayList和LinkedList的区别1.底层数据结构:ArrayList底层使用的是Object数组,LinkedList底层使用的是双向链表。2.是否线程安全:两者都是不同步的,所以都是线程不安全的。3.插入和删除操作受元素位置影响:对于ArrayList来说,插入和删除元素操作受元素位置影响。使用add方法添加元素时,会默认添加到列表末尾,时间复杂度为O(1),若在指定位置i添加或者删除元素,时间复杂度为o(n-i)。因为要将下标i和i后的所有元素前移或后移一位。对于LinkedL.原创 2021-11-01 23:15:37 · 130 阅读 · 0 评论 -
计算机网络常见面试题(二)
解法一#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;const int N = 20;//15超 用20char m[N][N];bool col[N], dg[N], udg[N];//col列上的状态,dg对角线,udg副对角线int n;void DFS(int u)//u表上行,i表示列 每一行一定有一个皇后,所以只用对列进行判断{ if (u == n)//遍历到.原创 2021-05-17 20:58:39 · 94 阅读 · 0 评论 -
计算机网络面试常见题.(一)md
计算机网络面试常见题1.五层协议体系结构及各层作用1.应用层应用层的任务是通过应用进程间的交互来完成特定的网络应用。应用层协议定义的是应用进程之间通信和交互的方式,对于不同的应用程序有不同的应用层协议。常见的有域名系统DNS,万维网应用的HTTP协议2.运输层运输层主要负责为两台主机的进程之间的通信提供通用数据传输服务,应用进程利用该服务传递应用层报文。通用的数据传输服务指的是不针对某一特定的网络应用,而是多种网络可以使用同一个运输层服务。运输层协议主要有两种 TCP:提供面向连接的,面向字节流的原创 2021-10-27 23:28:12 · 1972 阅读 · 1 评论 -
【剑指offer】行星碰撞-利于辅助栈并且判断碰撞条件
解题思路通过题目描述可以了解到,只有当数组中正负数分界线左边为正数,右边为负数时,才会发生碰撞,当数组中全为负数或者全为正数时(即不存在分界线),或者分界线左侧为负数,右侧为正数,例如 [-2,-1,1,2]以上几种情况时,不可能发生碰撞。用一个辅助栈当当前元素与栈顶元素异号,且分界线左侧为正数,右侧为负数(此时当前元素应为负,栈内元素为正),判断栈顶元素和当前元素绝对值大小1:当前元素绝对值<栈顶元素绝对值,栈顶元素不变,即此时当前元素爆炸;2:当前元素绝对值>栈顶元素绝对值,栈顶.原创 2021-09-28 14:26:31 · 78 阅读 · 0 评论 -
简单图书管理系统练习-Java+Mysql
一、梳理功能1.能够表示书籍信息,针对每本书来说,序号,书名,作者,价格,类型。2.能够表示用户信息,普通用户,管理员。3.支持的操作:对于普通用户:查看书籍列表,查询指定书籍,借书还书。对于 管理员:查看书籍列表,新增删除书籍。二、准备数据库创建用户表和书籍表create database if not exists java100_bookmanager;use java100_bookmanager;drop table if exists book;//设置id为自增主键cr原创 2021-09-25 15:21:05 · 8754 阅读 · 19 评论 -
基于比较的排序算法基本原理及Java实现
基于比较的排序算法基本原理及Java实现1. 七大基于比较的排序-总览1.1常见基于比较的排序分类1.2时间复杂度,空间复杂度以及稳定性。稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eePZLeWQ-1631196489338)(C:\Users\Administrator\AppData\Roaming\Typora\原创 2021-09-09 22:10:34 · 502 阅读 · 12 评论