- 博客(91)
- 收藏
- 关注
原创 如何关闭网页版【知乎】等页面的登录弹窗(以谷歌浏览器为例)
在不登陆知乎的情况下仍然可以正常浏览页面,可是每次打开新页面会重复出现弹窗要求用户登录。如何屏蔽掉这一弹窗呢?
2023-07-18 16:38:19
11600
2
原创 线性表——顺序表的初始化,插入、删除、按位按值查找以及时间复杂度
顺序表的初始化,顺序表的插入、顺序表的删除、顺序表的按位查找、顺序表的按值查找以及相应的时间复杂度 O()
2022-08-28 17:03:55
3044
原创 算法的五大特性
1.输入:在算法中可以有零个或者多个输入2.输出:在算法中至少有一个或者多个输出3.有穷行:在执行有限的步骤之后,自动结束不会出现无限循环并且每一个步骤在可接受的时间内完成4.确定性:算法的每一个步骤都具有确定的含义,不会出现二义性5.可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限的次数完成。1.输入:在算法中可以有零个或者多个输入2.输出:在算法中至少有一个或者多个输出3.有穷行:在执行有限的步骤之后,自动结束不会出现无限循环并且每一个步骤在可接受的时间内完成4.
2022-02-21 09:39:05
6065
原创 封装作用实现含义
我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关。具体内部是怎么实现的,我们不需要操心。需要让用户知道的才暴露出来,不需要让用户知道的全部隐藏起来,这就是封装。说的专业一点,封装就是把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。我们程序设计要追求“高内聚,低耦合”。 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是仅暴露
2022-01-20 18:03:52
104
原创 Object类、toString方法、==和equals方法、super关键字、继承树追溯
Object类基本特性Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。public class Person { ...}//等价于:public class Person extends Object { ...}toString方法Object类中定义有public String toString()方法,其返回值是 String 类型
2022-01-20 17:32:54
115
原创 面向对象进阶、继承、instanceof运算符、override方法重写
继承承让我们更加容易实现类的扩展。 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。public class Test{ public static void main(String[] args) { Student s = new Student("高淇",172,"Java"); s.rest();
2022-01-20 17:23:28
100
原创 包,导入类import,静态导入
包,导入类import,静态导入包机制是Java中管理类的重要手段。 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理。 包对于类,相当于文件夹对于文件的作用。package我们通过package实现对类的管理,package的使用有两个要点:1.通常是类的第一句非注释性语句。2.包名:域名倒着写即可,再加上模块名,便于内部管理类。com.sun.test;com.oracle.test;cn.sxt.gao.test;cn.sxt.gao.vi
2022-01-13 09:58:56
359
原创 this、static关键字、静态初始化块、参数传值机制
this关键字象创建的过程和this的本质构造方法是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回该类的对象,但这个对象并不是完全由构造器负责创建。创建一个对象分为如下四步:1. 分配对象空间,并将对象成员变量初始化为0或空2. 执行属性值的显示初始化3. 执行构造方法4. 返回对象的地址给相关的变量this的本质就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建。因此,在构造方法中也可以使用this代表“当前对象” 。this最常的用法:1.
2022-01-13 09:50:46
151
原创 数据结构和算法的关系
数据结构和算法的关系1)数据 data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构学好数据结构可以编写出更加漂亮,更加有效率的代码。2)要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.3)程序=数据结构 +算法4)数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。实际问题1、字符串替换问题用单链表表示的字符串类及字符串结点类的定义,并依次实现它的构造函数、以及计算串长度、串赋值、判断两串相等、求子串、两串连接、
2022-01-11 11:00:26
2036
原创 java:数据结构和算法的重要性
数据结构和算法的重要性1)算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算2)一般来讲程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序,再深入的思考一下,这些计算框架和缓存技术,它的核心功能是哪个部分呢?(底层也是算法)3)拿实际工作经历来说,在Unix下开发服务器程序,功能是要支持上千万人同时在线,在上线前,做内测,一切OK,可上线后,服务器就支撑不住了,公司的CTO对代码进行优化,再次上线,坚如磐石。你就能感受到程序是有灵魂的,就是算法。4)目
2022-01-10 18:55:38
1812
原创 经典面试题:字符串匹配KMP,汉诺塔,八皇后,马踏棋盘…
字符串匹配问题1)有一个字符串 strl=""硅硅谷尚硅谷你尚硅尚硅谷你尚硅谷你尚硅你好"",和一个子串 str2="尚硅谷你尚硅你"2)现在要判断str1 是否含有str2,如果存在,就返回第一次出现的位置,如果没有,则返回-13)要求用最快的速度来完成匹配4)你的思路是什么?暴力匹配[简单,但是效率低]KMP 算法《部分匹配表》...
2022-01-10 16:53:12
2896
原创 垃圾回收机制(Garbage Collection)
垃圾回收机制(Garbage Collection)Java引入了垃圾回收机制,令C++程序员最头疼的内存管理问题迎刃而解。Java程序员可以将更多的精力放到业务逻辑上而不是内存管理工作上,大大的提高了开发效率。垃圾回收原理和算法·内存管理Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放。对象空间的分配:使用new关键字创建对象即可对象空间的释放:将对象赋值null即可。垃圾回收器将负责回收所有”不可达”对象的内存空间。·垃圾回收过程任何一种垃圾回收算法一般要做两件
2022-01-10 09:19:49
288
原创 面向对象——构造方法
面向对象——构造方法构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。声明格式:[修饰符] 类名(形参列表){ //n条语句}通过new关键字调用!!构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。如果我们没有定义构造器,则编译器会自动定义一个
2022-01-10 08:59:23
133
原创 面向对象的内存分析
面向对象的内存分析Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。栈的特点如下:栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)栈属于线程私有,不能实现线程间的共享!栈的存储特性是“先进后出,后进先出”栈是由系统自动分配,速度快!栈是一个连续的内存空间!堆的特点如下:堆用于存储创建好的对象和数组(数组也是对象)
2022-01-10 08:27:46
131
原创 面向对象基础——基本概念
Java面向对象面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发各个阶段,对应面向对象就分别称为面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)。C语言是一种典型的面向过程语言,Jav
2022-01-10 08:26:41
119
原创 递归结构与总结
递归结构递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。利用递归可以用简单的程序来解决一些复杂的问题。比如:斐波那契数列的计算、汉诺塔、快排等问题。递归结构包括两个部分:递归头,递归体递归头:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。递归体:什么时候需要调用自身方法。/** * 简单测试递归 * @author xiaoliang * */public class
2022-01-10 08:06:24
906
原创 语句块,方法,方法重载
语句块,方法,方法重载语句块语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句。**块确定了局部变量的作用域。**块中的程序代码,作为一个整体,是要被一起执行的。块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块。public class Test { public static void main(String[] args) { int n
2022-01-10 07:33:25
189
原创 三类控制语句——循环语句
循环结构循环结构分两大类,一类是当型,一类是直到型。当型:当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。直到型:先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。while循环在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。语句中应有使循环趋向于结束的
2022-01-09 09:00:07
462
原创 三类控制语句——选择语句
控制语句控制语句分为三类:顺序、选择和循环。 “顺序结构”代表“先执行a,再执行b”的逻辑。比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚; “选择结构”代表“如果…,则…”的逻辑。比如,如果女朋友来电,则迅速接电话;如果看到红灯,则停车; “循环结构”代表“如果…,则再继续…”的逻辑。比如,如果没打通女朋友电话,则再继续打一次; 如果没找到喜欢的人,则再继续找。选择结构选择结构用于判断给定的条件,然后根据判断的结果来控制程序的流程。主要的选择结构有:if选择结构和switc
2022-01-07 16:43:37
861
原创 Java基础——运算符
Java基础——运算符运算符(operator)算术运算符+ , - , * , / , % , ++ , –赋值运算符=扩展运算符+= , -= , *= , /=关系运算符> , < , >= , <= , == , != , instanceof逻辑运算符&& , ll , ! , ^位运算符& , l , ! , ^ , ~ , >> , << , >&
2022-01-06 20:21:46
483
原创 Java基础——数据类型
Java基础——数据类型和运算符注释// ①单行注释/* ②多行注释 * //**③文档注释@author xiaoliang加一些说明性的文字,一些JavaDoc标签,生成项目 API*/注释的内容在编译器进行编译时会被抛弃,不会成为.class文件,仅在源码 里有注释内容,在字节码里不存在标识符...
2022-01-06 09:48:13
460
原创 java版本、运行环境简介,JVM、JRE、JDK
开局—三重:重代码、重底层、重项目代码——手敲底层——内存分析、源码分析项目——项目穿插简单介绍机器语言——》汇编语言——》高级语言Java优势——跨平台Java版本JavaSE——标准版——个人计算机JavaEE——企业版——服务器端JavaME——微型版——消费电子产品JAVA特性和优势——跨平台,可移植性安全性,面向对象,简单性...
2022-01-02 22:22:05
595
原创 2.1 线性表
线性表抽象数据类型定义//参考西北大学耿国华教授的《数据结构》第二版ADT LinerList{ 数据元素:D = {ai | ai ∈ D0 , i = 1,2,…,n , n>=0 , D0 为某一数据类型} 结构关系:R = {<ai,aj> | ai,ai+1 ∈D0,i = 1,2,…,n - 1} 基本操作: 1 InitList(L) 2 ListLength(L) 3 GetData(L,i) 4 InsList(L,i,e) 5 DelList(L,i
2021-12-21 19:21:56
1050
原创 2.2 处理机调度
处理机调度.概念;处理机调度:资源有限,确定某种规则来决定处理机处理这些任务的顺序;调度层次:一个作业从提交开始直到完成经理以下三级调度 1 作业调度 2 中级调度 3 进程调度...
2021-12-09 17:02:32
98
原创 2、进程管理 2.1进程和线程
进程管理进程和线程程序:静态的,是存放在磁盘里的可执行文件,一系列指令集合;进程:动态的,是程序一次执行过程,同一个程序多次执行会对应多个进程;在多道程序中,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征,...
2021-12-07 11:42:30
202
原创 1、计算机系统概述
1、计算机系统概述计算机系统自上而下分为4部分:硬件、操作系统、应用程序、用户。操纵系统OS是指控制和管理整个计算机系统的硬件与软件资源,合理的组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便的接口与环境的程序集合。四个特征:**并发:**两个或多个事件在同一时间间隔内发生,...
2021-12-06 09:37:33
665
原创 数据结构--编写算法
1、带尾指针的循环链表表示队列,写出出队和入队算法:#define MAXSIZE 50typedef struct LNode{ //定义链表结点 int data; struct LNode *next;}LNode,*Linklist;LinkList Head; //全局变量链表头LinkList IniList() //构造链表{ static LinkList head; head *(LinkList)malloc(sizeof(Lnode)); if(!h
2021-11-17 14:57:31
371
原创 长知识000-win10锁屏界面聚焦图片获得方法
win10锁屏界面聚焦图片获得方法第一步:在此电脑中找到C盘,文件目录如下:C:\Users\当前电脑登录的账户\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets第二步:打开文件夹找到目录下的文件,它们都是一些未知格式或者是没有扩展名的文件。第三步...
2020-05-02 21:27:37
601
1
原创 实例五十五:字符串统计问题
实例五十五:字符串统计问题问题描述:统计一个短字符串在另一个长字符串中出现的次数。算法思路#include<stdio.h>
2019-10-14 22:50:33
277
原创 实例五十四:最长共子序列问题
实例五十四:最长共子序列问题问题描述:编写程序,解决最长共子序列问题:给定两个序列 X = { x1 , x2 , … , xm } 和 Y = { y1 , y2 , … , yn } ,找出 X 和 Y 的最长公共子序列。PS:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。如果序列 { b,c,d,b} 是序列 {a,b,c,b,d,a,b} 的子序列。给定两个序列 X ...
2019-10-14 17:57:09
329
原创 实例五十三:字符串处理
实例五十三:字符串处理问题描述:编制一个字符串处理程序,实现将已知字符串 s 中的前导空白类字符和尾随的空白字符去掉,并将字符串字符中之间的连续多个空白字符缩减为一个空白字符。算法思路:...
2019-10-03 20:45:25
412
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人