自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 编译原理期末复习

编译原理期末复习

2023-07-04 16:14:08 79

原创 Java基础知识点

数据类型Java源代码的文件名必须与公有类的名字相同,并用.java作为扩展名.在Java中,一共有8种基本类型(primitive type):4种整型、2个浮点型、1个用于表示unicode编码的char和1个表示 真值的boolean类型. 注意,Java中没有任何unsigned类型.JDK 5.0中可以用十六进制表示浮点数值,如0.125表示成0x1.0p-3.在十六进制表示法中,使用p表示指数.三个特殊的浮点数值:正无穷大、负无穷大、NaN.计算0/0,或者负数的平方根结果为Na

2021-12-23 21:30:46 129

原创 java 类与线程的一些知识

1.面向对象的主要特征是什么?三大特征是:封装、继承和多态。封装:是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。继承:是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。多态性:是指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。2.封装是如何实现的?封装是将对象的信息隐藏在对象内部,禁止外部程序直接

2021-12-23 21:23:06 138

原创 java 引用的比较时 “==”与“equal”的区别

equals():用来检测两个对象是否相等,即两个对象的内容是否相等,只要值相等,那么就返回true==:比较的内存的地址,即是否是同一个对象string a="123"string b=a;此时a==b返回true,显然此时a与b都指向同一个对象string a="123"string b="123"此时a==b也返回true,因为这个和python的机制一样,“123”被创建是常量,内存为其特地分配了一个空间,等到第二次string b=“123”时,因为这个常量空间已

2021-12-18 20:26:20 926

原创 TCP与UDP

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP是一种无连接的、不可靠的、不以字节流传输通信协议。UDP有别于TCP,有自己独立的套接字(IP+Port),它们的端口号不冲突。和TCP编程相比,UDP在使用前不需要进行连接,没有流的概念。如果说TCP协议通信与电话通信类似,那么UDP通信就与邮件通信类似:不需要实时连接,只需要目的地址。TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP通信前不需要建立连接,只要知道地址(ip地址和端

2021-12-18 19:54:40 531

原创 Java中的File类

Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。创建File对象成功后,可以使用以下列表中的方法操作文件。序号 方法描述 1 public String getName() 返回由此抽象路径名表示的文件或目录的名称。 2 public String getParent()、 返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回null..

2021-12-18 19:42:34 164

原创 Java中throw和throws的区别

1、throw用在方法体内throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。2、throw是具体向外抛异常的,抛出的是一个异常实例throws声明了是哪种类型的异常,使它的调用者可以捕获这个异常3、throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但 不一定。4、同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处 理,真正的处理由函数的上层调用处理...

2021-11-21 20:02:31 196

原创 Java序列化与反序列化

序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。与之相反的过程称为反序列化。 java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。java.io.ObjectInputStream代表对象输入流,它的readObject()

2021-11-21 20:00:04 65

原创 Java中 流 的分类

流在Java中是指计算中流动的缓冲区。从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”。字符流和字节流的主要区别:1.字节流读取的时候,读到一个字节就返回一个字节;字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。2.字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。1.字节流:..

2021-11-15 18:35:30 232

转载 Java提供了哪些同步机制来实现互斥?

互斥,是指散布在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。如果用对资源的访问来定义的话,互斥某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。synchro.

2021-11-15 12:55:52 222

原创 Java异常处理的两种方式

异常处理方式一:在当前方法中直接用try…catch处理异常处理方式二:在当前方法中不处理,throws 异常抛给调用者处理一.try-catch的方式就是捕获异常。 try:该代码块中编写可能产生异常的代码。 catch:用来进行某种异常的捕获,对捕获到的异常进行处理。 用try-catch的方式还可以添加final语句finally:有一些特定的代码无论异常是否发生,都需要执行。另外,因为异常会引发程序跳转,导致有些语句执行不到。而finally就是解决这个问题的,在

2021-11-15 12:50:32 5405

转载 Java提供了哪些同步机制来实现互斥?

Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。synchronized1.同步一个代码块public void func() { synchronized (this) { // ... }}它只作用于同一个对象,如果调用两个对象上的同步代码块,就不会进行同步。对于以下代码,使用 ExecutorService 执行了两个线程,由于调用的...

2021-11-15 12:35:44 103

原创 为什么不建议在for循环中使用“+“进行字符串拼接

String对象是不可变的,在String类中每一个 看起来会修改String对象内容的方法,实质都是创建了一个全新的对象。所以在for循环中每使用一次"+"运算符进行字符串拼接都创建了一个对象,随着循环次数的增加,创建的对象也随之增加,所占内存过多。...

2021-11-01 10:44:27 134

原创 请简述String,StringBuffer,StringBuilder三者之间的共同点与区别,应该分别在何种场景下使用?

相同点:1、三者都是Java平台提供的三种类型得到字符串,它们可以储存和操作字符串。不同点:1、String对象是不可变的String类是用final修饰的,意味着String内容是不能被引用的字符串改变的,每次对String对象进行改变的过程都等同于new一个对象,然后将指针指向新的 String 对象,这样不仅效率低下,而且大量浪费有限的内存空间。而StringBuffer和StringBuilder表示的字符串对象可以直接进行修改,,其对象能够被多次的修改,并且不产生新的未使用对象。2

2021-10-24 12:50:05 447

原创 ccfcsp 201903-2 二十四点

减号运算转换为加相反数是因为存在特殊情况a-b*c-d ,此时 c-d的-号视为减法没有问题,但是前面的负号由于算法原因,会计算为a-(b*c-d)不符合运算规则#include <iostream>using namespace std;int main(){ int n, num[5], temp;//num[0]可以看作栈顶指针,num[1到4]存放运算式子里的数字 char op[5]; //存放运算符 ,同理op[0]可以看作栈顶指针 num[0] ...

2021-10-24 12:17:13 72

原创 ccf csp试题编号: 201903-1 试题名称: 小中大

#include<iostream>#include<bits/stdc++.h>//万能头文件using namespace std;int main(){ long long n; cin>>n; long long A[n]; long long Max,Min; for(int i=0;i<n;i++) { cin>>A[i]; } Max=max...

2021-10-22 17:05:53 115

原创 C++小数点位数

#include<iostream>#include<iomanip>using namespace std;int main(){cout<<12345.0<<endl;//输出12345//cout<<fixed<<setprecision(2)<<123.456<<endl;/*如果在这个位置就加上fixed的话,后面的输出全部都按照fixed处理*/cout << setpre.

2021-10-20 22:19:56 6839

原创 Java的特点及与其他语言的区别

Java特点包括简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等,java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。一.简单性:Java是纯面向对象语言,语法简单明了,易于掌握。Java使用接口取代了多重继承,并且取消了指针,因为多重继承和指针会使程序变得复杂。Java还会自动地收集内存垃圾,使得内存管理变得更为简单Java还提供了丰富的类库、API文档以及第三方开发包,还有大量Java的开源项目。二.面向对象性:面向对象性事Java

2021-10-18 11:32:49 2305

原创 Java实现跨平台的原理

Java实现跨平台的原理:跨平台:一次编译,处处运行。实现原理:Java源代码经过编译,生成字节码文件,交由Java虚拟机来执行,不同得系统有不同得JVM,借助JVM实现跨平台。1、首先将java文件编译成字节码(.class)文件;2、使用Java虚拟机(JVM–Java Virtual Machine)运行运行字节码文件。上面的步骤中,第一步中,在所有的平台上生成的字节码文件都是相同的。上面的步骤中,第二步中,在不同的平台上运行字节码文件的Java虚拟机是不同的。Java的开发团队针对不同

2021-10-18 11:11:56 1058

原创 简述高级语言的编译型和解释型语言的编译执行过程的区别

一.什么是编译型语言编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,再由机器运行机器码(二进制),运行时不需要重新翻译,直接使用编译的结果就行了。比如C语言、C++、Golang、Pascal(Delphi)等。二.什么是解释型语言解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行,每执 行一次都要翻译一次。比如Python/JavaScript / Perl /Shell等三.两者间的区别解释性语言在运行程序

2021-09-18 21:21:16 1401

原创 简单介绍JDK、JRE、JVM

JDK 是Java开发工具包 (Java Development Kit ) 的缩写。从字面意思翻译过来就是java开发的工具。它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。JRE为Java Runtime Environment的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(J

2021-09-18 20:34:43 555

空空如也

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

TA关注的人

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