自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android T AMS 全启动分析

androidT AMS源码分析

2023-01-03 00:06:44 176 1

原创 利用赫夫曼树加密压缩文件

因为鼠标落家里了,鼠标快递明天才到,所以明天再补充(5.23注释)package copy.huffmantree;import java.io.*;import java.util.*;/** * 一.把String字符转成ascii编码然后通过赫夫曼树生成唯一标识符。 * * */public class HuffmanDecode { public static void main(String[] args) { //srcFile是输入,dstFil

2022-05-23 19:47:36 223

转载 栈的思路分析和代码实现(Java)

栈是什么?1、栈是一个先入后出(FILO-First In Last Out)的有序列表。2、栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。3、根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除栈的数组设计思路定义一个 top 来表示栈顶的角标位置,初始化 为

2022-04-17 21:19:31 321

原创 栈综合实现计算器加减乘除(java实现)

前言:本文大部分思想和代码来自尚硅谷。该文章提供代码分析的不同角度。下面开始正文。思路解析:1、首先我们需要两个栈,一个是数字栈存放数字,一个字符栈存放字符,然后根据符号优先级定义出栈顺序。2、具体如下2.1 通过一个 index 值(索引),来遍历我们的表达式如果我们发现是一个数字, 就直接入数栈。2.2 如果发现扫描到是一个符号, 就分如下情况: 2.2.1 如果发现当前的符号栈为 空,就直接入栈 2.2.2 如果符号栈有操作符,就进行比较,如果当前的操作...

2022-04-17 21:14:04 885

原创 KMP算法(Java实现)(困难)

太难了KMP算法,想了一天才想懂。

2022-04-10 15:26:02 1401

原创 求X的平方根,二分查找实现和牛顿迭代实现

二分查找实现:首先我们先把中点找出来,如果mid平方<=x那么就把L移动到mid位置上+1,因为mid的位置已经算过一次了,mid=L+(r-L)。如果mid平方>=x那么就把r移动到mid位置上-1,还是mid=L+(r-L)。 private static int binarySeach(int x) { int index=0,left=0,right=x,times1=0; while (left<=right){ .

2022-04-06 00:33:49 341

原创 删除排序数组中的重复项

一个有序数组nums,原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不能使用额外的数组空间,必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。例:输入:[0,1,2,2,3,3,4]输出:5提升:重点考察双指针算法,一个慢指针一个快指针。public class SortedArrayDuplicates { public static void main(String[] args) { System.out.println(

2022-04-04 11:25:50 231

原创 systrace随笔,后续更新完善

-o 将html文件写入指定的文件,默认值是systrace systrace.py-t 跟踪设备n秒,如无设置,按回车结束。-b 使用Nkb限制缓冲区大小-k 用逗号分隔符隔开的,跟踪内核函数的活动。-a 启动对应用的跟踪,用逗号分隔符隔开-from-file 根据原始数据的txt文件生成html互动报告,非实时跟踪-e 在指定的设备上进行跟踪categories 指定系统进程的跟踪信息。绿色运行中作用:我们经常会查看 Running 状态的线程,查看其运行的时

2022-04-03 21:53:43 430

原创 寻找数组的中心下标(简单)

给定一个整数数组nums,请编写一个能够返回数组“中心下标”的方法中心下标是数组的一个下标,其左侧的所有元素相加的合等于右侧所有元素相加的和。如果数组不存在中心下标,返回-1。如果数组又多个中心下标,应该返回最靠近左边的哪一个。注意中心下标可能出现在数组的两端。import java.util.Arrays;public class ArrayCenterIndex { public static void main(String[] args) { Syste

2022-04-03 21:21:15 1232

原创 2、Linux内存中断体系结构

1、内存中断目的:硬件的中断响应->内核驱动的中断 系统调用的函数响应(sys_call)->系统调用 自定义中断->软件的软中断模式 信号中断(kill -signalnum)->了解信号的使用创建等 系统的异常和错误2、Linux的中断机制2.1分类:硬中断:由电脑主机的8259A类似的硬件中断控制芯片发出的中断,ARM中断控制器发出的中断软中断:异常 第一类:CPU自行保留的中,系统调用异常...

2022-04-03 18:23:15 1167

原创 1、操作系统的体系结构和功能流程(附Linux内核源码下载地址github)

操作系统的工作方式:把操作系统从用户态切换到内核态(用户应用程序到内核流程) 实现操作系统的系统调用(操作系统服务层) 应用操作系统提供的底层函数,进行功能实现 退出后从内核态切换到用户上图这三个文件实现了系统内核服务层的接口(Linux0.11版本)ams文件实现用户态切换到内核态。 0.11版本的Linux中sys文件中的函数都没具体实现,等待后续版本完善,如下图。操作系统内核中各级模块的相互关联1、Linux内核的整体模块:进程调度模块, 内存管理模.

2022-04-03 18:18:00 1315

原创 统计素数个数,暴力算法与埃氏算法

//count统计素数个数 public static int bf(int n){ int count=0; for (int i = 2; i < n; i++) { count+= isPrime(i)? 1:0; } return count; } //isPrime方法是进行素数运算,暴力算法 private static boolean isPrime(int...

2022-03-29 22:14:57 216

原创 反转链表关键代码迭代器写法和递归写法

public HeroNode reverse(HeroNode heroNode){ HeroNode next,prev=null; HeroNode cur=heroNode; while (cur!=null){ //head等于node1时cur.next=node2; next=cur.next; //node1的指针为空..

2022-03-27 20:46:44 1065

原创 手写单链表的增删改查(Java实现)

数据结构是编程的灵魂,任何时候都要学会数据结构

2022-03-27 13:59:44 647

空空如也

空空如也

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

TA关注的人

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