
JavaSE
熊三@
大千世界,尽须体验
展开
-
深拷贝和浅拷贝
1原创 2019-08-13 22:55:37 · 135 阅读 · 0 评论 -
HashMap里的hashcode和equals方法
class Roompublic class Room { private String no; private int isBooked; //0:未入住 1:入住 public Room(String no, int isBooked) { super(); this.no = no; this.isBooked = isBooked; } publ...原创 2020-03-01 19:24:46 · 1423 阅读 · 0 评论 -
Java实现酒店管理系统
1原创 2019-08-26 12:31:32 · 686 阅读 · 0 评论 -
聊天室代码
客户端代码package chat.room.server;import java.net.Socket;import java.io.IOException;import java.io.PrintStream;import java.util.Scanner;//客户端读取服务器端信息的线程class ClientReadServer implements Runnable{...原创 2019-11-08 18:07:56 · 571 阅读 · 0 评论 -
Java实现聊天室
1.聊天室4大功能用户上线注册、下线注销功能 私聊功能 群聊功能 统计聊天室在线人数功能2.基于多线程的聊天室的整体思路采用C/S模式(客户端/服务器) 客户端与服务器的连接,使用套接字建立TCP连接 处理多线程。每当有一个客户端与该服务器端建立连接后,需要创建新的线程去单独处理该客户端发送的信息 客户端方面:客户端在与服务器建立连接后,通过Socket对象获取输入输出流从而...原创 2019-11-07 19:21:35 · 6717 阅读 · 3 评论 -
Socket编程
Socket编程的步骤套接字使用TCP提供两台计算机之间的通信机制的基本思想:服务器端创建一个套接字,客户端创建一个Socket对象,并尝试连接服务器端的套接字,当连接建立时服务器端会创建一个Socket对象,从而客户端与服务器之间的通信通过Socket对象进行写入和读取操作。在Java中java.net.ServerSocket类就代表一个套接字,并且java.net.ServerSocket...原创 2019-11-06 22:45:19 · 183 阅读 · 0 评论 -
Java总结
java中有三种移为运算符<<:左移运算符,num<<1,相当于num除以2 >>:右移运算符,num>>1,相当于num乘以2 >>>:无符号右移,忽略符号位,空位都以0补齐泛型创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。 JVM如何理解泛型...原创 2019-08-24 21:38:25 · 115 阅读 · 0 评论 -
多线程(一)——概述
多进程与多线程本质区别:每个进程拥有自己的一整套变量,而线程则共享数据。共享变量使得线程之间的通信比进程之间更有效,更方便 线程:一个程序同时执行多个任务。通常,每一个任务就称为一个线程。与进程相比较,线程更“轻量级”。创建、撤销一个线程比启动一个新进程开销要小的多。没有进程就没有线程,进程一旦终止,其内的线程也将不复存在。 多线程表现在哪里呢?举两个例子,一个浏览器应用可以同时下载多个图片、...原创 2019-07-30 12:38:59 · 148 阅读 · 0 评论 -
多线程(二)——常用操作方法
线程命名与取得public Thread(Runnable target) //构造方法 public Thread(Runnable target,String name) //构造方法,创建线程的时候设置名称 public final synchronized void setName(String name) //设置线程名字 public final Strin...原创 2019-07-30 19:21:48 · 134 阅读 · 0 评论 -
多线程的简单应用
1.有一个南北走向的独木桥,南边有5人,北边有7人class Person extends Thread{ private Bridge bridge; //桥对象 String id; //人标识 public Person(String id,Bridge bridge){ this.id = id; this.bridge = bridge; } public...原创 2019-08-03 19:19:35 · 210 阅读 · 0 评论 -
JVM
JVM的概念虚拟机简介:JVM(Java Virtual Machine的简称。Java虚拟机) 虚拟机:指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机有:JVM、VMware、Virtual BoxJVM与其他两个虚拟机的区别:WMware与Virtual Box是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器 JVM则...原创 2019-08-04 13:35:01 · 125 阅读 · 0 评论 -
多线程(三)——多线程同步与死锁
关键步骤加锁限制互斥:某一个线程运行一个代码段(关键区),其他线程并不能同时运行这个代码段 同步:多个线程的运行,必须按照某一种规定的先后顺序来运行 互斥是同步的一种特例互斥的关键字是synchronizedsynchronized代码段/函数,只能提供线程进入 synchronized加大性能负担,但是使用简便采用volatile关键字修饰变量,保证不同线程对共享变量操作时的可见性...原创 2019-07-31 21:26:02 · 138 阅读 · 3 评论 -
Java最常见200+面试题
一、Java 基础JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等于多少? String 属于基础的数据类型吗? java 中操作字符串都有哪些类?它们之间有什么区别? Str...转载 2019-08-19 15:25:06 · 142 阅读 · 0 评论 -
解剖继承
class Person{ public Person(){ System.out.println(&amp;amp;quot;……Person类对象产生……&amp;amp;quot;); }}class Student extends Person{ public Student(){ super();//此语句在无参时写与不写都一样 System.out.printl...原创 2018-12-08 11:51:24 · 134 阅读 · 0 评论 -
switch
class Test{ public static void main(String[] args) { int i = 9; switch (i){ default: System.out.println(&quot;default&quot;); case 0: System...原创 2018-12-29 21:18:50 · 214 阅读 · 0 评论 -
JAVA异常与捕获
异常与捕获原创 2018-12-08 15:35:26 · 206 阅读 · 1 评论 -
多态
package 多态;//在同一个方法中,这种由于参数类型不同而导致执行效果各异的现象就是多态。继承是多态得以实现的基础//在JAVA中为了实现多态允许使用一个父亲类型的变量来引用一个子类类型的对像根据被引用子类对象特征的不同得到不同的结果interface Animal{&amp;amp;amp;nbsp;void shout();}class Cat implements Animal{&amp;amp;amp;nbsp;pu...原创 2018-11-11 14:10:52 · 168 阅读 · 0 评论 -
USB的接口
定义一个名为USB的接口interface USB{void turnOn();//启动void turnOff();//关闭}//鼠标class Mouse implements USB{public void turnOn(){System.out.println(“鼠标启动了!”);}public void turnOff(){System.out.println(“鼠...原创 2018-11-15 08:52:42 · 639 阅读 · 0 评论 -
String类和StringBuffer
## String类的初始化 public class Example01 { public static void main(String[] args){ String str1 = new String(); //创建一个空的字符串 String str2 = new String(&amp;amp;amp;amp;quot;abcd&amp;amp;amp;amp;quot;);原创 2018-11-15 09:18:47 · 233 阅读 · 0 评论 -
冲泡茶
方法1://冲泡咖啡类class Coffee{ //制作咖啡的流程(算法) void prepareRecipe(){ this.boilWater(); this.pourWaterIntoCup(); this.pourInCup(); this.addSugarAndMilk(); } ...原创 2018-11-18 21:09:08 · 260 阅读 · 0 评论 -
使用java.math.BigDecimal
public class DecimalDemo { public static void main(String[] args){ double a = 0.3; double b = 0.3; double c = 0.3; if((a + b + c) == 0.9){ System.out.println(&quot;等于0.9&quot;); }else{ System.o...原创 2018-11-23 18:45:02 · 734 阅读 · 0 评论 -
数组
**1:**取出数组中的每个值,有如下两种方法:方法1:使用for循环public class Test { public static void main(String[] args){ int [] scores = {89,90,91,92,93,94,95,96,97,98}; for(int i = 0;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;scores.length;++i){ System....原创 2018-11-23 20:37:42 · 171 阅读 · 0 评论 -
JAVA数据类型、关键字,标识符
public class Test { public static void main(String[] args){ int maxValue = Integer.MAX_VALUE; int minValue = Integer.MIN_VALUE; System.out.println(maxValue + 1);//-2147483648 System.out.prin...原创 2018-11-26 14:08:08 · 351 阅读 · 0 评论 -
static
public class Test { public static void main(String[] args){ //static 关键字 Person per1 = new Person(); per1.name = &amp;amp;amp;amp;amp;quot;Rose&amp;amp;amp;amp;amp;quot;; per1.age = 18; Pers原创 2018-11-28 18:18:48 · 574 阅读 · 0 评论 -
代码块
根据代码块出现的位置以及关键字分为:1.普通代码块(了解)定义在方法中的代码块2.构造快(重要)定义在类中的代码块(不加任何修饰符)在对象产生时,优先于构造方法执行,有几个对象产生,就调用几次构造快3.静态代码块非主类中的静态代码块在类加载时执行(啥时候用到这个类,不一定非要new才执行),优先于构造快执行,无论有多少对象产生,只调用一次主类中的静态代码块主类中的静态方法优先于...原创 2018-12-07 18:49:59 · 199 阅读 · 0 评论 -
关键字——final&super&this
class Person{ public String info = &quot;father&quot;;}class Student extends Person{ public String info = &quot;son&quot;; public void print(){ System.out.println(super.info); //如果使用super原创 2018-12-08 14:06:30 · 199 阅读 · 0 评论 -
方法重载与覆写
例:父类使用private定义的方法,子类中使用public覆写class Person{ public void fun(){ this.print(); } private void print(){ System.out.println("Person类的print()方法"); }}class Student exten...原创 2018-12-08 15:25:52 · 155 阅读 · 0 评论