自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1159 Structure of a Binary Tree(PAT Advanced level)

本来想着把树的存储结构都用一遍,但是后来在想如何处理输出的时候想到可以直接利用二叉树的顺序存储判断statement,感觉比二叉链表容易一些。

2023-03-18 16:18:06 84 1

原创 仿照例15.5,编写完整的基于数据报的多客户/服务器通信程序

import java.io.*;import java.net.*;class QuoteServerThread extends Thread//服务器线程{ protected DatagramSocket socket=null;//记录和本对象相关联的DatagramSocket对象 protected BufferedReader in=null;//用来读文件的一个Reader protected boolean moreQuotes=true;//标志变量,是否继续操作

2020-11-18 23:57:07 145

原创 仿照例15.4,编写完整的基于Socket的多客户/服务器通信程序

package p1;import java.io.*;import java.net.*;public class TalkClient { public static void main(String args[]) { try{ //向本机的4700端口发出客户请求 Socket socket=new Socket("127.0.0.1",4700); //由系统标准输入设备构造BufferedReader对象 BufferedReader sin=new Buf

2020-11-18 23:54:41 158

原创 JAVA第十五章习题

1.网络通讯协议分几层?各层解决什么问题?分为七层物理层:通过物理接口实现互联设备间比特形式的数据传输数据链路层:数据通道的建立与拆除网络层:解决跨越多个链路甚至不同设备间的通信问题,提供端对端的接口。传输层:解决处于不同网络设备间的通信连接、通信管理应用层:与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。表示层:主要功能是定义数据格式,代码转换和数据加密。会话层:建立或解除与其他接点的联系。2.TCP和UPD有什么不同,为什么称TCP是面向连接的可靠协议?区

2020-11-18 23:51:47 1000

原创 模拟烧水泡茶(java)

class Thread1 implements Runnable{ public void run(){ System.out.println("第1分钟洗水壶"); try { Thread.sleep(1000); } catch (InterruptedException e) {} }}class Thread2 implements Runnable{ public void run(){

2020-11-08 22:27:02 146

原创 volatile关键字的作用

作用每一条线程都只能直接操作虚拟机分配给自己的缓存,所以有缓存和主存同步的一系列操作。比如,线程修改了自己缓存中的某个变量,并不一定会立即同步到主存中,而关键字volatile就是保证更新要立即同步到主存中。表示禁用CPU缓存。使用场景一般来说多线程环境下各线程共享的变量都应该加volatile修饰。...

2020-11-08 22:11:42 34

原创 个人银行账户管理系统C++改Java(第八章)

代码package W8;public class Date { //日期类 private int year; //年 private int month; //月 private int day; //日 private int totalDays; //该日期是从公元元年1月1日开始的第几天 public int[] DAYS_BEFORE_MONTH =new int[]{ 0, 31, 59, 90, 120, 151, 181, 212, 243,

2020-11-01 21:52:25 271

原创 个人银行账户管理系统C++改Java(第七章)

代码package W7;public class Date { //日期类 private int year; //年 private int month; //月 private int day; //日 private int totalDays; //该日期是从公元元年1月1日开始的第几天 //存储平年中某个月1日之前有多少天,为便于getMaxDay函数的实现,该数组多出一项 public int[] DAYS_BEFORE_MONTH =new int

2020-11-01 21:49:30 111

原创 个人银行账户管理系统C++改Java(第六章)

代码package W6;public class Date { //日期类 private int year; //年 private int month; //月 private int day; //日 private int totalDays; //该日期是从公元元年1月1日开始的第几天 //存储平年中某个月1日之前有多少天,为便于getMaxDay函数的实现,该数组多出一项 public final int[] DAYS_BEFORE_MONTH =n

2020-11-01 21:44:11 80

原创 个人银行账户管理系统C++改Java(第五章)

代码package W5;public class SavingsAccount { //储蓄账户类 private int id; //账号 private double balance;//余额 private double rate;//存款的年利率 private int lastDate; //上次变更余额的时期 private double accumulation; //余额按日累加之和 private static double to

2020-11-01 21:41:41 132

原创 个人银行账户管理系统C++改Java(第四章)

代码package W4;public class SavingsAccount { //储蓄账户类 private int id; //账号 private double balance;//余额 private double rate;//存款的年利率 private int lastDate; //上次变更余额的时期 private double accumulation; //余额按日累加之和 //获得到指定日期为止的存款金额按日累积值

2020-11-01 21:39:17 150

原创 字符串的编码与解码

编码:将Unicode字符集转为本地字符集(如GB2312或GBK)的过程叫编码解码:解码指将本地字符集转为Unicode字符集的过程叫解码Java中常用的字符串的编码解码:1.将字符串转换成byte数组再恢复:byte[] getBytes(String charsetName)String(byte[] bytes, String charsetName)或getBytes()String(byte[] bytes)2.使用String sun.misc.BASE64Encode.e

2020-11-01 18:32:52 418

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

由于字符串拼接过程中会创建新的对象,所以如果要在一个循环体中进行字符串拼接,就要考虑内存问题和效率问题。而“+”反编译后的代码,在for循环中,每次都是new了一个StringBuilder,然后再把String转成StringBuilder,再进行append。而频繁的新建对象当然要耗费很多时间了,不仅仅会耗费时间,频繁的创建对象,还会造成内存资源的浪费。...

2020-11-01 17:22:30 180

原创 String,StringBuffer,StringBuilder的共同点和区别以及应用场景

三者的相同点:String,StringBuffer,StringBuilder都是用于表示字符序列的类 。区别:String:String对象是不可变的,每次对String对象进行改变的过程都等同于new一个对象,然后将指针指向新的 String 对象,这样不仅效率低下,而且大量浪费有限的内存空间。StringBuffer:有对象引用传递特点的字符串对象,是可变的字符序列,StringBuffer的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder:有对象引用传递特

2020-11-01 17:17:35 155

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

在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息。运行时系统负责寻找处置异常的代码并执行。捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler)。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器。运行时系统从发生异常的方法

2020-10-25 22:57:52 390

原创 JAVA中Error类和Exception类的区别

JAVA中Error类和Exception类的区别二者的区别在于Error是不需要捕获和进行处理的,当Error发生时,程序将会停止。而异常需要做声明抛出处理或程序捕获处理。Exception可以是可被控制(checked) 或不可控制的(unchecked),表示一个由程序员导致的错误。且应该在应用程序级被处理。Error则总是不可控制的(unchecked),经常用来用于表示系统错误或低层资源的错误,且如何可能的话,应该在系统级被捕捉。...

2020-10-25 21:52:22 153

原创 instanceof运算符使用场景

instanceof运算符使用场景该运算符是二目运算符,左边的操作元是一个对象,右边是一个类,当左边的对象是右边的类或子类创建的对象时,该运算符运算的结果是true,否则是false。因此,此运算符可以用于可以确定对象是否属于一个特定的类。注意:1.instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误。2.左边的对象实例不能是基础数据类型。3.null用instanceof跟任何类型比较时都是false。...

2020-10-25 21:40:47 143

原创 Java中的运行时多态的含义以及作用

Java中的运行时多态的含义以及作用含义:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。具体一点就是子类方法重写了父类方法。使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。作用:它使得许多事情在运行时就被得以解决,提供了更大的灵活性。...

2020-10-25 21:31:11 186

原创 组合与继承的关系以及应用场景

组合与继承的关系以及应用场景关系:组合是指将已存在的类型作为一个新建类的成员变量类型,两个类之间无上下级关系。继承是子类继承父类,父类的所有属性和方法都可以被子类访问和调用。JAVA的继承只能是单继承。使用场景:只需要使用另外一个类的方法时使用组合,需要使用另外一个类的作用时不想被其他的类访问用继承。...

2020-10-25 21:26:51 295

原创 如何实现两个对象之间互发消息

如何实现两个对象之间互发消息class A{ private B b; public void setB(B _b){ if(_b!=null){b=_b} } public B getB(){ if(b!=null){return b} else return null; }}class B{ A a; public B(A aa){ this.a=aa; aa.setB(this); }}通过对象引用的方法,创建两个类,这两个类中都

2020-10-25 20:19:34 150

原创 Java什么是覆盖?有什么作用?

什么是覆盖?定义:子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配。有什么作用?作用:可以在不更改父类的方法情况下创建了子类的方法,因此使程序更加安全。e.g.class A{ public void print(){ System.out.println("A"); }}class B extends A{ public void print(){ System.out.println("B"); }}...

2020-10-19 22:44:41 892

原创 Java什么是重载?有什么作用?

什么是重载?重载的定义:如果方法有功能类似,可以使用相同的名字来定义不同功能方法。定义重载方法的时候,要求:1.方法的名字必须相同,作用域必须相同2.参数必须不同(数量、类型、顺序不同)重载的作用:调用函数的时候,根据参数表可以自动调用对应的函数。因此不用为了对不同的参数类型或参数个数,而写多个函数。e.g.public class A { void test(){ System.out.println("1"); } void test(int num){ System.out

2020-10-19 22:39:49 652

原创 Java什么是组合?有什么作用?

什么是组合?组合即把一个类当成另一个类的组合成分,从而允许新类直接复用该类的public方法。组合的作用不破坏封装,整体类与局部类之间松耦合,彼此相对独立且具有更好的可扩展性。e.g.class A{ ……}class B{ A a //有A对象的引用,可以看作与A对象的组合 ……}...

2020-10-19 22:31:46 657

原创 子类对于从父类集成的哪些属性与方法是可见的?

虽然子类继承了父类的所有属性和方法, 但是只有public、protected的属性和方法在子类中是可见的。子类无法直接访问父类的private属性和方法,但是可以调用父类的公共方法来间接访问私有属性。...

2020-10-19 22:17:43 157

原创 Java的访问控制修饰符有哪些?各有什么访问权限?

访问修饰控制符:有3种访问修饰符:public、private、protected。以及不使用关键字的默认访问权限访问权限:权限修饰符同一个类同一个包不同包的子类不同包的非子类private√default√√protected√√√public√√√√1.private表示私有,只有自己类可以访问2.default表示没有修饰符,只有同一个包的类能访问3.protected表示可以被同一个包的类以及其他包中的它子

2020-10-19 22:14:30 651

原创 JAVA学习(3)

1.对象与对象引用的区别对象与对象引用的区别直接举例子吧,从例子中更容易理解对象与对象引用的区别先建立一个Demo类,用于后面的分析。

2020-10-13 18:45:31 130 2

原创 JAVA学习(2)

1.JAVA包含的数据类型基本类型:整数类型:byte,short,long,int浮点类型:float,double字符类型:char布尔类型:boolean复合数据类型:classintercface(接口)数组

2020-10-13 18:45:18 59

原创 JAVA学习(1)

1.过去学习编程语言的方法、经验和教训方法经验(1).课前预习,可以帮助自己在课上跟上老师的节奏,对语言的特性理解更加深刻。(2).课后练习认真完成,通过编程时所犯得错误来学习语言的编译原理和运行记者教训之前完成课后练习时遇到一些较难的题目,在网上查阅资料完成后对其原理不求甚解,今后应先独立思考,让自己对语言的特性更加了解,更好地掌握一门语言。2.JAVA语言的特点(1).简单(2).面向对象(3).平台无关性和可移植性(4).稳定性和安全性(5).多线程并且是动态的(6).高性能

2020-10-13 18:45:03 58

空空如也

空空如也

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

TA关注的人

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