媒体
1,java环境变量:
PATH:
.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 
CLASSPATH:
.;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
JAVA_HOME:
jdk安装路径
java运行原理:
Java应用程序 => Java API => Java虚拟机 => 操作系统 => 底层硬件
Java源文件 编译成class文件 运行
 
2,sleep方法和wait方法区别:
sleep方法是线程运行状态控制的问题,其来自于Thread类,没有释放锁,可以在任何地方使用,但必须捕获异常。
wait方法:是线程与线程之间的通讯问题,其来自于Object类,释放锁,只能在同步控制方式同步控制代码块中使用,不需要抛出异常。
 
3,StringBuffer与StringBuilder区别:
StringBuffer:是可变类,任何对他所指代的字符串的改变都不会产生新的对象。线程安全,适合多线程使用,效率低。
StringBuilder:线程不安全,适合单线程使用,效率高。
 
4,静态内部类,不能被访问外部类实例成员,只能访问内部类的静态成员。
局部内部类,只能访问方法中final修饰的局部变量。
匿名内部类,适合只使用一次的类,不能是抽象类,不能定义构造器,必须继承一个父类或者实现一个接口,但是最多只能一个父类或实现接口。
 
5,当前时间:
SimpleDate Fomat s = new SimpleDate Fomat("yyyy-m-d HH:mm:ss");
System.out.println(s.format(new Date()));

6,懒汉模式:
class Singleton{
  privorte static singleto a = null;
  publilc static Singleto getA(){
    if(a == null){
      a = new Singleton();
    }
    return a;
  }
  private Singleton(){}
}
 
7,遍历hashmap的方式:
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while(iter.hasNext()){
  map.Entry entry = (map.Entry)iter.next();
  Object key = entry.get key();
  Object val = entry.getValue();
}
第二种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while(iter.hasNext()){
  map.Entry entry = (map.Entry)iter.next();
  Object key = iter.next();
  Object val = map.get(key);
}
 
8,java中基本数据类型与其包装类:
基本数据类型 包装类
byte     Byte
short     Short
int      Integer
long     Long
char     Character
float     Float
double    Double
boolean    Boolean
 
9,将字符型转换成整形:
String str = "17";
int i = Integer.parseInt(str);
 
10,线程的生命周期:
开始==》就绪==》阻塞==》运行==》死亡
        《===返回===
 
10,简单的工厂模式:
interface Gongchang{
  void send Msg();
}
class A{
  public static Gongchang getInstance(String type){
    Gongchang g = null;
    if("htc".equalsgnose.Case(type)){
      ff = new HTC();
    }else if("iphone".equalsgnose.Case(type)){
      ff = new Iphone();
    }
    return p;
  }
}
 
11,查看某文挡下的内容:
File f = new File(文档路径);
FileReader r = new FileReader(f);
char [] c = new char(1024);
r.read();
 
下面是我自己做的模拟服务端和客户端:

import java.io.IOException;
import java.io.InputStream;
import java.net.*;
import java.util.Scanner;

public class Domefuwu {                              //服务端
  static Scanner sc = new Scanner(System.in);
  static Socket socket = null;
  static ServerSocket sever = null;
  public static void main(String[] args) {
    System.out.println("已经建立服务器");
    try {
      sever = new ServerSocket(7878);                  //新建一个端口,名为sever:7878
      while(true){
        socket = sever.accept();                     //监视端口sever
        System.out.println("已经和"+socket.getLocalAddress()+"建立聊天通道\n等待对方发言");
        duqu();                              //调用读取方法
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  private static void duqu() throws IOException {               //定义读取方法
    InputStream input = socket.getInputStream();
    byte[] bytes = new byte[1024];
    int len = 0;
    StringBuffer buffer = new StringBuffer();
    while((len = input.read(bytes)) != -1){
      buffer.append(new String(bytes,0,len));
    }
    input.close();
    System.out.println("对方发来消息"+buffer.toString());           //将读取到的消息输出
  }
}

package duankou;
import java.io.*;
import java.net.*;
import java.util.*;

public class Domekehu {                           //客户端
  static Scanner sc = new Scanner(System.in);
  static Socket socket = null;
  public static void main(String[] args) throws Exception {
    System.out.println("客户端正在尝试连接");
    try {
      socket = new Socket("127.0.0.1",7878);             //链接端口:7878
      try {
        fayan();                           //调用发言方法
      } catch (Exception e) {
        e.printStackTrace();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  private static void fayan() throws Exception {             //定义发言方法
    System.out.println("链接成功,请发言");
    String nei = sc.next();                      //输入并传输给服务端
    OutputStream output = socket.getOutputStream();
    output.write(nei.getBytes());
    output.close();
  }
}

一些java考过的测试题和自己制作模拟服务端和客户端的更多相关文章

  1. JAVA中Socket的用法模拟服务端和客户端

    <看透springMvc源代码分析与实践>学习笔记 Socket分为ServerSocket和Socket两个大类 ServerSocket用于服务端,可以通过accept方法监听请求,监 ...

  2. Java TCP服务端向客户端发送图片

    /** * 1.创建TCP服务端,TCP客户端 * 2.服务端等待客户端连接,客户端连接后,服务端向客户端写入图片 * 3.客户端收到后进行文件保存 * @author Administrator * ...

  3. [Java聊天室server]实战之五 读写循环(服务端)

    前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识,但学习之前,更 ...

  4. JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

    JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...

  5. java http post/get 服务端和客户端实现json传输

    注:本文来源于<java http post/get 服务端和客户端实现json传输> 最近需要写http post接口所以学习下. 总的还是不难直接上源码! PostHttpClient ...

  6. Java的oauth2.0 服务端与客户端的实现

    oauth原理简述 oauth本身不是技术,而是一项资源授权协议,重点是协议!Apache基金会提供了针对Java的oauth封装.我们做Java web项目想要实现oauth协议进行资源授权访问,直 ...

  7. 用Java实现HTTP Multipart的服务端和客户端

    今天简单介绍一下如何用Java支持HTTP Multipart的request和response. 整个项目的代码可以在https://github.com/mcai4gl2/multi下载. 在这个 ...

  8. java socket实现服务端,客户端简单网络通信。Chat

    之前写的实现简单网络通信的代码,有一些严重bug.后面详细写. 根据上次的代码,主要增加了用户注册,登录页面,以及实现了实时显示当前在登录状态的人数.并解决一些上次未发现的bug.(主要功能代码参见之 ...

  9. Java 断点下载(下载续传)服务端及客户端(Android)代码

    原文: Java 断点下载(下载续传)服务端及客户端(Android)代码 - Stars-One的杂货小窝 最近在研究断点下载(下载续传)的功能,此功能需要服务端和客户端进行对接编写,本篇也是记录一 ...

随机推荐

  1. C++小技巧之CONTAINING_RECORD

    CONTAINING_RECORD Containing record是一个在C++编程中用处很大的一种技巧,它的功能为已知结构体或类的某一成员.对象中该成员的地址以及这一结构体名或类名,从而得到该对 ...

  2. vue.js随笔记---初识Vue.js

    1.基础要求: 1.1 HTML CSS JAVASCRIPT 1.2 模块化基础 1.3 Es6初步了解 2.vue.js 轻量级的MVVM模式框架,他同时吸收了recat和angular的优点,他 ...

  3. 设计模式之“Observer”注疏#01

    原文首发于我的微信公众号:GeekArtT. Observer设计模式是为了解决"信息同步更新"的问题而存在的.它试图解决这样一个问题:如果有"一堆对象"都跟随 ...

  4. bzoj 3028: 食物 -- 母函数

    3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MB Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他 ...

  5. 编写一个简单的java服务器程序

    import java.net.*;import java.io.*; public class server{ ); //监听在80端口 Socket sock = server.accept(); ...

  6. 关于WebGIS开源解决方案的探讨(转载)

    1.背景 公司目前的多数项目采用的是ArcGIS产品+Oracle+WebLogic/Tomcat/APUSIC/WebShpere这样的架构.由于 公司从事的是政府项目,甲方单位普遍均采购有以上产品 ...

  7. Android计时器 android.widget.Chronometer

    说起做定时器,大家一般会想到Timer和Executors的定时器线程池,其实用这两个做都会有问题,在停止和重新计时时你回发现无法停止或者说计时加快(加快是因为多个线程在记录同一个变量),Androi ...

  8. Docker- 创建支持SSH服务的容器镜像

    示例 - CentOS7 [root@CentOS-7 ~]# cat ssh-centos7 FROM centos:centos7 MAINTAINER anliven "anliven ...

  9. git学习笔记之一

    Git是比较优秀的分布式版本管理工具,这次学习了git的基本命令,现在作一些归纳总结,已备复习之用. Git 认识 Git 直接用hash值记录提交的修改文件的快照,本地操作无需联网 Git 有三种状 ...

  10. (jquery+ajax)省市区三级联动(封装和不封装两种方式)-----2017-05-14

    首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国 ...