
笔记
文章平均质量分 52
钢铁直男T_T
在学习技术的路上越走越远,希望回首时还能看见来时的脚印
展开
-
java中的流的分类
按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流和处理流两类。 JAVA常用的节点流: 常用处理流(关闭处理流使用关闭里面的节点流) 缓冲流:BufferedInputStrean BufferedOutputStream BufferedReader BufferedWriter 增加缓冲功能,避免频繁读写硬盘。 转换流:InputStreamReader OutputStreamReader 实现字节流和字符流之间的转换。 数据流 Dat原创 2022-06-07 09:49:58 · 528 阅读 · 0 评论 -
重载和重写
重载和重写这两个都是多态的一种表现形式。重载:1.重载是在编译器通过方法中形参的静态类型确定调用方法版本的过程。2.重载是多态在编译期的表现形式3.重载的判定只有两个条件(其他的条件都不能作为判定) 1.方法名一致 2.形参列表不同重写:1.重写在方法运行时,通过调用者的实际类型来确定调用的方法版本。(具体来说,就是子类中的重写方法在对应的class 文件常量池的位置相同,一旦子类没有重写,那么子类的实例就会沿着这个位置往上找,直到对应的父类的同名方法)2.重写只发生在可见的实例方法原创 2022-05-22 11:50:51 · 236 阅读 · 0 评论 -
创建线程并启动线程
创建线程并启动线程创建并启动线程的过程为: 定义线程 -> 实例化线程 -> 启动线程一、定义线程:1.继承java.lang.Thread 类。2.实现java.lang.Runnable 接口。二、实例化线程:1.如果是扩展java.lang.Thread 类的线程,则直接new 即可。2.如果是实现了java.lang.Runnable 接口的类,则用Thread 的构造方法:Thread(Runnable target);Thread(Runnable targe原创 2022-05-20 13:40:01 · 594 阅读 · 0 评论 -
单例模式的6种实现方式
单例模式的6种实现方式一、单例模式的定义**定义:**确保一个类只有一个实例,并提供该实例的全局访问点。这样做的好处是:有些实例,全局只需要一个就够了,适用单例模式就可以避免一个全局适用的类,频繁的创建和销毁,耗费系统资源。二、单例模式的设计要素一个私有构造函数(确保只能单例类自己创建实例)一个私有静态变量(确保只有一个实例)一个公有静态函数(给使用者提供调用方法)简单来说就是,单例类的构造方法不让其他人修改和适用;并且单例类自己只创建了一个实例,这个实例,其他人也无法修改和直接适用;然后单原创 2022-05-20 12:52:52 · 1398 阅读 · 0 评论 -
Linux 基础笔记 权限与文件管理
Linux 基础笔记 权限与文件管理字符界面中退出登录可用哪种方法?( )exit 命令或 Ctrl+D 组合键pwd命令的功能是什么?( )显示当前目录的绝对路径当前目录为/home,使用以下哪个命令后可进入/home/Studd/test目录?( )cd Studd/test假设根用户root当前所在目录为/usr/local,键入cd … 命令后,用户当前所在目录为( )/usr在Linux系统中,设备文件大部分安装在哪个目录下?( )/dev如何快原创 2022-05-05 12:31:56 · 1407 阅读 · 0 评论 -
Nacos启动失败 Caused by java.sql.SQLNonTransientConnectionException Could not create connection
Nacos启动失败 Caused by: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代原创 2022-04-26 12:14:09 · 6250 阅读 · 0 评论 -
如何写优快云博客
如何写优快云博客我这里使用Typora软件先将博客写好,这个软件可以去应用商城下载写好以后我们打开优快云博客网页,找到创作中心的写文章然后我们会找到导入找到我们要选择发布的博客导入后我们发现博客里的图片图片导入失败,我们需要手动再插入一遍图片插入完后,我们选择发布填写好相关的信息我们就可以发布了发布成功!...原创 2021-04-21 20:15:12 · 168 阅读 · 0 评论 -
简单的控制台绘图程序(Java)
简单的控制台绘图程序(Java)在这项作业中,你将编写一个简单的控制台绘图程序,以实现一个流行图形应用程序(如Microsoft Paint)的一些简化功能。具体来说,给定一些参数(例如边长、对齐设置),该程序在绘图画布上绘制等腰直角三角形和正方形。该程序还具有一定的能力来实现一些简单的转换,如旋转和缩放,并执行简单的错误检查。这个作业的设计是这样的,我们可以评估你对以下主题的知识:1)基本类的设计和实现,2)控制流结构(例如,if-then-else,循环),和3)基本I/O(例如,扫描仪类,格式化打印原创 2021-04-21 19:49:15 · 1636 阅读 · 0 评论 -
使用LinkedList模拟栈和队列
使用LinkedList模拟栈和队列栈和队列属于数据结构,栈是先进后出,队列是先进先出,我们知道java中的LinkedList有addFisrt()方法和removeFirst()方法还有removeLast()方法,那我们用这三个方法就可以模拟栈和队列LinkedList实现队列class MyQueue{ private LinkedList list; MyQueue(){ list=new LinkedList(); } //入队 public原创 2021-01-24 13:28:48 · 415 阅读 · 0 评论 -
字符串暴力匹配算法
字符串暴力匹配算法这个算法用到了字符串的charAt()方法,用来检测后一个字符串能否在前一个字符串中匹配到,如果有,返回第一个正确匹配字符的位置,否则返回-1。具体怎么匹配的呢?我们有两个指针,i指针在第一个字符串,j指针在第二个字符串。当两个指针都在字符串范围内,i指针先和j指针指向的内容比较,如果相等,进入匹配模式,i走一步,j走一步,再比较,如果匹配完后,j的数值等于b字符串的长度,那不就是说明a字符串中有b吗,所以返回i-j也就是进入匹配的那个位置。如果在匹配过程中a.charAt(i)==b原创 2021-01-21 00:13:55 · 268 阅读 · 1 评论 -
快速排序
快速排序快速排序 是我们实际开发中经常会用到的排序算法,而面试或笔试中遇到的概率也很大。快排有三种讲解法,我讲一下挖坑法。首先,我们做一下快速排序的准备工作。快排的原理说简单点就是分拣石头,我们找一个标准大小石头,比标准大的石头我们放在右边,小的放在左边,这样不就有序一些了吗,我们再把标准左边和右边的石头们递归排序,最后不就完全有序了吗。具体怎么实现呢,看下图,我们准备了一个无序数组x,定义了low和high当作指针,把mid当作标准从x[0]挖了一个坑后,我们先从最后面的数开始,如果x[high原创 2021-01-20 23:00:00 · 177 阅读 · 0 评论 -
Eclipse快捷键
Eclipse快捷键很多初学java的人都会接触到eclipse这个集成开发环境,但你真的会用吗?下面这些快捷键熟练使用会提高你的编程速度和编程体验。syso +alt+ / 快速补全System.out.println()alt+/ 代码提示alt+shift+s 生成getter setter方法或构造方法,toString()…ctrl+m 将当前视图最大化alt+s原创 2021-01-19 09:58:12 · 134 阅读 · 0 评论 -
抽奖程序
抽奖程序周作业2:编写一个抽奖程序, 运行的时候会随机输出一个由0和1组成的 16 位序列, 比如 1011001000011100, 0101011101010101 等如果得到序列中有 8个连续的1 则输出一等奖, 7个 则输出 二等奖,6 个则输出三等奖 , 否则输出没有中奖说一下思路:刚开始看到16位,01,我直接就想到了用一个2个字节的数据装一个数,然后把这个数转成二进制不就行了吗。然后又想,两个字节的数据有char和short,但是这两个数据好像都没有直接转二进制的原创 2021-01-18 11:17:15 · 1039 阅读 · 0 评论 -
二维数组旋转
二维数组旋转周作业1: 写程序,将一个正方形二维数组旋转90度//不是说按规律打印,是真的要把数组给旋转//要求: 尽量不要用新的数组 (尽量减少内存开销)这个题我可想了好久,第一想法是直接用另一个二维数组把旋转后的数放在新的数组中,但是要求不能用新数组,后来我又想用一个一维数组做暂存数组用来实现每一行每一列的数组交换,如果实现,虽然用了一维数组但比二维数组减少内存开销。但是吧,后来我发现还是不简单,一直没想出来,索性放弃了。一个多小时后写写画画后,我突然发现了光,哈哈哈。上图:我这里在交换时,原创 2021-01-18 10:00:17 · 509 阅读 · 1 评论 -
java中复制数组的方法
java中复制数组的方法 1、循环赋值 int []x={1,3,5}; int [] y=new int [x.length]; for(int i=0;i<x.length;i++) { y[i]=x[i]; }2、Arrays.copyOf() 方法 int [] x={1,3,5}; int [] y=Arrays.copyOf(x, x.length); //copyOf这个方法,传两个参数,一个是要复制的数组名,一个是原创 2021-01-11 23:22:20 · 145 阅读 · 0 评论 -
JAVA中的堆栈内存
JAVA中的堆栈内存初识java中的堆栈内存,理解变量和实体对象的存储机制。(个人笔记)java程序在运行的时候,为了提高程序的性能,java对程序运行期间用到的内存进行了管理。栈内存(Stack) 用来存储局部变量,变量用完,内存回收。java中的函数,在运行的时候,虚拟机会给它分配一块内存空间,称为栈内存(栈帧),然后,这个函数中声明的局部变量,就会从这块空间中分配空间,函数运行结束,这个函数申请到的这块空间就会回收,这个函数中所有的变量也就消失了,它们占的内存当然也会释放,具有快创建快销毁原创 2021-01-11 22:58:11 · 451 阅读 · 0 评论 -
选择排序
选择排序选择排序与冒泡排序有点类似,都是双重循环。但是不能混淆。选择排序是选择一个位置(标记位)依次和别的数进行比较(一般从第一个开始)如果大于,则交换, 最终标记位会是最小值。然后进行第二轮比较,以第二个数为标记位开始,交换以后标记位变成了第二小的值;进行n-1轮比较后,n个数也就按升序排好了。图解:两重循环,外层变量i就是标记位,内层循环j是标记位后面的位置,i位置的数和j位置的数依次比较。代码如下:public class MyFirst { public static void mai原创 2021-01-11 15:28:16 · 116 阅读 · 2 评论 -
冒泡排序
经典的冒泡排序冒泡排序太经典了,就和打印"Hello World"一样经典。但有的时候我还是会忘记冒泡排序怎么写,所以写下笔记和思路。首先从名字入手,冒泡冒泡,算法的过程就很形象了。把要排序的数据当成一个个大小不一的泡泡,我们通过一次次的比较最终把最大的泡泡排在最后面。第一次找出最大的泡泡排在最后面,第二次找到第二大的泡泡排在倒数第二的位置,总共进行n-1次,我们就能把所有泡泡排正确。先上图解:图中红色竖线后面的就是已经排好的,下次再比较就不用和它们比较了,我们每次比较从第一个开始,我们想象成泡原创 2021-01-10 13:41:45 · 120 阅读 · 0 评论 -
如何不用到第三个变量就能进行两个变量的值交换
如何不用到第三个变量就能进行两个变量的值交换一般我们在写程序时会有进行两个变量交换的情况,我们一般采用的方法就是用一个临时变量协助交换,那么能不能不用临时变量就能进行交换呢?答案是可以的,这里给出两种方法。1、巧妙运用两个变量的和public class Test1 { public static void main(String[] args) { int a=2; int b=89; a=a+b; //a=91; b=a-b; //91-89=2; a=a-b;原创 2021-01-10 10:43:48 · 602 阅读 · 1 评论 -
用java实现表白二维码(附源码)
用java实现表白二维码(附源码)以下源码可以实现生成一个表白二维码,扫描二维码就能看到二维码里蕴藏的信息。 import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.B原创 2021-01-08 16:28:38 · 2235 阅读 · 3 评论 -
关于Java中的a=a++;
关于Java中的a=a++笔记,仅作参考关于java中的++,先举几个例子1、 ++在后 int a=1; int b=a++; System.out.println(b);//b==1 System.out.println(a);//a==2 ++在后,先计算,再自增 int i=0; i=++i+i; System.out.println(i); //2 2、++在前,应该先自加,此时++i是1,那后面的+i,就应该是1,所以1+1赋值给i,所以最后原创 2021-01-08 15:24:50 · 2237 阅读 · 1 评论 -
进制转换
进制转换关于进制转换,这是基本上每个人都会学到的,我还还记得高中就有关于进制转换的题。那么在IT行业,这基本上每个程序员都要掌握。首先,在电脑上我们见到的有二进制,八进制,十进制,十六进制。对比我们平时用的10进制来学习别的进制是个非常好的方法。十进制逢10进1,二进制逢2进1…好了,还是进入正题吧。1、二进制转十进制 给你一个二进制数:0B10011 要求转换成10进制数,我们高中就学过按权相加法,名字啥的不重要,咱能算就行了。从最右边开始,从右到左给每一位头上按顺序标上0,1,2,…接着把每原创 2021-01-08 09:19:49 · 1599 阅读 · 2 评论 -
JAVA的安装以及环境变量配置详解
JAVA的安装以及环境变量配置详解1、java的安装 在进行安装之前,首先进行几个知识点的扫盲。什么是jvm、jre、jdk? JVM:(Java Virtual Machine) java虚拟机的英文缩写,当我们运行一个程序时,JVM 负责将字节码转换为特定机器代码,也就是把*.class文件转换成101010010这样的二进制代码然后交给电脑执行,JVM 提供了内存管理/垃圾回收和安全机制等。这种独立于硬件和操作系统,正是 java 程序可以一次编写多处执行的原因。JRE:普通用户只需要安原创 2021-01-06 15:46:29 · 293 阅读 · 2 评论