笔记
文章平均质量分 57
bearstwu
这个作者很懒,什么都没留下…
展开
-
软件21级 考前复习题
查原创 2023-02-17 17:26:22 · 206 阅读 · 0 评论 -
【无标题】cs
【代码】软件21级面向对象程序设计Java寒假复习题。原创 2023-02-17 12:16:24 · 219 阅读 · 0 评论 -
Go语言文件处理
这里会将文件的内容进行读取,然后放入缓冲区内,然后只需要对这个对象进行readstring读取即可,那么有人会问这个底下是只有readstring函数吗,假如是要读取int什么的类型怎么办,这个非常简单,它的底下也存在着int一类的函数,那么有一个问题是不能确保每一个数据都是这个类型,那么我可以得到的可能性会下降,这样的话我还是建议直接使用readerString函数,那么在结束之后可以对文件结尾进行判断是否到达文件末尾,到达之后进行退出即可。这里注意,基本上是不需要对文件缓冲区进行处理的。原创 2023-01-16 22:35:13 · 206 阅读 · 0 评论 -
对于go语言当中的反射学习
go语言的反射原创 2022-09-23 09:24:20 · 192 阅读 · 0 评论 -
go语言相关学习
go原创 2022-09-22 16:13:48 · 151 阅读 · 0 评论 -
外部排序和大小堆相关知识
它的插入和查询复杂度都是 log(n),可以说比较高效。不过,堆调整时,每个节点都需要和左右孩子进行比较,即需要两次比较,在外部排序中,也就是需要读取两次外存,那能不能再优化下呢?于是,研究出了胜者树。胜者树只需要和兄弟节点进行比较,减少了一般的比较量。但是,胜者树还需要从父节点取一次值,并且,因为新插入的值取代了原先的最优胜者,这个新值向上调整的过程中,必定需要修改父节点的值,即必须要更新胜者。那能不能再优化呢?既然有胜者树,那自然也有败者树。败者树解决了胜者树存在的弊端,只需要和父节点比较一次,原创 2022-06-25 18:16:59 · 279 阅读 · 0 评论 -
c语言对文件相关的处理和应用
不全面,已经发现有写的相当不错的博客原创 2022-05-30 16:00:29 · 165 阅读 · 0 评论 -
线程池学习
在前面几篇博客中大体讲述了线程的大体思想和面对一些特殊多线程的处理现在出现了新的问题,当我想要处理线程问题的时候,我不可能一直处于创建和维持线程的存在,那么这个时候需要做的是想要创建一个新的东西,在里面存在很多或者足够使用的线程,当我需要在处理需要开辟一个新线程问题的时候,我可以在这个地方进行获得线程来处理这个事情,而在处理结束之后可以将线程从新放回线程之前所在的位置。为了达到这个目的,前人创建了一个新的概念叫做线程池。做一个简单的比喻,生,官方说法线程作为进程执行的最小单位。线程池字面上理解就是一堆线原创 2022-05-26 21:57:55 · 81 阅读 · 0 评论 -
synchronized浅析
synchronized在线程中最重要的功能还是保护线程安全,在线程处理的时候十分容易出现对数据的同时调用,这个时候出现问题主要是在面临线程处理了两次,但在这两次里面,实际上得到答案只得到了一次。那么为了解决这样的问题,必须要在处理一个计算某个在多个线程中同时出现的问题的时候直接避免其他线程也得到这个变量或者算式。那么在java之前的版本中更多实现的Volatile。在使用的时候出现了可见性的问题。类似在现在医院里面假如已经充满了患者的情况下,救护车没有可见性的话可能依然将病人带入这个医院,但到达之后才原创 2022-05-23 21:49:45 · 115 阅读 · 0 评论 -
线程相关点
在线程当中经常会遇到各种的特殊的办法,虽然不可能每一个办法都可以记得住,但要对其中比较常见的办法进行理解和记忆比如说获得当前线程对象,其名字或者对其改名可以static Thread currentThread() 获取当前线程对象 String getName() 获取线程对象名字 void setName(String name) 修改线程对象名字 通过这三个办法进行相关的操作,但大部分的办法操作相比于这三个看起来会简单一些据个例子,在示范代码当中存在这样的代码原创 2022-05-23 18:03:07 · 77 阅读 · 0 评论 -
BlockingQueue源码
/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Founda.原创 2022-05-22 13:48:37 · 129 阅读 · 0 评论 -
线程中常用方法
在object类方法当中,主要对wait和notify两个大类的办法有提示,如果做简单的学习可以只记住这几个办法即可void notify()唤醒在此对象监视器上等待的单个线程void notifyAll()唤醒在此对象监视器上等待的所有线程void wait( )导致当前的线程等待,直到其他线程调用此对象的notify( ) 方法或 notifyAll( ) 方法void wait(long timeout)导致当前的线程等待,直到其他线程调用此对象的notify() 方法或 n原创 2022-05-21 14:54:26 · 79 阅读 · 0 评论 -
线程学习(二)
中断线程在学习Java要注意到,Java更多的是应用在系统当中,系统如果收发一个很大的文件的话,很容易让人对这个事情感到厌烦,所以在使用线程的时候经常要考虑到存在需要给信号进行中断,Java可以很简单的出来处理这个情况,即使用interuped()办法进行标记,当线程存在处于interruted的状态下,就需要立刻暂停。说的太多没有意义,可以直接看例子public class Main { public static void main(String[] args) throws In原创 2022-05-20 20:22:01 · 58 阅读 · 0 评论 -
多线程基础学习
在java学习当中,最经常遇到的就是面对多个任务需要同时执行或者在一个较集中的时间内内进行,那么这个时候最好的方法不是使用多个程序进行运行,而是在在这个程序当中使用多线程处理,在日常中有一个词更容易被大家提及,就是进程,进程和线程在java中并不是同一个东西值得注意的是,在这里面一个进程可以拥有一个以上的线程,而线程是不可以同时作用在两个进程上,而在不同的系统当中,对线程的处理不一定都是一样的比如说在windows和linux中使用的是抢占式多任务,自己是无法在程序运行之后知道,而iOS是特殊的伪多任务原创 2022-05-20 18:12:15 · 123 阅读 · 0 评论 -
泛型类和泛型办法
在java学习当中,对于学习中的比较困难的地方主要集中在泛型,这篇文章主要记录一些我在泛型学习当中得到的概念和后续学习认识被推翻和重新重新创建的过程泛型在学习的时候需要保持对一句话的理解,泛型类型在逻辑上是可以看成多个不同的类型,但在实际上其还是一个相同的基本类型1.泛型类泛型类在类的定义当中使用还算常见,在通过泛型的时候可以完成对一组类的操作对外开放相同接口的目的,例如在接下来几章会学习的规则集set和队列list还有映射map常见的写法也是十分的简单,class+类名称<泛型表原创 2022-05-05 22:39:22 · 266 阅读 · 0 评论 -
java中==和equals区别
在java中存在equals进行对数据比较是否相同,但在正常情况下还存在“==”也可以表示对数据的对比,在java当中,一般来说是可以这样解释的在基础数据类型的比较的时候,应该使用“=="进行比较其值当存在引用数据类型的时候,可以使用“==”用于对其在内存中存放地址进行比较但在第二种情况下,除非是new出来一个新的对象,他们的比较结果会是true否则比较之后的结果会是false,因为在new了之后会重新开辟一块新的堆内存空间。(开始没有仔细看,在后面的学习中重新开辟空间和规则集中的has原创 2022-05-05 19:40:31 · 147 阅读 · 0 评论 -
java语言程序设计与数据结构第九章学习笔记
简单通过几个例子就可以大概了解第九章讲的东西,第一个是通过程序进行一个圆的面积的计算import java.util.Scanner;public class testcircle { public static void main(String[] args) { Circle circle1=new Circle(); System.out.println("the area of circle of radius"+circle1.radius+"i原创 2022-04-19 23:09:51 · 644 阅读 · 0 评论 -
cp.c大体过程
在linux系统中可以对两个文件进行拷贝可以利用cp txt1.c txt2.c进行一个文件上的拷贝,最终可以得到一个名为txt2.c而其中内容和txt1.c相同的文件。在这个过程中,重要的思路主要分为三步,第一步是将 txt1.c中的文件进行一个复制进入一个缓存区,第二步创造一个名为txt2.c的文件,第三步是将缓存区中txt1.c的内容进行一个复制最好可以得到一个得到一个名为txt2.c而其中内容和txt1.c相同的文件在这个过程中,常见的main函数里面不可以在使用其中常用的void 而应该改原创 2022-04-06 21:01:00 · 708 阅读 · 0 评论 -
快速幂的计算和使用
今天在刷洛谷的时候,正巧发现在普及题库中的p1045非常的有意思,可以从某种意义上相似于大数相加,但经过仔细思考便发现并不是这样简单的情况,这个题目要求的如果考虑的太少的话会导致循环中的次数太多,从而不可以很好的解决,只能花费大量的时间和空间进行一步一步的运算,大概估计便可以得到这个一定会导致结果的失败,那么不如利用其他方法快速幂的运算是在这种情况下比较好的一种情况。正如大家所知道的,在a进行自我的平方运算的时候,自乘的结果可以在自乘n次的情况下得到a的二的n次方,同时也有a的x次方和a的y次方进行原创 2022-03-21 19:31:55 · 1107 阅读 · 0 评论 -
哈希表学习
数组+链表的哈希表学习。个人理解,简单来说是通过数组,将数组中的每一个位置都被指针指向链表中的某一个存在,需要注意的还是哈希表中可能存在原创 2022-03-13 18:56:05 · 662 阅读 · 0 评论 -
洛谷部分题解
部分题面对题解p1100:题目描述给出一个小于2^{32}232的正整数。这个数可以用一个3232位的二进制数表示(不足3232位用00补足)。我们称这个二进制数的前1616位为“高位”,后1616位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。例如,数13145201314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 100000000000000101000000111011011000(添加了11原创 2021-12-23 16:16:07 · 1072 阅读 · 0 评论 -
二叉树练习和基本操作(笔记类型)
当链表学习结束,也就可以向更加重要的对内存的分配操作前进。那么这一篇是对二叉树的个人理解和思考。如果有不当的地方欢迎在评论区进行指导首先是介绍二叉树二叉排序树是一种比较有用的折衷方案。 数组的搜索比较方便,可以直接用下标,链表与之相反,删除和插入元素很快,但查找很慢。 二叉排序树就既有链表的好处,也有数组的好处。 在处理大批量的动态的数据是比较有用。我认为可以把它理解成为链表的一种进步,那么重点就是如何对这个进步的建设首先是先对其创建结构代码。这里的代码和链表很像,都是先是定义...原创 2021-12-09 20:58:22 · 523 阅读 · 0 评论 -
简单单链表的应用和基础性的编写
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。可以理解为一种更加好用的数组,其可以避免或者减少存放位置用完的情况。那么可以用以下代码进行一个简单的单链表的创建#include<stdio.h>#include<stdlib.h>这里使用两个头文件,其中的#include<stdlib.h>这里提供malloc,用于为整个链表的每一个节点分配内存。然后便是最重要的单链表的节点的创建的节点结构体.原创 2021-12-06 22:47:11 · 90 阅读 · 0 评论 -
【无标题】
1原创 2022-01-13 15:49:31 · 155 阅读 · 0 评论